๐ฅ Kubernetes Troubleshooting Made Simple! ๐ฅ
Managing workloads on Kubernetes can be tricky — but with the right commands, you can cut debugging time in half.
Here’s a practical cheatsheet ๐ ️ for engineers, SREs, and DevOps teams:
1️⃣ Confirm Cluster & Namespace
⚡ kubectl config current-context → check context
⚡ kubectl get ns → list namespaces
⚡ kubectl get pods -n <namespace> → list pods
2️⃣ Get the Big Picture
๐ kubectl get nodes → nodes
๐ kubectl get pods -A → all pods
๐ kubectl get deployments -A → deployments
๐ kubectl get events -A --sort-by=.metadata.creationTimestamp → recent events
3️⃣ Inspect Failing Pods
๐ kubectl describe pod <pod> -n <ns>
๐ kubectl logs <pod> -n <ns>
๐ก kubectl exec -it <pod> -n <ns> -- /bin/sh
4️⃣ Probes & Health Checks
๐ฉบ Readiness & liveness probes → check with kubectl describe
๐ฉบ Test endpoint inside pod:
kubectl exec -it <pod> -n <ns> -- curl -sv localhost:<port>/health
5️⃣ Rollouts, History & Recovery
⏳ kubectl rollout status deployment/<name> -n <ns>
๐ kubectl rollout history deployment/<name> -n <ns>
๐ kubectl rollout undo deployment/<name> -n <ns>
6️⃣ Networking & Services
๐ kubectl get svc -n <ns> → list services
๐ kubectl get endpoints -n <ns> → check endpoints
๐งญ kubectl exec -it <pod> -n <ns> -- nslookup <service> → DNS test
๐ช kubectl port-forward svc/<svc> 8080:80 -n <ns> → local test
7️⃣ Storage Debugging
๐พ kubectl get pvc -n <ns> → list PVCs
๐ kubectl describe pvc <pvc> -n <ns> → inspect PVC
⚠️ Look for mount errors in pod describe
8️⃣ Resources, Logs & Quick Fixes
๐ kubectl top nodes / kubectl top pods -n <ns> → usage
๐ Use stern/kubetail → tail logs across pods
๐ kubectl rollout restart deployment/<name> -n <ns>
๐ kubectl delete pod <pod> -n <ns> → recreate pod
๐ก Save this post for your next K8s firefight. Troubleshooting doesn’t have to feel like guesswork — it’s about following a structured checklist.
Comments
Post a Comment