Practical guide

Pods per node: a Kubernetes capacity worked example

Estimate pods per Kubernetes node from allocatable CPU, memory, resource requests, reserve, and the node pod limit.

Updated

Pod capacity is the smallest of CPU-based capacity, memory-based capacity, and the configured node Pod limit. Start with allocatable resources, not raw machine capacity, then reserve explicit headroom.

Numeric example

Input: 8,000 millicores and 32,768 MiB allocatable, 10% additional reserve, and Pods requesting 250m CPU and 512 MiB. Usable CPU is 7,200m, allowing floor(7,200 ÷ 250) = 28 Pods. Usable memory is 29,491.2 MiB, allowing 57 Pods. With a node limit of 110, CPU is the constraint and the arithmetic output is 28 Pods.

Use the pod capacity calculator for this comparison and the Kubernetes resource calculator to total requests across replicas.

If you run plain Docker rather than Kubernetes, the Docker memory calculator estimates capacity from host reserves, headroom, and per-container allocation instead of Pod requests.

What the result excludes

The result is not a scheduling guarantee. DaemonSets, topology constraints, IP-address availability, ephemeral storage, disruption capacity, and uneven Pod sizes can reduce actual placement. Keep operational headroom rather than targeting the arithmetic maximum.

Official sources

Related calculators

Continue reading