Você pode criar estaticamente um volume de bloco em um cluster Tanzu Kubernetes usando uma declaração de volume persistente não utilizada (PVC) do Supervisor Cluster.

O PVC deve satisfazer as seguintes condições:
  • O PVC está presente no mesmo namespace em que o cluster Tanzu Kubernetes reside.
  • O PVC não está anexado a um vSphere Pod no Supervisor Cluster ou a um pod em qualquer cluster do Tanzu Kubernetes.

Usando o provisionamento estático, você também pode reutilizar em um novo cluster Tanzu Kubernetes um PVC que não é mais necessário por outro cluster Tanzu Kubernetes. Para fazer isso, altere o Reclaim policy do volume persistente (PV) no cluster Tanzu Kubernetes original para Retain e, em seguida, exclua o PVC correspondente.

Siga estas etapas para criar estaticamente um PVC em um novo cluster Tanzu Kubernetes usando as informações do volume subjacente restante.

Procedimento

  1. Anote o nome do PVC original no Supervisor Cluster.
    Se você estiver reutilizando o PVC de um cluster Tanzu Kubernetes antigo, poderá recuperar o nome do PVC do volumeHandle do objeto PV antigo no cluster Tanzu Kubernetes.
  2. Crie um PV.
    No arquivo YAML, especifique os valores dos seguintes itens:
    • Para storageClassName, você pode inserir o nome da classe de armazenamento que é usado pelo seu PVC no Supervisor Cluster.
    • Para volumeHandle, insira o nome do PVC obtido na Etapa 1 .
    Se você estiver reutilizando um volume de outro cluster Tanzu Kubernetes, exclua os objetos PVC e PV do cluster Tanzu Kubernetes antigo antes de criar um PV no novo cluster Tanzu Kubernetes.
    Use o seguinte manifesto YAML como exemplo.
    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. Crie um PVC para corresponder ao objeto PV que você criou na Etapa 2.
    Defina o storageClassName com o mesmo valor do 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. Verifique se o PVC está vinculado ao PV que você criou.
    $ 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