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

  1. 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.
  2. 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.
  3. 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
  4. 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