Azure Kubernetes Service (AKS) Calculator
Size AKS node pools from pod requests, applying Azure's CPU and memory reservations and the pods-per-node ceiling.
Inputs
Azure CNI defaults to 30; the hard ceiling is 250.
DaemonSets such as kube-proxy, CSI drivers and monitoring agents.
Free tier costs nothing; the Standard tier uptime SLA lists near $0.10/hour.
Nodes Required
16nodes
Allocatable CPU per Node
3.92vCPU
Allocatable Memory per Node
12.67GiB
Usable Pod Slots per Node
24pods
Binding Constraint
CPU requests
Monthly Cost
$2,242.56
Step by step
Values used
Pods to schedule = 240 pods; CPU request per pod = 250 millicores; Memory request per pod = 512 MiB; vCPUs per node = 4 vCPU; Memory per node = 16 GiB; Maximum pods per node = 30 pods; System pods per node = 6 pods; Node rate = 0.1920 USD/hour; Control plane rate = 0 USD/hour
Azure Kubernetes Service (AKS)
nodes = max(pod CPU ÷ allocatable CPU, pod memory ÷ allocatable memory, pods ÷ usable slots), where allocatable memory subtracts 25%/20%/10%/6%/2% of successive memory bands plus a 750 MiB eviction threshold.
Nodes Required
= 16 nodes
Allocatable CPU per Node
= 3.92 vCPU
Allocatable Memory per Node
= 12.67 GiB
Usable Pod Slots per Node
= 24 pods
Binding Constraint
= CPU requests
Monthly Cost
= 2,242.56
How it works
AKS reserves node resources on a sliding scale — 25% of the first 4 GiB of memory, 20% of the next 4, 10% of the next 8, 6% of the next 112 and 2% beyond, plus a 750 MiB eviction threshold — so a 16 GiB node schedules roughly 12.5 GiB of pods. The node count is then the worst of three independent constraints: CPU requests, memory requests and the pods-per-node limit that Azure CNI defaults to 30. The pods-per-node limit is set at node-pool creation and cannot be changed afterwards, so a cluster sized only on CPU and memory can run out of IP-backed pod slots at a third of its capacity; the control plane itself is free on the Free tier, meaning almost the whole AKS bill is ordinary VM cost.
Formula
Azure Kubernetes Service (AKS)
nodes = max(pod CPU ÷ allocatable CPU, pod memory ÷ allocatable memory, pods ÷ usable slots), where allocatable memory subtracts 25%/20%/10%/6%/2% of successive memory bands plus a 750 MiB eviction threshold.
- allocatable
- Node capacity left after kubelet and system reservations
- usable slots
- Pods-per-node limit minus the DaemonSet pods every node runs
- eviction threshold
- 750 MiB AKS holds back so the kubelet can evict before the node stalls
Frequently Asked Questions
How is Azure Kubernetes Service (AKS) calculated?
nodes = max(pod CPU ÷ allocatable CPU, pod memory ÷ allocatable memory, pods ÷ usable slots), where allocatable memory subtracts 25%/20%/10%/6%/2% of successive memory bands plus a 750 MiB eviction threshold. AKS reserves node resources on a sliding scale — 25% of the first 4 GiB of memory, 20% of the next 4, 10% of the next 8, 6% of the next 112 and 2% beyond, plus a 750 MiB eviction threshold — so a 16 GiB node schedules roughly 12.5 GiB of pods. The node count is then the worst of three independent constraints: CPU requests, memory requests and the pods-per-node limit that Azure CNI defaults to 30.
Why does Azure Kubernetes Service (AKS) matter?
The pods-per-node limit is set at node-pool creation and cannot be changed afterwards, so a cluster sized only on CPU and memory can run out of IP-backed pod slots at a third of its capacity; the control plane itself is free on the Free tier, meaning almost the whole AKS bill is ordinary VM cost.
What values do I need to enter?
This calculator takes 9 inputs: Pods to schedule, CPU request per pod, Memory request per pod, vCPUs per node, Memory per node, Maximum pods per node, System pods per node, Node rate, Control plane rate. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
You might also need
- Azure VM Cost CalculatorCommonly used together
- Azure Scale Set CalculatorCommonly used together
- Azure Virtual Network PlannerCommonly used together
- Azure App Service Cost CalculatorCommonly used together
- Azure Availability Zone PlannerAlso in Microsoft Azure
- Azure Blob Storage CalculatorAlso in Microsoft Azure