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

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

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

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

Procedimento

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