Back to Blog

The True Cost of Running Kubernetes in the Cloud

Every major cloud now charges a flat fee for its hosted Kubernetes control plane. Google Kubernetes Engine charges a $0.10 per hour management fee for all GKE clusters. While this does not represent a significant amount of money for most deployments, it has triggered a bit of a discussion around what it really costs to run a Kubernetes cluster on the various popular cloud providers.

With our multi-cloud Kubernetes platform we have been running many clusters on many clouds and have been thinking a lot about how to measure and manage costs.

How Much Does Kubernetes Cost?

Kubernetes itself is free, open source software. What costs money is the infrastructure it runs on. As of 2026, AWS charges $0.10 per cluster per hour for the EKS control plane, Google charges $0.10 per cluster per hour for GKE, and Azure charges $0.10 per cluster per hour for AKS on its standard tier, while the AKS free tier has no control plane charge. DigitalOcean does not charge for its control plane at all. Google also applies a $74.40 monthly credit per billing account that covers the fee for one zonal or Autopilot cluster. On top of the control plane you pay for worker nodes, a load balancer, and storage. A minimal production cluster with three small nodes runs roughly $2.76 to $6.00 per day, or about $84 to $183 per month, at current list prices. The numbers below break that down by provider.

The Theory

In theory the set of services required to run a web app on Kubernetes is relatively simple. You will need:

  • A Kubernetes master (manager)
  • Some nodes (instances/VMs)
  • A load balancer
  • Some block storage

Putting storage aside because it is so variable, and ultimately not that expensive, let's take a look at the "list" cost of these other three items on the various clouds.

A few notes:
We tried to select the the most comparable instances across clouds but there is some variation.
The load balancer costs are approximate because they depend on rule count, data processed, etc... and that pricing varies by cloud.

AWS

  • Kubernetes master $2.40 per day
  • Nodes (3) x (2 vCPU 4GB RAM) $3.00 per day
  • Load balancer ~$0.60 per day

total $6.00 per day

EKS bills $0.10 per cluster per hour while your Kubernetes version is in standard support and $0.60 per hour once it enters extended support, so keeping clusters on current versions avoids a higher rate.

GCP

  • *Kubernetes master $2.40 per day
  • Nodes (3) x (2 vCPU 4GB RAM) $2.41 per day
  • Load balancer ~$0.60 per day

total $5.41 per day

* Google applies a $74.40 monthly credit per billing account that covers the management fee for one zonal or Autopilot cluster. If you run only one such cluster, you will not incur this fee.

Azure

  • Kubernetes master (free tier) or $2.40 per day (standard tier)
  • Nodes (3) x (2 vCPU 4GB RAM) $3.00 per day
  • Load balancer ~$0.60 per day

total $3.60 per day on the free tier, or $6.00 per day with the standard tier uptime SLA

DigitalOcean

  • Kubernetes master (free; high availability option is $40 per month)
  • Nodes (3) x (2 vCPU 4GB RAM) $2.37 per day
  • Load balancer $0.39 per day

total $2.76 per day

Most likely you are going to want to run larger instances with memory being the major need for most applications. If we normalize the instance cost around available memory the costs break down as follows:

  • AWS $0.25 per GB per day
  • GCP $0.20 per GB per day
  • Azure $0.25 per GB per day
  • DigitalOcean $0.20 per GB per day

So this all seems pretty straightforward. Per GB compute prices have mostly converged across the big three and DigitalOcean is a real bargain, but the story isn't quite that simple.

The Practice

You can use a pricing calcuator from each cloud to do the math above but somehow that never seems to match your actual bill once you are in production. The first trick is understanding what combination of services you are using to host your application(s). In the early days of cloud hosting it was quite simple as most people hosted on AWS and you really only had to pay attention to the price of your EC2 instances and perhaps some EBS, S3, and ELB services. Running a production grade Kubernetes cluster is a bit more complex.

To look at a concrete example, let’s see what it takes to run a default Kubernetes-based Convox Rack that’s ready to host a simple web application on AWS. In our case, Convox will automatically provision for you:

  • 1 VPC
  • 1 EKS cluster
  • 6 Subnets
  • 5 Route tables
  • 1 Internet gateway
  • 3 NAT gateways
  • 1 Network ACL
  • 3 Elastic IPs
  • 1 Network Load Balancer
  • 3 Security groups
  • 3 EC2 instances
  • 3 EBS volumes
  • 1 S3 bucket

