Sie können ein Block-Volume statisch in einem Tanzu Kubernetes Grid-Cluster mithilfe einer Beanspruchung eines persistenten Volumes (Persistent Volume Claim, PVC) im Supervisor erstellen.
Die PVC muss die folgenden Bedingungen erfüllen:
- Die PVC ist in demselben Namespace vorhanden, in dem sich der Tanzu Kubernetes Grid-Cluster befindet.
- Die PVC ist nicht mit einem vSphere Pod im Supervisor oder einem Pod in einem anderen Tanzu Kubernetes Grid-Cluster verbunden.
Mit der statischen Bereitstellung können Sie auch eine PVC, der von einem anderen Tanzu Kubernetes Grid-Cluster nicht mehr benötigt wird, in einem neuen Tanzu Kubernetes Grid-Cluster wiederverwenden. Ändern Sie dazu die Reclaim policy
des persistenten Volumes (PV) im ursprünglichen Tanzu Kubernetes Grid-Cluster in Retain
und löschen Sie dann die entsprechende PVC.
Führen Sie die folgenden Schritte aus, um eine PVC in einem neuen Tanzu Kubernetes Grid-Cluster statisch zu erstellen, indem Sie die Informationen aus dem übrig gebliebenen zugrunde liegenden Volume verwenden.
Prozedur
- Notieren Sie sich den Namen der ursprünglichen PVC im Supervisor.
Wenn Sie die PVC von einem alten
Tanzu Kubernetes Grid-Cluster wiederverwenden, können Sie den PVC-Namen des
volumeHandle des alten PV-Objekts im
Tanzu Kubernetes Grid abrufen.
- Erstellen Sie ein PV.
Geben Sie in der YAML-Datei die Werte der folgenden Elemente an:
- Für storageClassName können Sie den Namen der Speicherklasse eingeben, der von Ihrer PVC im Supervisor verwendet wird.
- Geben Sie für volumeHandle den PVC-Namen ein, den Sie in Schritt 1 abgerufen haben.
Wenn Sie ein Volume von einem anderen
Tanzu Kubernetes Grid-Cluster wiederverwenden, löschen Sie die PVC- und PV-Objekte aus dem alten
Tanzu Kubernetes Grid-Cluster, bevor Sie ein PV im neuen
Tanzu Kubernetes Grid-Cluster erstellen.
Verwenden Sie das folgende YAML-Manifest als Beispiel.
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.
- Erstellen Sie eine PVC, das dem in Schritt 2 erstellten PV-Objekt entspricht.
Legen Sie für
storageClassName denselben Wert wie im PV fest.
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
- Stellen Sie sicher, dass die PVC an das von Ihnen erstellte PV gebunden ist.
$ 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