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