可設定狀態的應用程式 (例如資料庫) 會儲存工作階段之間的資料,並且需要持續性儲存區來儲存資料。保留的資料稱為應用程式的狀態。您之後可以擷取該資料,並在下一個工作階段中使用資料。Kubernetes 提供持續性磁碟區做為能夠保留其狀態和資料的物件。
在 vSphere 環境中,持續性磁碟區物件由資料存放區上的虛擬磁碟提供支援。資料存放區由儲存區原則表示。當 vSphere 管理員建立儲存區原則 (例如 gold) 並將其指派給 主管 中的命名空間後,儲存區原則會在 vSphere 命名空間 和任何可用的 TKG 叢集中顯示為相符的 Kubernetes 儲存區類別。
做為 DevOps 工程師,您可以在持續性磁碟區宣告規格中使用此儲存區類別。然後,您可以從持續性磁碟區宣告部署使用該儲存區的應用程式。在此範例中,會動態建立應用程式的持續性磁碟區。
必要條件
確保您的 vSphere 管理員已建立適當的儲存區原則,並且已將原則指派給命名空間。
程序
- 在 vSphere Kubernetes 環境中存取您的命名空間。
- 確認儲存區類別可供使用。
- 建立持續性磁碟區宣告。
- 建立包含持續性磁碟區宣告組態的 YAML 檔案。
在此範例中,檔案會參考 金級儲存區類別。若要佈建 ReadWriteMany 持續性磁碟區,請將
accessModes
設定為ReadWriteMany
。apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc spec: accessModes: - ReadWriteOnce storageClassName: gold resources: requests: storage: 3Gi
- 將持續性磁碟區宣告套用至 TKG 叢集。
kubectl apply -f pvc_name.yaml
此命令會動態建立 Kubernetes 持續性磁碟區和 vSphere 磁碟區,該磁碟區具有滿足宣告儲存區需求的支援虛擬磁碟。 - 檢查持續性磁碟區宣告的狀態。
kubectl get pvc my-pvc
輸出顯示磁碟區已繫結到持續性磁碟區宣告。
NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE my-pvc Bound my-pvc 2Gi RWO gold 30s
- 建立包含持續性磁碟區宣告組態的 YAML 檔案。
- 建立掛接持續性磁碟區的網繭。
- 建立包含持續性磁碟區的 YAML 檔案。
此檔案包含這些參數。
... volumes: - name: my-pvc persistentVolumeClaim: claimName: my-pvc
- 從 YAML 檔案部署網繭。
kubectl create -f pv_pod_name.yaml
- 確認已建立網繭。
kubectl get pod
NAME READY STATUS RESTARTS AGE pod_name 1/1 Ready 0 40s
- 建立包含持續性磁碟區的 YAML 檔案。
結果
您設定的網繭會使用持續性磁碟區宣告中所述的持續性儲存區。