Roadmap › Kubernetes (K8s) & AKS › Module: Deploying and Operating
Lessons in this course (15)
14. Troubleshooting common pod problems
Advanced★ Must knowLesson 14 of 15
| Status/symptom | Likely cause | Check |
|---|---|---|
Pending | Not enough CPU/memory, node selector/taints, PVC not bound | kubectl describe pod events, kubectl get nodes, quotas |
ImagePullBackOff / ErrImagePull | Wrong image/tag, registry auth (ACR not attached), network | describe pod, az aks check-acr |
CrashLoopBackOff | App exits on start: bad config, missing secret, exception, failing liveness probe | kubectl logs --previous, env/secret refs, probe settings |
OOMKilled | Memory limit too low or a leak | describe pod (Last State), kubectl top, raise limit/fix leak |
CreateContainerConfigError | Missing ConfigMap/Secret key | describe pod |
| Running but not receiving traffic | Readiness failing, Service selector/labels mismatch, wrong targetPort | kubectl get endpoints svc, labels, probes |
| 502/503 from ingress | No ready endpoints, wrong service port, TLS/host mismatch | ingress controller logs, endpoints |
| Service DNS fails | CoreDNS issues, wrong namespace in name | nslookup svc.ns.svc.cluster.local from a debug pod |
kubectl debug -it pod/name --image=busybox --target=api attaches an ephemeral debug container.