Comece com kubectl describe pod para ver os eventos e o último código de saída, depois kubectl logs com --previous para ler a saída do container que quebrou. Código de saída 137 normalmente significa um OOM kill, então cheque os limites de memória; saída 1 ou 2 normalmente significa que a aplicação falhou na inicialização, muitas vezes uma config ausente, um secret ou uma dependência inalcançável. Confirme que a tag da imagem realmente existe e cheque se uma liveness probe agressiva está causando o loop.
Por que os entrevistadores perguntam isso
É uma checagem prática de competência: você consegue de fato operar um cluster sob pressão ou só conhece os conceitos. Entrevistadores querem uma sequência específica de comandos, o significado dos códigos de saída comuns, e consciência de que um crash loop às vezes é causado pela plataforma (probes, limites de recurso, pressão no nó) em vez do código da aplicação.
Como estruturar sua resposta
- Dê a sequência de comandos em ordem, começando por describe.
- Leia o código de saída e traduza para uma classe de causa.
- Use logs com --previous, já que o container atual pode ainda não existir.
- Cheque causas de plataforma: limites, probes, secrets, pull da imagem, pressão no nó.
- Diga como você estabilizaria enquanto depura.
Exemplo de resposta
kubectl describe pod primeiro, porque a seção de eventos normalmente te diz de cara se é falha de pull da imagem, um secret ausente ou um OOM kill, e te dá o último estado de término com o código de saída. Depois kubectl logs com --previous, já que o container que estava rodando já foi substituído e os logs dele sumiram. Saída 137 é um SIGKILL e nove em cada dez vezes é o limite de memória, então eu comparo o limite com o uso real em vez de chutar. Saída 1 com um stack trace é falha de inicialização da aplicação, normalmente config. Eu também checo a liveness probe, porque eu já vi um serviço Java perfeitamente saudável entrar em crash loop puramente porque precisava de 40 segundos para aquecer e a probe dava 10. Para depurar com calma eu escalo o deployment, faço exec numa cópia com o comando sobrescrito para sleep, e reproduzo ali em vez de brigar com o cronômetro de reinício.
Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.
Veja como funcionaPerguntas de acompanhamento que você pode esperar
- Como você depuraria um container que quebra antes de escrever qualquer log?
- O que o código de saída 137 te diz, e o que você checaria em seguida?
- Como você mantém um pod que está quebrando vivo tempo suficiente para inspecioná-lo?
Mais perguntas para Engenheiro de Confiabilidade de Sites
Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.
Prever minhas perguntas