Kubernetes FailedScheduling: insufficient resources
The scheduler cannot find a node that satisfies the Pod's resource requests and placement constraints.
0/N nodes are available: insufficient cpu or insufficient memoryAlso searched as: FailedScheduling · Insufficient cpu · Insufficient memory
What it means
Scheduling evaluates requested resources and policy constraints, not just observed utilisation. A cluster can appear lightly used while no node has enough unallocated requested capacity or the required labels, topology and taints.
Typical trigger conditions
- Requests exceed allocatable capacity
- Node selectors or affinity exclude available nodes
- Untolerated taints
- Persistent-volume topology or port conflicts
First diagnostic checks
Read scheduler events
Use the full FailedScheduling message because it aggregates the reasons nodes were rejected.
kubectl describe pod <pod> -n <namespace>
Compare requests with allocatable
Inspect per-node allocated requests, not only current CPU and memory usage.
kubectl describe nodes
Inspect placement constraints
Review selectors, affinity, topology spread, taints, tolerations and bound volume topology together.
Version and platform notes
Scheduler plugins and event wording evolve; the deployed scheduler configuration determines enabled placement rules.
Follow Kubernetes failures and fixes
One useful weekly email with new error references, tools, integration notes and production lessons. No daily noise.