Skip to main content

Criar um PVC

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

Para verificar os detalhes do PVC, utilize o comando abaixo:

kubectl get pvc meu-pvc

NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE
meu-pvc Pending mgc-csi-magalu-sc <unset> 51s

Na Magalu Cloud, o tamanho mínimo de um PVC (spec.resources.requests.storage) é de 10Gi.

Atualmente, somente o Access Mode ReadWriteOnce é suportado.

Utilizar o PVC

Como o VolumeBindingMode da StorageClass padrão é WaitForFirstCustomer, o volume será criado somente quando um Pod que o utilize for criado.

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

Com o comando abaixo, podemos verificar que o PVC vinculado a um PersistentVolume (PV) com o campo Status: Bound:

kubectl get pvc meu-pvc

NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE
meu-pvc Bound pvc-3e35c607-17e8-4ef7-9720-77bfcf36ad5c 20Gi RWO mgc-csi-magalu-sc <unset> 90s

Após a utilização do PVC, um PersistentVolume (PV) é criado com o nome do valor do campo VOLUME do comando acima:

kubectl get pv pvc-3e35c607-17e8-4ef7-9720-77bfcf36ad5c

NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS VOLUMEATTRIBUTESCLASS REASON AGE
pvc-3e35c607-17e8-4ef7-9720-77bfcf36ad5c 20Gi RWO Retain Bound default/meu-pvc mgc-csi-magalu-sc <unset> 10s

Ver Detalhes do Volume

Com o ID do campo VOLUME do comando kubectl get pvc <pvc-name>, podemos verificá-lo na tela do serviço de Block Storage.