By default we use t3.small instances which have 2 vCPUs and 2GB of memory. As of this writing, the cost of running this cluster in us-east-1 starts at roughly $4.45 per day at current list prices, before storage, NAT gateway, and data transfer charges, with the top line items being:

  1. EKS cluster fee $2.40 per day
  2. EC2 instances (3 x t3.small) $1.50 per day
  3. Network Load Balancer $0.54 per day plus capacity units

Once you start scaling, or needing services like RDS these costs will change significantly but this is a good baseline for a simple production ready cluster.

What About The Other Clouds?

So now let's look at the cost of running the same Convox cluster on the other clouds:

GCP

Using Spot e2-medium instances (2 vCPU and 4GB of memory) will run about $4.45 per day with the top three charges being:

  • GKE management fee $2.40 per day
  • Compute Engine (3 x Spot e2-medium) $1.45 per day
  • Network Load Balancing $0.60 per day

We found with GCP we are able to get away with running Spot VMs which are much cheaper than regular instances. On-demand e2-medium instances would bring the total cost to about $5.41 per day for the same 3 instance cluster

Azure

For Azure to achieve a stable and reliable cluster we found we needed to run their D2as v5 instances (2 vCPU and 8GB of memory) which drives the daily cost of a cluster to roughly $6.80 per day on the free tier, or about $9.20 per day with the standard tier uptime SLA
With the top three charges being:

  • Instances (3 x D2as v5) $6.19 per day
  • Standard tier fee (optional) $2.40 per day
  • Load balancer $0.60 per day

DigitalOcean

Using their s-2vcpu-4gb droplet (2 vCPU and 4GB of memory) will run about $2.76 per day plus object storage, with the top charges being:

  • Instances $2.37 per day
  • Load balancer $0.39 per day
  • Spaces object storage (usage based)

Choosing The Right Cloud Matters

As you can see the costs for equivalent clusters can vary pretty significantly across clouds. One thing you might notice right away is that underlying instance specs (vCPU/Ram) are a bit different between clouds. The default instance sizes that we selected are the smallest instances that we were able to use and still have reliable performance for the specific provider and we run three instances per cluster by default.

This highlights one of the reasons we built our multi-cloud Racks which is that different workloads can have noticeable cost differences across clouds depending on the specific resources or underlying services they require. If your workload is more CPU intensive than RAM intensive, or if you require large quantities of block storage, your costs could really vary across providers. Of course these differences can be significantly magnified as you scale. Depending on the specific needs of your application choosing the cost-optimized cloud provider for your requirements can mean big savings.

There are a number of cost management and savings strategies for each of the cloud providers which we have learned, and several that we have built into our platform, but I will save those for an upcoming post.

If you would like to save yourself the headache of provisioning, managing, and cost-optimizing all this infrastructure yourself, I encourage you to check out our free and open source Convox multi-cloud Racks. With support for AWS, GCP, DigitalOcean and Azure we allow you to run on the cloud that is the best fit for you!

Try It Out!

Frequently Asked Questions

Is Kubernetes free?

Kubernetes is free, open source software. The costs come from the infrastructure it runs on: managed control plane fees, worker nodes, load balancers, and storage.

How much does a Kubernetes cluster cost per month?

A minimal production cluster with three small nodes costs roughly $85 to $185 per month at 2026 list prices. DigitalOcean sits at the low end because its control plane is free, and AWS sits at the high end at about $6.00 per day.

How much does the EKS control plane cost?

Amazon EKS charges $0.10 per cluster per hour, about $2.40 per day, while your Kubernetes version is in standard support. The fee rises to $0.60 per cluster per hour once the version enters extended support.

What is the GKE management fee?

GKE charges $0.10 per cluster per hour for both Standard and Autopilot clusters. Google applies a $74.40 monthly credit per billing account that covers the fee for one zonal or Autopilot cluster.

Does Azure charge for the AKS control plane?

The AKS free tier has no control plane charge. The standard tier, which adds a financially backed uptime SLA, costs $0.10 per cluster per hour, and the premium tier with long term support costs $0.60 per cluster per hour.

Which cloud is cheapest for running Kubernetes?

DigitalOcean is the cheapest for small clusters at about $2.76 per day for three 2 vCPU 4GB nodes and a load balancer, because the control plane is free. On AWS, Google Cloud, and Azure, Spot or discounted instances cut node costs significantly.

Let your team focus on what matters.