Kubernetes kubectl & cluster ops
kubectlpodsdeployments
🔍 Consulta & Diagnóstico
| Todos os pods (all namespaces) | kubectl get pods -A |
| Pods com IPs e nodes | kubectl get pods -o wide |
| Logs ao vivo | kubectl logs -f POD --tail=100 |
| Logs de container específico | kubectl logs POD -c CONTAINER --tail=50 |
| Logs do pod anterior (crash) | kubectl logs POD --previous |
| Descrever pod (debug completo) | kubectl describe pod POD |
| Entrar no shell do container | kubectl exec -it POD -- /bin/bash |
| CPU e memória dos pods | kubectl top pods --sort-by=memory |
| Eventos do cluster | kubectl get events --sort-by=.metadata.creationTimestamp |
🚀 Deploy & Rollout
| Aplicar manifesto YAML | kubectl apply -f deployment.yaml |
| Aplicar pasta inteira | kubectl apply -f ./k8s/ |
| Reiniciar deployment | kubectl rollout restart deployment/NOME |
| Status do rollout | kubectl rollout status deployment/NOME |
| Voltar versão anterior | kubectl rollout undo deployment/NOME |
| Escalar replicas | kubectl scale deployment NOME --replicas=3 |
| Deletar deployment | kubectl delete deployment NOME |
| Forçar recriação dos pods | kubectl delete pods -l app=NOME |
🌐 Services & Config
| Port forward para teste local | kubectl port-forward svc/SERVICO 8080:80 |
| Listar services | kubectl get svc -A |
| Criar namespace | kubectl create namespace staging |
| Usar namespace default | kubectl config set-context --current --namespace=staging |
| Criar secret | kubectl create secret generic meu-secret --from-literal=DB_PASS=senha123 |
| Ver secrets (base64) | kubectl get secret meu-secret -o yaml |
🚨 Erros Frequentes & Fixes
| kubectl: command not found | Instale o kubectl: curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" e torne executável. |
| Unable to connect to the server | Verifique conexão com cluster: kubectl cluster-info. Baixe kubeconfig do provedor (GKE: gcloud container clusters get-credentials). |
| ImagePullBackOff | Imagem não encontrada. Verifique registry access: kubectl describe pod POD. Para GCR: gcloud auth configure-docker. |
| CrashLoopBackOff | App crashando. Logs: kubectl logs POD --previous. Verifique env vars, secrets, configmaps. Teste localmente primeiro. |
| Pending pods | Sem recursos. Verifique nodes: kubectl get nodes. Aumente cluster ou reduza requests/limits nos manifests. |