
kubectl do dia a dia: os 15 comandos que resolvem 90% dos problemas
Objetivos desta aula
- Investigar Pods com get, describe e logs
- Executar comandos dentro de contêineres com exec
- Acompanhar rollouts e voltar versões
- Usar aliases e flags que economizam tempo
No dia a dia de quem opera Kubernetes, tudo passa pelo kubectl. Dominar um pequeno conjunto de comandos resolve a grande maioria dos incidentes. Vamos direto aos que importam.
Ver o estado: kubectl get pods (adicione -o wide para ver o nó e o IP, -A para todos os namespaces). kubectl get all mostra Pods, Services e Deployments juntos.
Entender um problema: kubectl describe pod <nome> mostra os Events no final — é onde o cluster explica por que algo falhou (imagem não encontrada, probe falhando, disco pendente).
Ler logs: kubectl logs <pod>; com -f acompanha em tempo real; com --previous mostra o log do contêiner que morreu (essencial em CrashLoopBackOff).
Entrar no contêiner: kubectl exec -it <pod> -- sh abre um shell dentro — para testar DNS, conectividade e variáveis de ambiente de dentro da aplicação.
Deployments: kubectl rollout status deploy/app acompanha o deploy; kubectl rollout history deploy/app lista revisões; kubectl rollout undo deploy/app volta para a anterior.
Debug rápido: kubectl run tmp --rm -it --image=busybox:1.36 -- sh cria um Pod descartável para testar a rede de dentro do cluster.
Dicas de velocidade: crie o alias k=kubectl, use -n namespace para não misturar ambientes e --dry-run=client -o yaml para gerar manifests sem aplicar nada.
Na prática
Sequência de investigação de um Pod com problema
bash
kubectl get pods -n producao -o wide
kubectl describe pod api-7d9f -n producao # leia os Events!
kubectl logs api-7d9f -n producao --previous # log de quem morreu
kubectl exec -it api-7d9f -n producao -- env | grep DBRollout e rollback
bash
kubectl rollout status deploy/api -n producao
kubectl rollout history deploy/api -n producao
kubectl rollout undo deploy/api -n producao --to-revision=3Por que isso importa
Em incidentes, cada minuto conta: quem conhece esses comandos diagnostica em minutos o que outros levam horas.
Erro comum
Olhar só kubectl get pods e ignorar o describe — os Events quase sempre dizem a causa.
Dica de produção
Sempre confirme o contexto (kubectl config current-context) antes de comandos destrutivos, para não agir no cluster errado.
Pergunta de entrevista
Um Pod está em CrashLoopBackOff. Quais comandos você usa, em ordem?
Glossário
- describe
- Mostra detalhes e eventos de um recurso.
- --previous
- Log do contêiner que terminou antes do atual.
- rollout undo
- Volta o Deployment para uma revisão anterior.
- context
- Combinação de cluster + usuário que o kubectl usa.
Conexão com o CloudShop
A caça ao bug do CloudShop no reino Kubernetes começa com get, describe e logs --previous.
Quiz da aula
1. Onde o cluster explica por que um Pod falhou?
2. Como ver o log do contêiner que crashou?
3. Para voltar um Deployment à revisão anterior:
Minhas anotações
Salvo automaticamente neste navegador.
