Kubernetes
Jan 22, 2026 6 min read

Pod Stuck in Pending or Unschedulable in Kubernetes

Diagnose why your pod won't schedule — node resources, taints, affinity, and missing PVCs.

Problem

Your pod sits in `Pending` and never gets scheduled to a node. `kubectl describe pod` shows `0/3 nodes are available`.

Root cause

  • Insufficient CPU/memory on every node.
  • Node selector, affinity, or tolerations don't match any node.
  • PersistentVolumeClaim is unbound.
  • Cluster autoscaler is disabled or capped.

Solution

Read the scheduler events

bash
kubectl describe pod <pod> | tail -20

Check node capacity

bash
kubectl top nodes && kubectl describe node <node> | grep -A5 Allocated

Fix common cases

  • Lower `resources.requests` to fit available capacity.
  • Add a matching label to a node or remove the affinity rule.
  • Add a toleration if the node is tainted.
  • Provision the StorageClass or PV that the PVC needs.

Frequently asked questions

Related fixes

Weekly digest

One DevOps fix in your inbox each week

Short, practical, no fluff. Real errors, real fixes — straight from production postmortems.