Skip to main content

Redimensionar um PVC

No produto de Kubernetes da Magalu Cloud é possível realizar o redimensionamento do tamanho de um volume utilizado por um PersistentVolumeClaim (PVC).

Somente é possível redimensionar um PVC para um tamanho maior. Não é possível diminuir o tamanho do volume.

Com acesso ao Cluster, utilize o comando abaixo para criar um PersistentVolumeClaim (PVC).

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: meu-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
storageClassName: mgc-csi-magalu-sc
EOF

Com o comando abaixo, crie um Pod que utilizará o PVC criado acima:

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Pod
metadata:
name: pod-com-pvc
spec:
volumes:
- name: meu-pvc
persistentVolumeClaim:
claimName: meu-pvc
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
volumeMounts:
- mountPath: /usr/share/nginx/html
name: meu-pvc
EOF

Verifique o tamanho do volume montado no Pod:

kubectl exec -ti pod-com-pvc -- df -h | grep nginx  

/dev/vdb 20G 2.1M 20G 1% /usr/share/nginx/html

Para redimensioná-lo para 40GB, atualize o o campo spec.resources.requests.storage para 40Gi:

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: meu-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 40Gi
storageClassName: mgc-csi-magalu-sc
EOF

O volume no serviço de Block Storage da Magalu Cloud será redimensionado e o novo tamanho estará automaticamente disponível ao Pod. Essa operação pode demorar alguns minutos.

Verifique o novo tamanho do PVC (campo CAPACITY):

kubectl get pvc -w

NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE
meu-pvc Bound pvc-d7029358-ffe9-4d12-b90a-d75fa218af15 40Gi RWO mgc-csi-magalu-sc <unset> 3m28s

E, no Pod, verifique o novo tamanho do volume montado:

kubectl exec -ti pod-com-pvc -- df -h | grep nginx  

/dev/vdb 40G 2.1M 40G 1% /usr/share/nginx/html