Sie können ein Block-Volume statisch in einem TKG-Dienst-Cluster mithilfe einer nicht verwendeten 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 TKG-Cluster befindet.
- Die PVC ist noch nicht an einen Pod in einem TKG-Cluster oder an einen vSphere Pod in Supervisor angehängt.
Mit der statischen Bereitstellung können Sie eine PVC, die von einem anderen TKG-Cluster nicht mehr benötigt wird, auch in einem neuen TKG-Cluster wiederverwenden. Ändern Sie dazu die Reclaim policy
des persistenten Volumes (PV) im ursprünglichen TKG-Cluster in Retain
, und löschen Sie dann die entsprechende PVC.
Führen Sie die folgenden Schritte aus, um eine PVC in einem neuen TKG-Cluster statisch zu erstellen. Verwenden Sie dazu die Informationen aus dem übrig gebliebenen zugrunde liegenden Volume.
Prozedur
- Notieren Sie sich den Namen der ursprünglichen PVC im Supervisor.
Wenn Sie die PVC von einem alten TKG-Cluster wiederverwenden, können Sie den PVC-Namen des
volumeHandle des alten PV-Objekts im TKG-Cluster 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 abgerufen haben.
Wenn Sie ein Volume von einem anderen TKG-Cluster wiederverwenden, löschen Sie die PVC- und PV-Objekte aus dem alten TKG-Cluster, bevor Sie ein PV im neuen TKG-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, die dem von Ihnen 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