Kubernetes Cost Calculator

Derive node count from real pod requests across EKS, GKE and AKS, then add the parts every other calculator omits: control plane, load balancers, per-node disk, egress, and the gap between what pods requested and what they actually use.

Prices verified 4 Aug 2026
Monthly cluster cost
$13,632.95
45 nodes, bound by cpu (45 by CPU, 41 by memory). 7.5% of this bill is not compute — the part a nodes-times-price calculator never shows.
Nodes45 x $0.384/hr$12,614.40
Control plane3 clusters at $0.1/hr$219.00
Node disks100 GiB per node — every node carries one, and nobody counts them$360.00
Load balancers6 Services of type LoadBalancer at $0.0225/hr each$98.55
Internet egressTiered from $0.09/GB after 100 GB free$261.00
Cross-AZ pod trafficBoth directions at $0.01/GB — a spread-out service mesh pays this constantly$80.00
Total$13,632.95

The gap between requested and used

Paid for, never used
$8,199.36/mo
Pods request 240 cores and 900 GiB but use about 35.0% of it. Nodes are provisioned against the request, so you pay for the request.
Nodes if requests matched usage
16
Down from 45
Saving from right-sizing requests
$8,361.28/mo
No new tooling — this is editing resource requests in your manifests.
Saving from spot
$0.00/mo
Only for workloads that tolerate a two-minute eviction notice.

Allocatable capacity per node

CPU available to your pods
6.79 of 8
After the kubelet reservation and daemonsets.
Memory available to your pods
27.7 of 32 GiB
This is why node count comes out higher than a simple division.
Binding resource
CPU
The other one has slack — a different node shape would fit better.
Watch the EKS version cliff. A cluster left on a Kubernetes version past its standard support window moves to extended support at $0.6 per cluster-hour — six times the standard fee. For your 3 clusters that is $1,314.00 a month instead of $219.00.

What this model assumes

  • Node count is derived from pod requests, not entered. Starting from node count hides the only number that matters for optimisation: the gap between what pods request and what they use. Starting from requests surfaces it.
  • Allocatable is less than capacity. The kubelet, OS and daemonsets take a share of every node before an application pod is scheduled. The default here is 12.0% plus a daemonset allowance — a planning figure, not a measurement, and real reservations are tiered by node size.
  • Node prices are yours, not ours. The EKS default is a verified EC2 rate. GKE and AKS node prices were not verified for this build, so the field is an input rather than a lookup — which also means it works for reserved, committed and negotiated rates.
  • Load balancers are charged at the hourly fee only. The capacity-unit component depends on connection rate and bandwidth, which this model does not ask for. Real load balancer cost is therefore somewhat higher than shown.
  • Bin-packing is modelled as a simple fit. Real schedulers deal with pod-level constraints, affinities, topology spread and DaemonSets per node, all of which push node count up. This figure is a floor.
Rates used
  • Amazon EKS control plane source, read 4 Aug 2026
  • Elastic Load Balancing source, read 4 Aug 2026
  • Data transfer and NAT gateway source, read 4 Aug 2026

US East (N. Virginia) list prices, excluding any negotiated or committed-use discount. Your effective rate is lower if you have one.

Frequently asked questions

How much does a Kubernetes cluster cost?

The control plane is the small, predictable part: $0.10 per cluster-hour on EKS, GKE and AKS Standard, or about $73 a month. Everything else is nodes, load balancers, node disks and network transfer. On a small cluster the non-node charges can exceed the compute, which is why a nodes-times-price estimate is usually well under the real bill.

Is EKS, GKE or AKS cheaper?

The control-plane fee is $0.10 per cluster-hour on all three, so the difference is not there. GKE grants a $74.40 monthly credit that covers roughly one zonal or Autopilot cluster, and AKS has a genuinely free tier with no SLA. Beyond that the cost is node prices, and those are a compute-pricing comparison rather than a Kubernetes one.

Why do I need more nodes than my pod requests suggest?

Because allocatable capacity is less than node capacity. The kubelet, the OS and daemonsets reserve a share of every node before an application pod is scheduled — typically 10-15%, proportionally more on small nodes. Add scheduling headroom for rolling updates and bursts, and a naive division understates node count by a fifth or more.

What is the biggest source of Kubernetes waste?

The gap between what pods request and what they use. Nodes are provisioned against requests, so you pay for the request, not the usage. Typical clusters run at 30-40% actual utilisation of requested capacity, which means over half the compute bill buys nothing. Fixing it means editing resource requests, not buying a tool.

What is EKS extended support and why did my bill jump?

When a Kubernetes version passes the end of its standard support window, EKS moves the cluster to extended support at $0.60 per cluster-hour — six times the standard $0.10. For a three-cluster estate that is roughly $1,314 a month instead of $219. It is the most common unexplained jump on an EKS bill and it is avoided entirely by upgrading on schedule.

Requests drift. So does the gap.

Finitizer tracks requested versus used capacity per namespace and workload over time, attributes cluster cost back to the teams causing it, and flags the version cliffs and idle node groups before they show up on an invoice.