Worked example
Three Standard_D4s_v5 nodes in East US, with AKS’s default 250 max pods:
- Cost: $0.192 an hour × 730 hours × 3 nodes = $420.48 a month, or $140.16 per node.
- CPU: Kubernetes keeps 0.14 vCPU of each node. Pods can use 3.86 of 4 vCPUs (96.5%).
- Memory: Kubernetes keeps 4.1 GiB of each node. Pods can use 11.9 of 16 GiB (74.4%).
- All 3 nodes: pods can use 11.58 of 12 vCPUs and 35.7 of 48 GiB.
Three m6i.xlarge nodes in US East (N. Virginia), in an EKS managed node group:
- Cost: $0.192 an hour × 730 hours × 3 nodes = $420.48 a month, or $140.16 per node.
- CPU: Kubernetes keeps 0.08 vCPU of each node. Pods can use 3.92 of 4 vCPUs (98%).
- Memory: the instance type supports 58 pods, so Kubernetes keeps 0.97 GiB of each node. Max pods is also 58, below the managed node group’s cap of 110.
How the calculator works
Monthly cost
Monthly cost = the hourly list price × 730 hours × the number of nodes.
- The price is the Linux pay-as-you-go price on Azure, and the Linux on-demand price on AWS, in USD.
- It’s the list price, before any discount, reservation, savings plan or negotiated rate.
- It covers the VM alone, not its OS disk, network traffic or anything else in the cluster.
What pods can use on AKS
This follows Microsoft’s node resource reservations for AKS 1.29 and later:
- CPU: Microsoft gives a fixed reserve for each core count. A 4-core node keeps 140 millicores, or 0.14 vCPU.
- Memory: AKS keeps the smaller of two amounts: 20 MB per max pod plus 50 MB, or 25% of the node’s memory.
- Eviction threshold: AKS also keeps 100 Mi free, so pods are evicted before the node runs out.
Microsoft notes that the node’s OS reserves some CPU and memory on top, and some AKS features reserve more CPU. So treat the result as the most your pods can use.
What pods can use on EKS
This follows the EKS-optimized Amazon Linux AMI, as AWS documents it:
- CPU: 6% of the first core, 1% of the second, 0.5% of the third and fourth, and 0.25% of each core after that.
- Max pods: network interfaces × (IP addresses per interface − 1) + 2. An EKS managed node group caps it at 110 on nodes with fewer than 30 vCPUs.
- Memory: 11 MiB for each pod the instance type supports, plus 255 MiB, and a 100 MiB eviction threshold on top. AWS counts the pods the instance type supports here, even when a managed node group sets max pods below that.
What’s left for your pods
Your pods’ requests fill what’s left, DaemonSets included. Kubernetes places a pod only where its requests fit, even when the node’s actual use is very low.
Sources
Prices from the Azure Retail Prices API (opens in a new tab) and the AWS Price List for Amazon EC2 (opens in a new tab), retrieved 30 October 2026. Sizes from Microsoft Learn’s VM size pages and the AWS Price List. AKS reserves from Microsoft Learn’s node resource reservations in AKS (opens in a new tab) and maximum pods per node (opens in a new tab). EKS reserves from AWS’s node CPU and memory reservations (opens in a new tab) and how maxPods is determined (opens in a new tab). Scheduling from the Kubernetes docs on scheduling by requests (opens in a new tab). All checked 30 October 2026. Prices change; check your cloud’s price list before you buy.
List prices and reserves, 30 October 2026
Azure (AKS): monthly list price per node
| Size | Kind | vCPUs | Memory | East US | West Europe | Central India |
|---|---|---|---|---|---|---|
Standard_D2s_v5 | General purpose | 2 | 8 GiB | $70.08 | $83.95 | $73.73 |
Standard_D4s_v5 | General purpose | 4 | 16 GiB | $140.16 | $167.90 | $147.46 |
Standard_D8s_v5 | General purpose | 8 | 32 GiB | $280.32 | $335.80 | $294.92 |
Standard_D16s_v5 | General purpose | 16 | 64 GiB | $560.64 | $671.60 | $589.84 |
Standard_D4as_v5 | General purpose | 4 | 16 GiB | $125.56 | $151.84 | $81.03 |
Standard_D8as_v5 | General purpose | 8 | 32 GiB | $251.12 | $303.68 | $162.06 |
Standard_F4s_v2 | Compute optimized | 4 | 8 GiB | $123.37 | $141.62 | $124.10 |
Standard_F8s_v2 | Compute optimized | 8 | 16 GiB | $246.74 | $283.24 | $248.20 |
Standard_F16s_v2 | Compute optimized | 16 | 32 GiB | $494.21 | $566.48 | $496.40 |
Standard_E4s_v5 | Memory optimized | 4 | 32 GiB | $183.96 | $221.92 | $189.80 |
Standard_E8s_v5 | Memory optimized | 8 | 64 GiB | $367.92 | $443.84 | $379.60 |
Standard_E16s_v5 | Memory optimized | 16 | 128 GiB | $735.84 | $887.68 | $759.20 |
Azure (AKS): what pods can use on each node
| Size | Max pods | CPU pods can use | Memory pods can use | Kubernetes keeps |
|---|---|---|---|---|
Standard_D2s_v5 | 250 | 1.9 of 2 vCPUs (95%) | 5.9 of 8 GiB (73.8%) | 0.1 vCPU, 2.1 GiB |
Standard_D4s_v5 | 250 | 3.86 of 4 vCPUs (96.5%) | 11.9 of 16 GiB (74.4%) | 0.14 vCPU, 4.1 GiB |
Standard_D8s_v5 | 250 | 7.82 of 8 vCPUs (97.8%) | 26.85 of 32 GiB (83.9%) | 0.18 vCPU, 5.15 GiB |
Standard_D16s_v5 | 250 | 15.74 of 16 vCPUs (98.4%) | 58.85 of 64 GiB (92%) | 0.26 vCPU, 5.15 GiB |
Standard_D4as_v5 | 250 | 3.86 of 4 vCPUs (96.5%) | 11.9 of 16 GiB (74.4%) | 0.14 vCPU, 4.1 GiB |
Standard_D8as_v5 | 250 | 7.82 of 8 vCPUs (97.8%) | 26.85 of 32 GiB (83.9%) | 0.18 vCPU, 5.15 GiB |
Standard_F4s_v2 | 250 | 3.86 of 4 vCPUs (96.5%) | 5.9 of 8 GiB (73.8%) | 0.14 vCPU, 2.1 GiB |
Standard_F8s_v2 | 250 | 7.82 of 8 vCPUs (97.8%) | 11.9 of 16 GiB (74.4%) | 0.18 vCPU, 4.1 GiB |
Standard_F16s_v2 | 250 | 15.74 of 16 vCPUs (98.4%) | 26.85 of 32 GiB (83.9%) | 0.26 vCPU, 5.15 GiB |
Standard_E4s_v5 | 250 | 3.86 of 4 vCPUs (96.5%) | 26.85 of 32 GiB (83.9%) | 0.14 vCPU, 5.15 GiB |
Standard_E8s_v5 | 250 | 7.82 of 8 vCPUs (97.8%) | 58.85 of 64 GiB (92%) | 0.18 vCPU, 5.15 GiB |
Standard_E16s_v5 | 250 | 15.74 of 16 vCPUs (98.4%) | 122.85 of 128 GiB (96%) | 0.26 vCPU, 5.15 GiB |
AWS (EKS): monthly list price per node
| Size | Kind | vCPUs | Memory | US East (N. Virginia) | EU (Ireland) | Asia Pacific (Mumbai) |
|---|---|---|---|---|---|---|
m6i.large | General purpose | 2 | 8 GiB | $70.08 | $78.11 | $73.73 |
m6i.xlarge | General purpose | 4 | 16 GiB | $140.16 | $156.22 | $147.46 |
m6i.2xlarge | General purpose | 8 | 32 GiB | $280.32 | $312.44 | $294.92 |
m6i.4xlarge | General purpose | 16 | 64 GiB | $560.64 | $624.88 | $589.84 |
m7i.xlarge | General purpose | 4 | 16 GiB | $147.17 | $164.03 | $154.83 |
m7i.2xlarge | General purpose | 8 | 32 GiB | $294.34 | $328.06 | $309.67 |
c6i.xlarge | Compute optimized | 4 | 8 GiB | $124.10 | $133.15 | $124.10 |
c6i.2xlarge | Compute optimized | 8 | 16 GiB | $248.20 | $266.30 | $248.20 |
c6i.4xlarge | Compute optimized | 16 | 32 GiB | $496.40 | $532.61 | $496.40 |
r6i.large | Memory optimized | 2 | 16 GiB | $91.98 | $102.93 | $94.90 |
r6i.xlarge | Memory optimized | 4 | 32 GiB | $183.96 | $205.86 | $189.80 |
r6i.2xlarge | Memory optimized | 8 | 64 GiB | $367.92 | $411.72 | $379.60 |
AWS (EKS): what pods can use on each node
| Size | Max pods | CPU pods can use | Memory pods can use | Kubernetes keeps |
|---|---|---|---|---|
m6i.large | 29 | 1.93 of 2 vCPUs (96.5%) | Not shown (see the note) | 0.07 vCPU, 0.66 GiB |
m6i.xlarge | 58 | 3.92 of 4 vCPUs (98%) | Not shown (see the note) | 0.08 vCPU, 0.97 GiB |
m6i.2xlarge | 58 | 7.91 of 8 vCPUs (98.9%) | Not shown (see the note) | 0.09 vCPU, 0.97 GiB |
m6i.4xlarge | 110 | 15.89 of 16 vCPUs (99.3%) | Not shown (see the note) | 0.11 vCPU, 2.86 GiB |
m7i.xlarge | 58 | 3.92 of 4 vCPUs (98%) | Not shown (see the note) | 0.08 vCPU, 0.97 GiB |
m7i.2xlarge | 58 | 7.91 of 8 vCPUs (98.9%) | Not shown (see the note) | 0.09 vCPU, 0.97 GiB |
c6i.xlarge | 58 | 3.92 of 4 vCPUs (98%) | Not shown (see the note) | 0.08 vCPU, 0.97 GiB |
c6i.2xlarge | 58 | 7.91 of 8 vCPUs (98.9%) | Not shown (see the note) | 0.09 vCPU, 0.97 GiB |
c6i.4xlarge | 110 | 15.89 of 16 vCPUs (99.3%) | Not shown (see the note) | 0.11 vCPU, 2.86 GiB |
r6i.large | 29 | 1.93 of 2 vCPUs (96.5%) | Not shown (see the note) | 0.07 vCPU, 0.66 GiB |
r6i.xlarge | 58 | 3.92 of 4 vCPUs (98%) | Not shown (see the note) | 0.08 vCPU, 0.97 GiB |
r6i.2xlarge | 58 | 7.91 of 8 vCPUs (98.9%) | Not shown (see the note) | 0.09 vCPU, 0.97 GiB |
Memory pods can use: not shown. AWS works this out from the memory the node reports, which is less than the instance’s memory. In AWS’s example, an 8 GB instance reports 7,748 MiB. AWS doesn’t publish that figure for each instance type.