Pular para conteúdo

Playbook — Troubleshooting de Kubernetes (Pods)

Quando usar

Use para investigar pods em CrashLoopBackOff, Pending, ImagePullBackOff e ErrImagePull.

Checklist inicial

kubectl get pods -A
kubectl get events -A --sort-by=.lastTimestamp
kubectl top pods -A

Fluxo de diagnóstico

1) Pod em CrashLoopBackOff

kubectl describe pod <pod> -n <ns>
kubectl logs <pod> -n <ns> --previous

Verificar: - erro de inicialização da aplicação; - variável de ambiente/secret ausente; - falha de conexão em dependência crítica.

Ações comuns: - corrigir config/secret; - ajustar probe (liveness/readiness); - aumentar recurso mínimo se houver OOMKilled.

2) Pod em Pending

kubectl describe pod <pod> -n <ns>
kubectl get nodes

Verificar: - falta de CPU/memória no cluster; - nodeSelector/taints incompatíveis; - volume PVC não provisionado.

Ações comuns: - ajustar requests/limits; - corrigir regras de scheduling; - escalar node group.

3) ImagePullBackOff / ErrImagePull

kubectl describe pod <pod> -n <ns>

Verificar: - nome/tag da imagem; - credencial de registry (imagePullSecrets); - conectividade do nó com registry.

Ações comuns: - corrigir tag; - renovar secret de pull; - validar permissão IAM/service account.

Decisão de mitigação

  • Se problema localizado: corrigir deployment e redeploy controlado.
  • Se impacto alto e release recente: rollback imediato.

Critério de resolução

kubectl get pods -n <ns>
kubectl rollout status deployment/<deploy> -n <ns>

Condição esperada: - pods Running e Ready; - erro zerado ou em baseline; - eventos críticos cessaram.