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

パーシステント ボリュームの定義

次に、静的パーシステント ボリューム (PV) の定義の例を示します。定義には、ストレージ クラスとボリューム ハンドルが必要です。volumeHandle は、ターゲット TKG クラスタがプロビジョニングされているものと同じ vSphere 名前空間スーパーバイザー に作成されたパーシステント ボリューム要求 (PVC) の名前です。この PVC は、どのポッドにも接続しません。

storageClassName を取得するには、次のコマンドを使用します。
kubectl get storageclass
volumeHandle で、 スーパーバイザー での PVC の名前を入力します。
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 Supervisor.
次の手順を使用して PV を作成します。
kubectl apply -f redis-leader-pvc.yaml -n guestbook

静的に定義された 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
作成した PV に PVC がバインドされていることを確認します。
kubectl get pv,pvc