Problemas de armazenamento/PVC
Quais são os problemas de armazenamento/PVC?
Problemas de armazenamento ou de Persistent Volume Claim (PVC) ocorrem quando um Pod não consegue anexar ou montar o volume de armazenamento necessário. Como resultado, o Pod permanece no estado ContainerCreating ou exibe erros AttachVolume ou MountVolume.
Dica: Se o PVC estiver pendente ou não estiver vinculado, o Pod não poderá montar o volume e não iniciará.
Sintomas
- O pod ficou preso no processo de criação do contêiner.
- Erros de AttachVolume ou MountVolume.
- O volume persistente não pode ser anexado ou montado.
- O aplicativo não inicia devido à falta de espaço de armazenamento.
Causas comuns
| Causa | Descrição |
|---|---|
| Classe de armazenamento ausente ou incorreta | Nenhuma classe de armazenamento válida está disponível para provisionamento dinâmico. |
| Falha no driver CSI | O driver de armazenamento está indisponível ou não está funcionando corretamente. |
| Volume persistente (PV) não vinculado | O PVC não está vinculado a um PV. |
| Problema de permissão de volume | Permissões de sistema de arquivos ou de acesso impedem a montagem. |
| Armazenamento insuficiente | Não há armazenamento disponível para atender à solicitação do PVC. |
| Problema de disco do nó | O nó de trabalho não pode anexar ou montar o volume. |
Como diagnosticar
- Verificar o estado do PVC e do PV
kubectl get pvc,pv -n <namespace>
Saída esperada:
NAME STATUS VOLUME
data-pvc Bound pvc-12345
Se o status do PVC não for Bound, o Pod permanecerá em Criação de Contêiner.
- Descreva o PVC
kubectl describe pvc <nome-do-pvc> -n <namespace>
Verifique eventos como:
- O provisionamento falhou
- Aguardando o primeiro consumidor
- Não há volumes persistentes disponíveis.
- Falha ao vincular o volume
- Verifique a classe de armazenamento (StorageClass).
kubectl get storageclass
Certifique-se de que o PVC faça referência a uma StorageClass válida.
- Verifique o driver CSI
kubectl get pods -n <csi-namespace>
Verifique se os Pods do driver CSI estão em execução.
- Verificar eventos de disco e volume do nó
kubectl describe node <nome-do-nó>
Analise os eventos do nó em busca de erros de conexão de disco, montagem ou volume.
Como consertar
- Corrija a configuração da StorageClass ou do Provisioner.
- Certifique-se de que o Volume Persistente (PV) exista e esteja vinculado (bound).
- Verifique se os Pods do driver CSI estão íntegros.
- Resolva problemas de permissão de disco ou arquivo do nó.
- Recrie o PVC se ele estiver corrompido (após fazer um backup).
- Verifique se há capacidade de armazenamento suficiente disponível.
Comandos importantes
kubectl get pvc -n <namespace>
kubectl get pv
kubectl describe pvc <nome-do-pvc>
kubectl get storageclass
kubectl get pods -n kube-system
kubectl describe node <nome-do-nó>
Pontos-chave
PVC = Pending → O armazenamento ainda não está disponível.
PVC = Bound, mas o Pod está preso em ContainerCreating → Verifique o driver CSI, o disco do nó ou erros de montagem de volume.
Erros de AttachVolume/MountVolume → Geralmente indicam problemas com o driver CSI, StorageClass, permissões ou armazenamento do nó.
Sempre revise a seção Eventos dokubectl describe pvcekubectl describe podpara identificar a causa raiz exata.