Control Plane Resource Calculator
Size control plane CPU and memory for the API server, scheduler and controller manager.
Inputs
Total worker nodes in the cluster.
Total running pods across the cluster.
Expected API server queries per second.
Total Kubernetes objects stored in etcd.
Total Control Plane CPU
7cores
Total Control Plane Memory
16GB
API Server CPU
2cores
etcd Memory
4GB
Step by step
API server CPU
max(2, ceil(500QPS / 250))
= 2 cores
API server memory
max(4, ceil(2000 pods / 500) × 2)
= 8GB
etcd CPU
max(2, ceil(500QPS / 500))
= 2 cores
etcd memory
max(2, ceil(10000 objects / 5000) × 2)
= 4GB
Total control plane
API + etcd + scheduler + controller
= 7 CPU, 16GB RAM
How it works
Control plane sizing scales with cluster size (nodes, pods, objects) and API request rate. API server needs ~1 core per 250 QPS, etcd needs ~1 core per 500 QPS plus memory proportional to stored objects. These are heuristics based on Kubernetes community guidance for production clusters.
Formula
API Server CPU
apiCPU = max(2, ceil(QPS / 250))
- QPS
- API queries per second
Frequently Asked Questions
Should I run control plane on dedicated nodes?
Yes — for production clusters, dedicated control plane nodes prevent workload interference and ensure the API server, etcd, and scheduler have guaranteed resources.
How does etcd performance affect the cluster?
etcd is the bottleneck for all state changes — slow etcd (high latency, disk saturation) directly causes slow API responses, failed leader elections, and cluster instability.