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
- 🖥️ Console
- >_ CLI
Com o ID do campo VOLUME do comando kubectl get pvc <pvc-name>, podemos verificá-lo na tela do serviço de Block Storage.
É possível verificar o ID do volume criado no serviço de Block Storage da Magalu Cloud à partir do PV:
kubectl get pv pvc-3e35c607-17e8-4ef7-9720-77bfcf36ad5c -o custom-columns=NAME:.metadata.name,BLOCK-STORAGE-ID:".spec.csi.volumeHandle"
NAME BLOCK-STORAGE-ID
pvc-3e35c607-17e8-4ef7-9720-77bfcf36ad5c 19da4417-cff5-49f3-9983-c3da061e42ae
Com o valor do campo BLOCK-STORAGE-ID, é possível verificar os detalhes do volume criado pelo serviço de Block Storage da Magalu Cloud:
mgc block-storage volumes get 19da4417-cff5-49f3-9983-c3da061e42ae