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