감독자의 PVC(영구 볼륨 할당)를 사용하여 Tanzu Kubernetes Grid 클러스터에서 블록 볼륨을 정적으로 생성할 수 있습니다.

PVC는 다음 조건을 충족해야 합니다.
  • PVC는 Tanzu Kubernetes Grid 클러스터가 상주하는 동일한 네임스페이스에 있습니다.
  • PVC는 감독자vSphere 포드 또는 다른 Tanzu Kubernetes Grid 클러스터의 포드에 연결되어 있지 않습니다.

정적 프로비저닝을 사용하면 다른 Tanzu Kubernetes Grid 호스트에 더 이상 필요하지 않은 PVC를 새 Tanzu Kubernetes Grid 클러스터에서 재사용할 수 있습니다. 이렇게 하려면 원래 Tanzu Kubernetes Grid 클러스터에서 PV(영구 볼륨)의 Reclaim policyRetain으로 변경한 후 해당 PVC를 삭제합니다.

다음 단계에 따라 남은 기본 볼륨의 정보를 사용하여 새 Tanzu Kubernetes Grid 클러스터에 PVC를 정적으로 생성합니다.

프로시저

  1. 감독자의 원래 PVC 이름을 기록해둡니다.
    이전 Tanzu Kubernetes Grid 클러스터의 PVC를 재사용하는 경우 Tanzu Kubernetes Grid 클러스터에 있는 이전 PV 개체의 volumeHandle에서 PVC 이름을 검색할 수 있습니다.
  2. PV를 생성합니다.
    YAML 파일에서 다음 항목의 값을 지정합니다.
    • storageClassName의 경우 감독자에서 PVC에 사용되는 스토리지 클래스 이름을 입력합니다.
    • volumeHandle의 경우 1단계에서 얻은 PVC 이름을 입력합니다.
    다른 Tanzu Kubernetes Grid 클러스터의 볼륨을 재사용하는 경우에는 새 Tanzu Kubernetes Grid 클러스터에 PV를 생성하기 전에 이전 Tanzu Kubernetes Grid 클러스터에서 PVC 및 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." 
  3. 단계 2에서 생성한 PV 개체와 매칭할 PVC를 생성합니다.
    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. 생성한 PV에 PVC가 바인딩되었는지 확인합니다.
    $ 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