k8s-存儲pv和pvc-7

      網友投稿 716 2025-04-02

      k8s-存儲pv和pvc-7

      1.概述

      PersistentVolume(一些簡稱PV):由管理員添加的的一個存儲的描述,是一個全局資源,包含存儲的類型,存儲的大小和訪問模式等。它的生命周期獨立于Pod,例如當使用它的Pod銷毀時對PV沒有影響。

      PersistentVolumeClaim(一些簡稱PVC):是Namespace里的資源,描述對PV的一個請求。請求信息包含存儲大小,訪問模式等。

      2.創建nfs存儲

      pv存儲數據類型有很多種,這類選擇了nfs存儲。所以我們先安裝nfs服務。

      NFS 服務需要依賴 RPC 服務,所以這里 NFS 服務端需要安裝 rpcbind 和 nfs-utils,客戶端只需要安裝 nfs-utils

      # 服務端安裝,提供nfs存儲的節點為服務端,例如master節點 yum install -y nfs-utils rpcbind #客戶端安裝,訪問nfs服務存儲節點為客戶端,例如node節點 yum install -y nfs-utils

      1

      2

      3

      4

      k8s-存儲pv和pvc-7

      我們在服務端創建一個共享目錄 /data/share ,作為客戶端掛載的遠端入口,然后設置權限。

      mkdir -p /data/share chmod 777 /data/share

      1

      2

      然后,修改 NFS 配置文件 /etc/exports

      vim /etc/exports # 配置內容 /data/share 172.16.8.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)

      1

      2

      3

      配置文件內容說明

      此處,我配置了將 /data/share 文件目錄設置為允許 IP 為該 172.16.8.0/24 區間的客戶端掛載,(注意這個IP地址范圍要改成你當前nfs服務所在主機的ip地址)當然,如果客戶端 IP 不在該區間也想要掛載的話,可以設置 IP 區間更大或者設置為 * 即允許所有客戶端掛載,例如:/home *(ro,sync,insecure,no_root_squash) 設置 /home 目錄允許所有客戶端只讀掛載。

      重啟nfs服務

      systemctl restart rpcbind systemctl restart nfs

      1

      2

      測試nfs

      在另一個node節點測試是否可以正常掛在nfs服務

      #注意這個IP地址不是隨便寫的,他是上面部署nfs服務節點的IP地址 showmount -e 172.16.8.111

      1

      2

      3.創建pv

      #在nfs共享目錄下創建一個目錄存放pv配置 cd /data/share/ mkdir volume # 創建pv配置文件 vim t1_pv.yaml

      1

      2

      3

      4

      5

      pv配置文件說明

      apiVersion: v1 #資源版本 kind: PersistentVolume #資源類型是pv metadata: name: test #pv資源名稱 labels: type: test #資源標簽 spec: capacity: storage: 10Gi # pv 提供最大的存儲 accessModes: - ReadWriteMany # pv訪問模式,允許多人同時讀寫 persistentVolumeReclaimPolicy: Recycle #pvc回收策略,允許回收 nfs: #pv 存儲類型是nfs path: "/data/share" # nfs數據存儲路徑 server: 10.0.0.11 #nfs服務地址 readOnly: false # nfs 掛在是否只讀,否

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      kubectl create -f t1_pv.yaml

      1

      查看pv狀態

      kubectl get pv

      1

      4.創建pvc

      vim t1_pvc.yaml

      1

      apiVersion: v1 kind: PersistentVolumeClaim #資源類型是pvc metadata: name: nfs #pvc名稱 spec: accessModes: - ReadWriteMany #pvc訪問模式:多人同時訪問 resources: requests: #pvc需求資源 storage: 1Gi # pvc需要1G存儲空間

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      # 啟動pvc kubectl create -f t1_pvc.yaml

      1

      2

      查看pvc狀態

      kubectl get pvc

      1

      pvc綁定到名稱test的pv上

      5.持久化存儲應用到項目

      前面我們創建了pv和pvc,他們的作用就是用來做持久化存儲。例如一個部署到k8s的項目,分別有一個tomcat業務pod和mysql數據庫pod,當mysql的pod重啟后,存儲在mysql中的數據也隨著pod的銷毀而消失,這個時候我們需要將mysql中的數據持久化存儲,不受pod創建和銷毀影響。

      # 編輯mysql rc文件,添加pvc vim mysql-rc-pvc.yml

      1

      2

      文件配置說明

      apiVersion: v1 kind: ReplicationController metadata: name: mysql spec: replicas: 1 selector: app: mysql template: metadata: labels: app: mysql spec: containers: - name: mysql image: 10.0.0.11:5000/mysql:5.7 ports: - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD value: '123456' volumeMounts: #掛載一個目錄 - name: data # 定義目錄的名稱 mountPath: /var/lib/mysql #目錄的路徑 volumes: #使用掛載的目錄 - name: data #這個名稱必須和上面volumeMounts名稱一致 persistentVolumeClaim: #pvc配置 claimName: nfs # pvc的名稱是我們創建好的pvc名稱

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      kubectl create -f mysql-rc-pvc.yaml

      1

      啟動pod后,查看nfs的共享目錄下已經有mysql的數據。

      MySQL

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:wps字數統計在哪里
      下一篇:wps表格頁邊距設置多少(wps表格頁邊距在哪里設置)
      相關文章
      亚洲欧美日韩中文高清www777| 亚洲欧洲av综合色无码| 亚洲制服在线观看| 亚洲国产女人aaa毛片在线| 国产亚洲精品xxx| 亚洲中文字幕无码不卡电影 | 亚洲乱人伦中文字幕无码| 精品亚洲成在人线AV无码| 国产亚洲精久久久久久无码AV| 亚洲啪啪免费视频| 亚洲色图综合在线| 亚洲国产中文在线二区三区免| 亚洲日本va中文字幕久久| 亚洲经典千人经典日产| 亚洲毛片基地日韩毛片基地| 亚洲性在线看高清h片| 久久亚洲AV成人无码国产电影| 亚洲黄色在线视频| 亚洲人成色77777| 亚洲国产精品第一区二区三区| 亚洲粉嫩美白在线| 亚洲一本之道高清乱码| 久久精品国产亚洲AV麻豆不卡| 中文字幕在亚洲第一在线| 国产成人精品久久亚洲高清不卡| 亚洲六月丁香婷婷综合| 亚洲毛片一级带毛片基地| 亚洲激情视频在线观看| 亚洲精品无码成人| 亚洲毛片基地日韩毛片基地| 亚洲AV无码一区二区三区牛牛| 亚洲人成网亚洲欧洲无码| 久久水蜜桃亚洲AV无码精品| 亚洲人成无码网站久久99热国产| 国产亚洲精品自在线观看| 亚洲AV无码专区国产乱码4SE| 久久丫精品国产亚洲av不卡| 亚洲乱码一二三四区国产| 亚洲GV天堂无码男同在线观看| 亚洲国产成人VA在线观看| 亚洲精品卡2卡3卡4卡5卡区|