troubleshooting#kubernetes#debugging
Kubernetes: Pod is Pending forever
Your pod never leaves Pending. Here's how to figure out why in under 3 minutes.
Problem
`kubectl get pods` shows your pod stuck in `Pending`. It's been sitting there for minutes.
Step-by-step Solution
- 1Describe the pod: `kubectl describe pod <name>` — scroll to the **Events** section at the bottom.
- 2If the event says `no nodes available that match all of the predicates`, the scheduler can't place the pod. Check resource requests: is your pod asking for more CPU/RAM than any node has free? Reduce `resources.requests` or add nodes.
- 3If events mention `taints`, your pod lacks the tolerations for the target node. Add `tolerations:` to the pod spec or remove the taint from the node.
- 4If events mention `PersistentVolumeClaim` not bound, the pod is waiting for a PVC that has no matching PV. Check `kubectl get pvc` and the underlying StorageClass provisioner.
- 5If nothing helpful in events, check the scheduler itself: `kubectl -n kube-system get pods` — is `kube-scheduler` healthy? On managed clusters (EKS, GKE, AKS) this is rare but possible.
- 6For quick diagnosis, temporarily reduce the deployment's `resources.requests` to a tiny value and see if the pod schedules — that isolates whether the issue is capacity or something else.
See problem and step-by-step solution above.
Keep reading
You may also like
troubleshooting
Kubernetes Pod stuck in CrashLoopBackOff
A methodical checklist to diagnose and fix crash-looping pods in production.
Read
troubleshooting
PostgreSQL: Too Many Connections
The classic Postgres scaling wall — and how PgBouncer solves it.
Read
troubleshooting
Nginx 502 Bad Gateway after Deploy
Nine times out of ten it's one of these five issues — here's how to isolate them.
Read
Discussion (0)
No comments yet. Be the first to weigh in.