Service comparison / managed Kubernetes
Kubernetes Cost Comparison 2026: EKS vs AKS vs GKE total cluster cost
Control plane is the headline. Nodes, networking, and storage are where the real money goes. This is the full Kubernetes cost picture across AWS, Azure, and GCP, including the serverless options (Fargate, Autopilot, Container Apps) and the network gotchas that quietly dominate bills.
Control plane pricing
| Provider | Tier | Cost | Note |
|---|---|---|---|
| AWS EKS | Standard | $0.10/hr ($73/mo) | Per cluster. Extended support adds $0.50/hr after end of standard support. |
| AWS EKS Auto Mode | Auto Mode | $0.10/hr + management fee on managed compute | Includes managed node lifecycle. Compute charges apply per Auto Mode hour. |
| Azure AKS | Free | $0 | No SLA. 99.5% target uptime. |
| Azure AKS Standard | Uptime SLA | $0.10/hr ($73/mo) | 99.95% SLA on cluster API server. Required for production support. |
| GCP GKE Standard | Standard | $0.10/hr ($73/mo) | Per cluster, beyond the first free zonal cluster per billing account. |
| GCP GKE Autopilot | Autopilot | $0 (included in pod pricing) | Control plane and node management included. Pod resources priced separately. |
Total cluster cost / 3 nodes, 4 vCPU / 16 GB each
A like-for-like production cluster
Worked example: 3-node production cluster, 4 vCPU / 16 GB each, on-demand pricing in the major US region. Control plane includes SLA tier. Approximate dollars per month per component.
| Component | EKS | AKS | GKE |
|---|---|---|---|
| Control plane (with SLA) | $73 | $73 | $73 |
| 3x worker nodes (4 vCPU / 16 GB, on-demand) | $357 | $368 | $346 |
| Network load balancer (1) | $16.20 + LCU | $18.30 + LCU | $18.30 + 0.008/GB |
| Persistent volume (100 GB SSD) | $8.00 gp3 | $7.50 Premium SSD v2 | $17.00 PD SSD |
| Cross-zone data transfer (typical 200 GB/mo) | $2.00 ($0.01/GB each direction) | $2.00 | $2.00 |
| Container Registry (10 GB images) | $1.00 ECR | $5.00 ACR Standard | $0.26 Artifact Registry |
| Indicative monthly subtotal | approx $457 | approx $474 | approx $456 |
Subtotals exclude observability, ingress controllers, and application traffic. They demonstrate how close like-for-like list pricing actually is.
Serverless Kubernetes / no node management
Autopilot, Fargate, and Container Apps
AWS Fargate (EKS or ECS)
$0.04048/vCPU-hour + $0.004445/GB-hour
Best for: Variable workloads, multi-tenant pods, security-isolated tasks.
Watch out: Fargate Spot (70% discount) only available on ECS, not EKS.
GKE Autopilot
$0.0445/vCPU-hour + $0.0049225/GB-hour, $0.0001/GB-hour ephemeral storage
Best for: Variable workloads, hands-off node management, included control plane.
Watch out: Spot pods get 70% discount. Some Kubernetes APIs are restricted.
Azure Container Apps
Approx $0.000024/vCPU-second + $0.000003/GB-second + per-request
Best for: HTTP-driven workloads, scale-to-zero, no Kubernetes API needed.
Watch out: Not full Kubernetes. Use AKS if you need raw K8s APIs.
Network costs / the silent killer
Networking often exceeds compute in Kubernetes bills
| Source | Rate | Why it adds up |
|---|---|---|
| Cross-AZ pod-to-pod traffic | $0.01/GB on AWS, similar on Azure and GCP | Service meshes that load-balance across zones can spend more on cross-AZ than on the workload itself. Use topology-aware routing. |
| NAT Gateway egress (private subnet pods) | $0.045/GB AWS, similar elsewhere | Pods pulling images from public registries route through NAT. Use VPC endpoints for ECR / GCR / ACR. |
| Network Load Balancer per LCU | $0.006/LCU on AWS NLB | Heavy connection counts add up. Audit Service of type LoadBalancer count quarterly. |
| Egress to public internet | $0.085-0.09/GB first 10 TB | Streaming applications, large file downloads, or cross-region replication. CDN sits in front for static assets. |
Cost allocation tooling
Kubernetes cost tools
OpenCost / Kubecost
OpenCost free, Kubecost free up to 250 nodes, paid above
Pod-level allocation, idle resource detection, RI / SP coverage analysis. Industry standard.
Vantage Kubernetes
Multi-cloud platform pricing (typically 2-3% of monitored spend)
Multi-cluster, multi-cloud Kubernetes cost allocation with FOCUS-aligned reporting.
AWS Container Insights + Split Cost Allocation
$0.50/GB CloudWatch + free split allocation
Native AWS allocation by namespace, label, or pod. Good for single-account EKS estates.
GKE cost allocation
Free in console
Native namespace and workload allocation for GKE clusters with cost allocation enabled.
Azure Container Insights
$2.76/GB Log Analytics ingestion
AKS allocation through Log Analytics. Watch ingestion volume.
Common questions
FAQ
Which cloud has the cheapest Kubernetes?+
On total cost (control plane + nodes + networking + storage), AKS Free tier is the cheapest entry point because the control plane is free. For production with SLA, all three providers charge $73/month for the control plane. The dominant cost is always nodes, where general-purpose pricing is within 5% across providers. The cheapest cluster is the one running the right number of right-sized nodes, regardless of provider.
Should I use GKE Autopilot or Standard?+
Autopilot wins at low cluster utilisation (under 50% bin-packing) because you only pay for pod resources, not idle node capacity. Standard wins at high utilisation (over 70%) because per-vCPU pricing is lower than Autopilot's pod-resource pricing. Most teams running variable workloads land on Autopilot. Teams running tightly packed steady-state workloads with custom DaemonSets often prefer Standard.
Is EKS Fargate worth the premium?+
Fargate per-vCPU-hour costs roughly 1.6x equivalent EC2 on-demand. The premium pays for not managing nodes: no patching, no AMI rotation, no autoscaler tuning. For variable workloads or security-isolated multi-tenant pods, the operational saving usually justifies the premium. For steady-state high-utilisation production, EC2 plus Cluster Autoscaler is cheaper.
How do I control cross-AZ traffic costs in Kubernetes?+
Three levers. First, enable topology-aware routing in your service mesh or use Kubernetes Service Topology Hints. Second, run replicas of stateful services per zone rather than spreading load randomly. Third, audit chatty service-to-service paths with VPC Flow Logs and consider co-locating chatty pairs. Cross-AZ traffic can exceed the cluster's compute cost in poorly designed architectures.
Do I need Kubecost or is native enough?+
For single-cloud, single-account, single-cluster setups, native allocation (GKE cost allocation, AWS Split Cost Allocation, Azure Container Insights) covers the basics. For multi-cluster, multi-account, or multi-cloud, OpenCost or Kubecost are usually worth it. They give you idle detection, rightsizing recommendations, and unified RI / Savings Plan coverage analysis that native tools fragment across consoles.
Continue reading