可以使用主管叢集中未使用的持續性磁碟區宣告 (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。

程序

  1. 記下主管叢集中原始 PVC 的名稱。
    如果要重複使用舊 Tanzu Kubernetes 叢集中的 PVC,可以從 Tanzu Kubernetes 叢集中舊 PV 物件的 volumeHandle 中擷取 PVC 名稱。
  2. 建立 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.
  3. 建立 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
  4. 確認 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