Skip to content
Back to the playbook

Diagnosing FailedScheduling / Insufficient cpu

Kuberneteskubectlrevision 1

Diagnostic tree

  1. In progressPods Pending with FailedScheduling / Insufficient cpuThis is a capacity-fit problem: the sum of already-scheduled CPU requests plus this pod's request exceeds what any single node currently has free. It's common right after a cluster or node-pool upgrade because upgrades typically cordon and replace nodes in batches, temporarily shrinking available capacity.
View the whole map (7 more steps)
  • Confirm the message actually names Insufficient cpu
  • This is a different scheduling failure
  • Check whether nodes are still catching up from the upgrade
  • Root cause: capacity is temporarily down while nodes rejoin
  • Compare the pod's CPU request against the largest node's allocatable CPU
  • Root cause: legitimate contention — the cluster needs more schedulable CPU
  • Fix: the pod's CPU request doesn't fit on any node in the pool

What to test

Pods Pending with FailedScheduling / Insufficient cpu

This is a capacity-fit problem: the sum of already-scheduled CPU requests plus this pod's request exceeds what any single node currently has free. It's common right after a cluster or node-pool upgrade because upgrades typically cordon and replace nodes in batches, temporarily shrinking available capacity.

What happened?