スーパーバイザー クラスタ から未使用のパーシステント ボリューム要求 (PVC) を使用して、Tanzu Kubernetes クラスタ内にブロック ボリュームを静的に作成することができます。

PVC は次の条件を満たす必要があります。
  • PVC は Tanzu Kubernetes クラスタが配置されている名前空間内に存在します。
  • PVC は スーパーバイザー クラスタvSphere ポッド または Tanzu Kubernetes クラスタ内のポッドに接続されていません。

静的プロビジョニングを使用すると、別の Tanzu Kubernetes クラスタで不要になった PVC を新しい Tanzu Kubernetes クラスタで再利用することもできます。再利用するには、元の Tanzu Kubernetes クラスタ内のパーシステント ボリューム (PV) の Reclaim policyRetain に変更して、対応する PV を削除します。

次の手順に従って、残りの基盤となるボリュームの情報を使用して新しい 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 クラスタで PV を作成する前に、古い Tanzu Kubernetes クラスタから 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 cluster.
  3. 手順 2 で作成した PV オブジェクトと一致する 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. 作成した 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