Updated 25 October 2026 · Published by Zoorik
Kubernetes headroom is spare node capacity you keep free on purpose. New pods start in it at once, not waiting in Pending for a new node. The Kubernetes docs call this node overprovisioning.
How a cluster keeps headroom
You hold the space with placeholder pods that do no work.
- Their requests set the size: five pods of 0.1 CPU and 200 MiB hold 0.5 CPU and 1,000 MiB.
- Their priority is negative. So when a real pod can’t fit, Kubernetes removes one first.
- The placeholder goes Pending. Your autoscaler then adds a node.
- By default, Cluster Autoscaler adds no nodes for pods below priority -10. Use -10 with it, not the Kubernetes docs’ -1000.
An example on AWS
The Amazon EKS guide calls headroom for Kubernetes on AWS a trade between speed and cost. In its example, you need a node every 30 seconds. EC2 takes 30 seconds to start one.
So one spare node saves 30 seconds of wait, for the cost of one extra EC2 instance. Comparing those two times is a simple Kubernetes headroom calculator.
Why it matters for your bill
- Headroom in a Kubernetes cluster is capacity you pay for and keep empty. So your Kubernetes headroom policy is a cost choice.
- Requests far above real use add nodes you never planned, since the scheduler places pods by requests.
- Coral rebalances CPU and memory requests on AKS and EKS to match real use. Then the same pods fit on fewer nodes, and Coral drains the spare ones so your autoscaler can remove them.
- The free assessment works out your own figure.
Read next: Cluster Autoscaler overprovisioning with placeholder pods
Sources: Kubernetes, “Overprovision Node Capacity For A Cluster” (opens in a new tab); Kubernetes Autoscaler, “Cluster Autoscaler FAQ” (opens in a new tab); Kubernetes, “Resource Management for Pods and Containers” (opens in a new tab); Amazon Web Services, “Cluster Autoscaler” (opens in a new tab) (Amazon EKS Best Practices Guide).