NFS PersistentVolume - 每天5分鍾玩轉 Docker 容器技術(151)


上一節我們介紹了 PV 和 PVC,本節通過 NFS 實踐。

作為准備工作,我們已經在 k8s-master 節點上搭建了一個 NFS 服務器,目錄為 /nfsdata

下面創建一個 PV mypv1,配置文件 nfs-pv1.yml 如下:

① capacity 指定 PV 的容量為 1G。

② accessModes 指定訪問模式為 ReadWriteOnce,支持的訪問模式有:
ReadWriteOnce – PV 能以 read-write 模式 mount 到單個節點。
ReadOnlyMany – PV 能以 read-only 模式 mount 到多個節點。
ReadWriteMany – PV 能以 read-write 模式 mount 到多個節點。

③ persistentVolumeReclaimPolicy 指定當 PV 的回收策略為 Recycle,支持的策略有:
Retain – 需要管理員手工回收。
Recycle – 清除 PV 中的數據,效果相當於執行 
rm -rf /thevolume/*
Delete – 刪除 Storage Provider 上的對應存儲資源,例如 AWS EBS、GCE PD、Azure Disk、OpenStack Cinder Volume 等。

④ storageClassName 指定 PV 的 class 為 nfs。相當於為 PV 設置了一個分類,PVC 可以指定 class 申請相應 class 的 PV。

⑤ 指定 PV 在 NFS 服務器上對應的目錄。

創建 mypv1

STATUS 為 Available,表示 mypv1 就緒,可以被 PVC 申請。

接下來創建 PVC mypvc1,配置文件 nfs-pvc1.yml 如下:

PVC 就很簡單了,只需要指定 PV 的容量,訪問模式和 class。

創建 mypvc1

從 kubectl get pvc 和 kubectl get pv 的輸出可以看到 mypvc1 已經 Bound 到 mypv1,申請成功。

接下來就可以在 Pod 中使用存儲了,Pod 配置文件 pod1.yml 如下:

與使用普通 Volume 的格式類似,在 volumes 中通過 persistentVolumeClaim 指定使用 mypvc1 申請的 Volume。

創建 mypod1

驗證 PV 是否可用:

可見,在 Pod 中創建的文件 /mydata/hello 確實已經保存到了 NFS 服務器目錄 /nfsdata/pv1 中。

如果不再需要使用 PV,可用刪除 PVC 回收 PV,下節我們詳細討論。

書籍:

1.《每天5分鍾玩轉Kubernetes》
https://item.jd.com/26225745440.html

2.《每天5分鍾玩轉Docker容器技術》
https://item.jd.com/16936307278.html

3.《每天5分鍾玩轉OpenStack》
https://item.jd.com/12086376.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM