CrashLoopBackOff
O erro CrashLoopBackOff ocorre quando um Pod no Kubernetes entra em um ciclo contínuo de falhas: ele inicia, falha, reinicia, e volta a falhar. O Kubernetes tenta repetidamente reiniciar o contêiner, mas como o problema persiste, o estado muda para CrashLoopBackOff, indicando que o sistema está aguardando antes de tentar novamente.
Sintomas
- O pod continua reiniciando repetidamente.
- O número de reinicializações continua aumentando.
- O aplicativo nunca chega ao estado Pronto .
Causas comuns
- O aplicativo trava durante a inicialização.
- As variáveis de ambiente necessárias estão ausentes ou incorretas.
- O aplicativo não consegue se conectar ao banco de dados ou a outro serviço externo.
- O comando de inicialização ou ponto de entrada está incorreto.
- O teste de atividade continua falhando, fazendo com que o Kubernetes reinicie o contêiner.
- O contêiner foi encerrado devido a um erro de falta de memória (OOMKilled).
Como diagnosticar
Comece verificando os registros do aplicativo:
BASH
kubectl logs <pod>
Se o contêiner já tiver sido reiniciado, verifique os registros da instância anterior:
BASH
kubectl logs <pod> --previous
Em seguida, inspecione os eventos do pod para identificar o motivo exato das reinicializações:
BASH
kubectl describe pod < pod >
Como consertar
- Verifique os logs do aplicativo e corrija a causa raiz.
- Corrija as configurações incorretas ddos probes de liveness e readiness.
- Aumente os limites de memória ou CPU se o contêiner for encerrado por falta de memória (OOMKilled).
- Verifique os ConfigMaps, os Secrets e as variáveis de ambiente.
- Se o problema começou após uma implantação de atualização, reverta para a versão anterior do aplicativo que estava funcionando corretamente.