スーパーバイザー からパーシステント ボリューム要求 (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