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.

Copyable operational controls

Related engineering templates

Engineering signal

Follow Kubernetes failures and fixes

A useful digest about twice a week with new error references, tools, integration notes and production lessons. No daily noise.