Updated 25 October 2026 · Published by Zoorik
Kubernetes cluster utilization is the share of your nodes’ CPU and memory that pods request or use. It’s Kubernetes resource utilization across the whole cluster.
Requests or use
- By requests: the sum of pod requests, divided by node capacity (what the nodes can give pods).
- By use: the CPU and memory in use, divided by the same capacity. Metrics Server collects it. Run
kubectl topto see this Kubernetes cluster usage per node and pod.
Pods can use more than they request. If a container sets only a limit, Kubernetes uses that limit as its request, unless a default request applies.
The scheduler places pods by requests. A node whose requests fill it takes no new pods, even when real use is low.
Ten nodes at 60%
The Amazon EKS guide gives this illustration: 10 nodes, each at 60% utilization. So 40% of the capacity you run isn’t used.
With same-size nodes, that’s 4 nodes’ worth, but no node is empty.
Why it matters for your bill
- You pay for each node whole, used or not. AKS cost analysis calls the unused part “idle charges”.
- Requests set too high leave unused capacity, “a large factor in total cluster costs”, says the EKS guide. That’s overprovisioning.
- 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: Kubernetes overprovisioning: what it is and how to measure it
Sources: Kubernetes, “Resource Management for Pods and Containers” (opens in a new tab); Kubernetes, “Resource metrics pipeline” (opens in a new tab); Amazon Web Services, “Compute and Autoscaling” (opens in a new tab) (Amazon EKS Best Practices Guide); Microsoft, “Azure Kubernetes Service (AKS) cost analysis” (opens in a new tab).