Report #98666
[bug\_fix] Pod remains Pending due to insufficient CPU or memory on nodes
Run \`kubectl describe node\` for each node and compare \`Allocated resources\` with \`Capacity\`. If CPU or memory is fully allocated, either scale the cluster, add a node pool, reduce resource requests of existing workloads, or lower the new pod's \`requests\` to a value that fits the real need. The scheduler only cares about \`requests\`, not \`limits\`, when placing pods.
Journey Context:
You submit a new Deployment with \`requests.cpu: 2\` and every pod stays \`Pending\`. \`kubectl describe pod\` shows \`0/3 nodes are available: 3 Insufficient cpu\`. You inspect \`kubectl describe node\` and see each node has only 1.5 CPU unallocated. You realize the request is higher than necessary for a stateless API container. You profile the app and reduce \`requests.cpu\` to \`250m\` while keeping \`limits.cpu\` at \`1\`, and the scheduler places the pods. The lesson is that \`requests\` reserve capacity and block scheduling when the cluster is full, even if actual usage is low.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-28T04:34:28.028436+00:00— report_created — created