FailedScheduling ☸️ Kubernetes

Kubernetes: Pod stuck in Pending — FailedScheduling: 0/3 nodes are available

The scheduler can’t find a node that satisfies the pod’s resource requests, selectors, taints or volume constraints.

Seen on: Kubernetes

Meaning

The FailedScheduling event explains why for every node: insufficient CPU/memory, node selector/affinity mismatch, untolerated taints, or a PersistentVolumeClaim that can’t bind in that zone.

Common causes

  • Resource requests larger than any node’s free capacity
  • nodeSelector / affinity matching no nodes
  • Taints without matching tolerations
  • PVC unbound or volume in another zone
  • Cluster autoscaler at max nodes

⚡ Quick fix

  1. kubectl describe pod <pod> → Events
  2. Lower requests or add/scale nodes
  3. Fix selectors/affinity labels
  4. Add tolerations or remove taints
  5. Check kubectl get pvc

Detailed fix by platform

Kubernetes

  1. Investigate capacity and constraints:
    bash
    kubectl describe pod api-5c9d7 | sed -n '/Events/,$p'
    kubectl describe nodes | grep -A5 "Allocated resources"
    kubectl get nodes --show-labels
    kubectl get pvc

How to diagnose

  1. Events — What does FailedScheduling say per node?
  2. Requests — CPU/memory requests vs allocatable
  3. Placement — Selectors, affinity, taints
  4. Storage — PVC bound?

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.