È possibile creare staticamente un volume di blocco in un cluster Tanzu Kubernetes utilizzando una richiesta volume persistente (PVC) inutilizzata dal Cluster supervisore.

La richiesta PVC deve soddisfare le seguenti condizioni:
  • Si trova nello stesso spazio dei nomi in cui risiede il cluster Tanzu Kubernetes.
  • Non è collegata a un Pod vSphere nel Cluster supervisore o a un pod in un cluster Tanzu Kubernetes.

Utilizzando il provisioning statico, è inoltre possibile riutilizzare in un nuovo cluster Tanzu Kubernetes una PVC che non è più necessaria per un altro cluster Tanzu Kubernetes. A tale scopo, modificare il Reclaim policy del volume persistente (PV) nel cluster Tanzu Kubernetes originale in Retain, quindi eliminare la PVC corrispondente.

Eseguire questi passaggi per creare staticamente una PVC in un nuovo cluster Tanzu Kubernetes utilizzando le informazioni del volume sottostante residuo.

Procedura

  1. Prendere nota del nome della PVC originale nel Cluster supervisore.
    Se si riutilizza la PVC da un cluster Tanzu Kubernetes precedente, è possibile recuperare il nome della PVC dal volumeHandle dell'oggetto PV precedente nel cluster Tanzu Kubernetes.
  2. Creare un PV.
    Nel file YAML specificare i valori dei seguenti elementi:
    • Per storageClassName, è possibile immettere il nome della classe di storage utilizzato dalla PVC nel Cluster supervisore.
    • Per volumeHandle, immettere il nome della PVC ottenuta nel Passaggio 1.
    Se si sta riutilizzando un volume da un altro cluster Tanzu Kubernetes, eliminare gli oggetti PVC e PV dal cluster Tanzu Kubernetes precedente prima di creare un pv nel nuovo cluster Tanzu Kubernetes.
    Utilizzare il seguente manifesto YAML come esempio.
    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. Creare una PVC corrispondente all'oggetto PV creato nel Passaggio 2.
    Impostare il storageClassName sullo stesso valore del PV.
    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. Verificare che la PVC sia associata al PV creato.
    $ 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