Skip to main content
FailedScheduling

Kubernetes FailedScheduling: insufficient resources

The scheduler cannot find a node that satisfies the Pod's resource requests and placement constraints.

kube-schedulerSchedulinghigh
Exact message
0/N nodes are available: insufficient cpu or insufficient memory

Also 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
Evidence before intervention

First diagnostic checks

1

Read scheduler events

Use the full FailedScheduling message because it aggregates the reasons nodes were rejected.

kubectl describe pod <pod> -n <namespace>
2

Compare requests with allocatable

Inspect per-node allocated requests, not only current CPU and memory usage.

kubectl describe nodes
3

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.

Engineering signal

Follow Kubernetes failures and fixes

One useful weekly email with new error references, tools, integration notes and production lessons. No daily noise.