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

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