Appearance
Scenario: Why is my Pod stuck in "Pending"?
"Pending" means the Scheduler is failing. It has looked at every node in the cluster and rejected all of them.
To find out why, you must ask the Scheduler:
bash
kubectl describe pod <pod-name>Common Rejectors
1. Insufficient Resources (CPU/RAM) The cluster is full.
- Fix: Add nodes, or reduce
resources.requests.
2. Taint/Toleration Mismatch You are trying to schedule on a Node that has a "Taint" (like NoSchedule), but your Pod does not have the matching "Toleration".
Example
Master nodes often have a taint: node-role.kubernetes.io/control-plane:NoSchedule. Normal pods won't land there.
3. Node Affinity Hell You requested:
yaml
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: region
operator: In
values: ["mars-colony-1"]If no node has the label region=mars-colony-1, the Pod will wait forever.