È possibile creare staticamente un volume di blocco in un cluster Tanzu Kubernetes Grid utilizzando una richiesta volume persistente (PVC) da Supervisore.

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

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

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

Procedura

  1. Prendere nota del nome della PVC originale nel Supervisore.
    Se si riutilizza la PVC da un cluster Tanzu Kubernetes Grid precedente, è possibile recuperare il nome della PVC dal volumeHandle dell'oggetto PV precedente nel cluster Tanzu Kubernetes Grid.
  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 Supervisore.
    • Per volumeHandle, immettere il nome della PVC ottenuta nel Passaggio 1.
    Se si sta riutilizzando un volume da un altro cluster Tanzu Kubernetes Grid, eliminare gli oggetti PVC e PV dal cluster Tanzu Kubernetes Grid precedente prima di creare un pv nel nuovo cluster Tanzu Kubernetes Grid.
    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.
  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