Sie können ein Block-Volume statisch in einem Tanzu Kubernetes-Cluster mithilfe einer nicht verwendeten Beanspruchung eines persistenten Volumes (Persistent Volume Claim, PVC) im Supervisor-Cluster erstellen.
Die PVC muss die folgenden Bedingungen erfüllen:
- Die PVC ist in demselben Namespace vorhanden, in dem sich der Tanzu Kubernetes-Cluster befindet.
- Die PVC ist nicht mit einem vSphere Pod im Supervisor-Cluster oder einem Pod in einem anderen Tanzu Kubernetes-Cluster verbunden.
Mit der statischen Bereitstellung können Sie auch eine PVC, der von einem anderen Tanzu Kubernetes-Cluster nicht mehr benötigt wird, in einem neuen Tanzu Kubernetes-Cluster wiederverwenden. Ändern Sie dazu die Reclaim policy
des persistenten Volumes (PV) im ursprünglichen Tanzu Kubernetes-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-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-Cluster.
Wenn Sie die PVC von einem alten
Tanzu Kubernetes-Cluster wiederverwenden, können Sie den PVC-Namen des
volumeHandle des alten PV-Objekts im
Tanzu Kubernetes 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-Cluster 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-Cluster wiederverwenden, löschen Sie die PVC- und PV-Objekte aus dem alten
Tanzu Kubernetes-Cluster, bevor Sie ein PV im neuen
Tanzu Kubernetes-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 cluster.
- 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