Cloud & Networking

Kubernetes Node Calculator (Nodes for Your Pods)

Enter the pods, their resource requests and the node size.

Your numbers

%

Your results

Nodes needed (including spares)
Nodes needed (including spares)
—
Limiting resource
—
CPU utilisation of requests
—
Memory utilisation of requests
—

Kubernetes Node Calculator (Nodes for Your Pods) by TheCalcTools

How the Kubernetes Node Calculator (Nodes for Your Pods) works

The scheduler places pods by their requests, so nodes needed = total requests ÷ allocatable capacity per node, for CPU and memory separately, and also the pod-count limit (110 by default). The largest of the three wins.

Allocatable capacity is lower than the machine size because the kubelet, OS and DaemonSets reserve some. Add spare nodes so a node can fail or drain without pods going pending.

The formula

Nodes = max(⌈CPU requests ÷ allocatable CPU⌉, ⌈memory requests ÷ allocatable memory⌉, ⌈pods ÷ max pods⌉) + spares

Worked example

Using the default values shown in the calculator:

Pods (replicas in total)120
CPU request per pod (millicores)250
Memory request per pod (MiB)512
vCPUs per node8
Memory per node (GiB)32
Reserved for system and daemons10 %
Maximum pods per node110
Spare nodes for failures or upgrades1
  1. 120 pods × 250m CPU and 512 MiB on 8 vCPU / 32 GiB nodes with 10% reserved: 6 nodes (CPU-limited, with 1 spare).

Result:

Nodes needed (including spares)6
Limiting resourceCPU
CPU utilisation of requests83.3%
Memory utilisation of requests41.7%

Frequently asked questions

Why are my nodes full when CPU usage is low?

Scheduling uses requests, not actual usage. Right-size requests from observed usage to pack more pods.

Sources and further reading

More in Cloud & Networking · All calculators

This calculator gives estimates for information only. Check important results independently before you rely on them. See our disclaimer.