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.
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.
In theory the set of services required to run a web app on Kubernetes is relatively simple. You will need:
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.
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.
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.
total $3.60 per day on the free tier, or $6.00 per day with the standard tier uptime SLA
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:
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.
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:
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:
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.
So now let's look at the cost of running the same Convox cluster on the other clouds:
Using Spot e2-medium instances (2 vCPU and 4GB of memory) will run about $4.45 per day with the top three charges being:
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
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:
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:
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!
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.
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.
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.
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.
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.
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.