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

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