可以使用主管叢集中未使用的持續性磁碟區宣告 (PVC) 在 Tanzu Kubernetes 叢集中靜態建立區塊磁碟區。
PVC 必須滿足下列條件:
- PVC 存在於 Tanzu Kubernetes 叢集所在的同一命名空間中。
- PVC 未連結到主管叢集中的 vSphere 網繭 或任何 Tanzu Kubernetes 叢集中的 Pod。
透過使用靜態佈建,還可以在新的 Tanzu Kubernetes 叢集中重複使用其他 Tanzu Kubernetes 叢集不再需要的 PVC。為此,需要將原始 Tanzu Kubernetes 叢集中持續性磁碟區 (PV) 的 Reclaim policy
變更為 Retain
,然後刪除對應的 PVC。
請遵循下列步驟,使用存留基礎磁碟區中的資訊在新的 Tanzu Kubernetes 叢集中靜態建立 PVC。
程序
- 記下主管叢集中原始 PVC 的名稱。
如果要重複使用舊
Tanzu Kubernetes 叢集中的 PVC,可以從
Tanzu Kubernetes 叢集中舊 PV 物件的
volumeHandle 中擷取 PVC 名稱。
- 建立 PV。
在 YAML 檔案中,指定以下項目的值:
- 對於 storageClassName,可以輸入主管叢集中的 PVC 所使用的儲存區類別名稱。
- 對於 volumeHandle,請輸入在步驟 1 中取得的 PVC 名稱。
如果要重複使用其他
Tanzu Kubernetes 叢集中的磁碟區,請先從舊
Tanzu Kubernetes 叢集刪除 PVC 和 PV 物件,然後在新的
Tanzu Kubernetes 叢集中建立 PV。
將以下 YAML 資訊清單用作範例。
apiVersion: v1
kind: PersistentVolume
metadata:
name: static-tkg-block-pv
annotations:
pv.kubernetes.io/provisioned-by: csi.vsphere.vmware.com
spec:
storageClassName: gc-storage-profile
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
claimRef:
namespace: default
name: static-tkg-block-pvc
csi:
driver: "csi.vsphere.vmware.com"
volumeAttributes:
type: "vSphere CNS Block Volume"
volumeHandle: "supervisor-block-pvc-name" # Enter the PVC name from the Supervisor cluster.
- 建立 PVC,以與步驟 2 中建立的 PV 物件相符。
將
storageClassName 設定為與 PV 中相同的值。
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: static-tkg-block-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
storageClassName: gc-storage-profile
volumeName: static-tkg-block-pv
- 確認 PVC 已繫結到已建立的 PV。
$ kubectl get pv,pvc
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
persistentvolume/static-tkg-block-pv 2Gi RWO Delete Bound default/static-tkg-block-pvc gc-storage-profile 10s
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/static-tkg-block-pvc Bound static-tkg-block-pv 2Gi RWO gc-storage-profile 10s