Depuração de pods e serviços
Utilize comandos do kubectl e outras ferramentas para depurar com eficiência pods com comportamento inesperado e problemas de conectividade.
Depuração de pods e serviços é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
Por que a depuração é importante
Quando suas aplicações apresentam comportamento inesperado no Kubernetes, a depuração é seu superpoder! Ela ajuda você a entender o que deu errado e como corrigir o problema.
Os sinais comuns de problemas incluem:
- Pods presos nos estados 'Pending' ou 'CrashLoopBackOff'.
- Serviços inacessíveis.
- Aplicações que não respondem conforme o esperado.
Vamos aprender ferramentas essenciais para diagnosticar esses problemas.
Seu kit de depuração do kubectl
O Kubernetes fornece ferramentas poderosas de linha de comando, principalmente o kubectl, para ajudar você a inspecionar e solucionar problemas no seu cluster.
Os principais comandos que exploraremos hoje incluem:
kubectl describe: Obter informações detalhadas sobre recursos.kubectl logs: Visualizar a saída dos contêineres.kubectl exec: Executar comandos dentro dos contêineres.kubectl port-forward: Acessar serviços localmente.
Dominar esses comandos fará de você um especialista em depuração do Kubernetes!
Investigação aprofundada com kubectl describe
O comando kubectl describe é o primeiro recurso para obter informações detalhadas sobre qualquer recurso do Kubernetes, especialmente Pods.
Ele fornece muitos dados, incluindo eventos, status, endereços IP, volumes e detalhes dos contêineres. Procure por 'Events' na parte inferior para encontrar pistas!
kubectl describe pod my-nginx-podEntendendo os eventos do cluster
Os eventos são essenciais para entender o que aconteceu com seus Pods ou outros recursos. Eles contam a história da criação, do agendamento, dos erros e de muito mais.
Você pode ver os eventos de um recurso específico usando describe ou visualizar os eventos de todo o cluster com kubectl get events.
kubectl get events --sort-by='.lastTimestamp'Decodificando os registros dos contêineres
As aplicações geralmente imprimem mensagens importantes, erros e informações de depuração nos fluxos de saída/erro padrão. kubectl logs permite acessar essas informações.
Se um Pod estiver falhando, verificar os registros dele é essencial para entender por que isso está acontecendo. Você também pode acompanhar os registros em tempo real.
kubectl logs my-app-pod -fExecutando comandos nos contêineres
Às vezes, visualizar os registros não é suficiente. Pode ser necessário executar comandos dentro de um contêiner em execução para diagnosticar problemas, assim como ao acessar um servidor por SSH.
kubectl exec permite executar comandos ou até abrir um shell (como bash ou sh) diretamente em um contêiner.
kubectl exec -it my-app-pod -- /bin/bashAcesso local com encaminhamento de portas
Quando você suspeitar que um serviço não está acessível ou quiser testá-lo localmente sem exposição externa, kubectl port-forward será seu aliado.
Ele cria um túnel seguro da sua máquina local até um Pod ou serviço no cluster, permitindo acessá-lo por meio de localhost.
kubectl port-forward service/my-web-service 8080:80Diagnosticando problemas de serviços
Se sua aplicação não estiver acessível por meio do serviço, verifique duas coisas:
- Seletor do serviço: Ele corresponde corretamente aos rótulos dos seus Pods?
- Endpoints: O serviço possui endpoints ativos (ou seja, Pods em execução)?
Use kubectl get svc e kubectl get ep para inspecioná-los.
kubectl get svc my-web-service
kubectl get ep my-web-serviceLidando com problemas comuns
Vamos analisar dois problemas frequentes de Pods:
CrashLoopBackOff: O contêiner inicia e falha repetidamente. Verifiquekubectl logsem busca de erros.ImagePullBackOff: O Kubernetes não consegue baixar a imagem do contêiner. Verifique o nome e a tag da imagem, além do acesso ao registro.
kubectl describe pod geralmente revela a causa inicial na seção 'Events'.
Desafio de depuração!
Você percebe que um Pod chamado data-processor-xyz está no estado CrashLoopBackOff. É necessário investigar por que ele está falhando.
Quais dos dois comandos a seguir são mais importantes executar primeiro para diagnosticar a causa imediata?
Recapitulação: domínio da depuração
Excelente trabalho! Você aprendeu a usar os principais comandos kubectl para depurar Pods e serviços:
kubectl describepara obter informações detalhadas sobre recursos e eventos.kubectl logspara ver o que está acontecendo dentro dos contêineres.kubectl execpara solucionar problemas de forma interativa.kubectl port-forwardpara acessar serviços localmente.
Essas ferramentas são essenciais para manter suas aplicações Kubernetes funcionando sem problemas. Continue praticando!
Perguntas Frequentes
A aula “Depuração de pods e serviços” é grátis?
Sim — o texto completo de “Depuração de pods e serviços” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Depuração de pods e serviços”?
Utilize comandos do kubectl e outras ferramentas para depurar com eficiência pods com comportamento inesperado e problemas de conectividade. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Depuração de pods e serviços”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Diagnóstico de problemas comuns
- Depuração de pods e serviços
- Boas práticas e dicas para produção
- Cotas de Recursos e Limites de Recursos