FR
live

Your Kubernetes cluster costs $300/month on a hyperscaler — k3s on a $6 VPS does the same thing

GKE Autopilot, EKS Fargate, and AKS Automatic promise serverless Kubernetes with zero ops overhead. In July 2026, for under 20 pods and a team that knows Linux, k3s on a Hetzner VPS at $6/month delivers identical deployments, zero vendor lock-in, and no egress bill surprises.

Your Kubernetes cluster costs $300/month — k3s on a $6 VPS does the same thing — ETTAYEB illustration

On July 1, 2026, Google rolled out pod-based billing to GKE Standard clusters via the new Autopilot Compute Class, bringing per-resource pricing — CPU, memory, ephemeral storage — to clusters outside native Autopilot mode. On July 10, AWS enabled billing for EKS Auto Mode as it exited preview, adding a $0.04 per vCPU-hour surcharge on top of EC2 pricing with a one-minute minimum. On July 15, Microsoft announced that AKS Automatic reached general availability across all Azure regions, billing $116.80 per cluster per month for the control plane alone.

Meanwhile, a k3s cluster on three Hetzner CX22 VPS instances at $4/month each has been running the same PostgreSQL + Redis + Go API stack for eighteen months — no forced upgrades, no unpredictable egress charges. This is not a lab experiment. It is the production infrastructure of multiple bootstrapped SaaS products running under 20 pods, documented continuously on the k3s forum and Hetzner Cloud discussions. Here is why the serverless promise from hyperscalers is a serenity tax — and how to know whether you are paying it for nothing.

The Kubernetes market in mid-2026

GKE Autopilot now charges $0.0445 per vCPU-hour and $0.0049 per GiB-hour in Iowa (us-central1), with a flat $0.10 per cluster per hour management fee — roughly $72/month for the control plane before the $74.40 Free Tier credit (one zonal or Autopilot cluster). The pod-based model does not bill for OS overhead, system DaemonSets, or pending pods — it is the most transparent of the three. The flip side: egress to the Internet is priced at Google Cloud CDN rates, $0.08 to $0.12 per GiB depending on destination, a line item that balloons the moment you serve static assets or pull container images from outside GCR.

EKS holds its $0.10 per cluster per hour for the control plane (standard support, 14 months per Kubernetes version). EKS Auto Mode, fully billable since July 10, adds $0.04 per vCPU-hour on top of EC2 and bills per second with a one-minute floor — for a 3-node t3.medium cluster (2 vCPU, 4 GiB), the monthly bill hits ~$210 (control plane + EC2 + Auto Mode), excluding AWS egress at $0.09 per GiB up to 10 TB. EKS Fargate charges $0.04048 per vCPU-hour and $0.004445 per GiB-hour for Linux x86, putting a permanently running 1 vCPU / 2 GiB pod at roughly $35/month — a fair price for pure serverless, provided you accept the Fargate lock-in (no DaemonSets, no privileged containers).

AKS Automatic, GA since July 15, bills $116.80/month for the control plane and adds a per-vCPU surcharge by instance family: $7.05 per General Purpose vCPU, $10.96 per Compute Optimized, $11.16 per Memory Optimized. For three Standard_D2s_v3 nodes (2 vCPU, 8 GiB, ~$140 in VMs), the total reaches ~$300/month. Azure egress starts at $0.087 per GiB in Zone 1. The Free tier still exists (no control plane charge, no SLA, 10-node recommended cap) — it remains the only realistic on-ramp for testing AKS without commitment.

DigitalOcean Kubernetes (DOKS) keeps its free control plane and nodes from $12/month in Basic mode (shared vCPU, 2 GiB RAM). The HA control plane costs $40/month. A 3-node Basic cluster thus runs $36 to $76/month depending on HA. Egress is free up to 2,000 GiB per node per month, then $0.01 per GiB — far and away the most competitive exit pricing on the market.

On the other end: k3s, the lightweight Kubernetes from Rancher Labs / SUSE, runs on any Linux host with a kernel and cgroups. The binary is under 100 MB, bundles containerd, Flannel, CoreDNS, Traefik, and a local-path provisioner, and defaults to SQLite (with etcd, PostgreSQL, or MySQL as options). No control plane cost, no management fees, no dictated upgrade schedule.

$6 versus $300: the math that stings

Take a modest production cluster — 10 to 15 pods, a Go API, PostgreSQL, Redis, a static frontend, Let’s Encrypt certificates:

Control PlaneCompute (3 nodes)Egress (500 GiB/month)Monthly Total
GKE Autopilot~$72 ($0.10/h)~$95 (2 vCPU + 4 GiB × 3 pods)~$50~$217
EKS + EC2~$73 ($0.10/h)~$105 (3× t3.medium)~$45~$223
AKS Automatic$116.80~$140 (3× D2s_v3) + ~$42 vCPU surcharge~$44~$343
DigitalOcean DOKS$0 (or $40 HA)$36 (3× Basic $12)$0 (within quota)$36 to $76
k3s on Hetzner CX22$0~$12 (3× $4)$0 (20 TB included)~$12

k3s at $12/month runs the same stack, with the same YAML manifests, the same kubectl apply, the same Helm charts, and the same cert-manager. The gap is not about functionality — it is about who carries the infrastructure burden: you or the provider.

Add an external load balancer and block storage: on Hetzner, a CCX11 Load Balancer costs $5.39/month and a 100 GiB Volume costs $5/month. The full cluster — 3 workers, 1 LB, 100 GiB of persistent storage — stays under $25/month. The equivalent on AWS (3× t3.medium + ALB + 100 GiB EBS gp3) comfortably exceeds $250.

What managed Kubernetes actually sells you

Managed offerings do not sell Kubernetes — they sell three things: ops elimination, auto-scaling, and native cloud integration (IAM, VPC, logging, monitoring).

GKE Autopilot delivers most fully on the first promise. You provision no nodes, you patch no OS, you manage no DaemonSets — pods consume exactly what they request, billed per second with no minimum. The node becomes an abstraction you never see. The price of that serenity: pods are capped at 110 GiB of ephemeral storage in pod-based mode, and any pod requiring a DaemonSet (such as a Prometheus Node exporter) must switch to node-based mode, which reintroduces node management.

EKS Fargate offers the same promise — no nodes, no patching — but with tighter constraints: no DaemonSets, no privileged containers, no hostNetwork, and a cold start of 30 to 60 seconds that excludes latency-sensitive workloads.

AKS Automatic is the newest and most expensive. Microsoft handles node upgrades, provisioning, scaling, and network configuration, with an SLA covering pod availability (uptime plus readiness). The trade-off: a per-vCPU surcharge with no equivalent at GKE or EKS, and an Azure management interface that still lags behind the GCP console in usability.

In all three cases, you lose control over your patch level, runtime choice (no Kata Containers or gVisor outside beta configurations), and the freedom to switch providers without rewriting deployments. A Kubernetes cluster answers to standard manifests — but IAM integrations, load balancer annotations, storage classes, and network policies are vendor-locked.

The real cost of k3s: human time

k3s does not cost zero in operational overhead. You need to:

  • Provision nodes: 15 minutes per machine with the curl -sfL https://get.k3s.io | sh - bootstrap script
  • Set up storage: local-path-provisioner ships by default; Longhorn or OpenEBS for multi-node replication
  • Manage certificates: cert-manager installs with a single helm install and integrates with Let’s Encrypt like any cluster
  • Monitor: Prometheus + Grafana via the kube-prometheus-stack chart, Loki for logs — one hour to set up
  • Back up etcd (if using etcd instead of SQLite): a 10-line cron script, tested in ten minutes

For a two-developer team comfortable with Linux, the operational overhead is 2 to 4 hours per month (updates, monitoring, incident response). At a $100/hour loaded rate, that is $200 to $400/month. Add opportunity cost — time not spent writing product code — and k3s is not « free ».

This is where the reasoning shifts based on your context. If you bill your dev time above $150/hour, managed Kubernetes is a cost-effective velocity multiplier. If you are a seed-stage startup with a tight runway, the $250/month gap between EKS and k3s represents $3,000/year — enough to fund an intern for two months, or buy six months of cold outreach.

The verdict: three thresholds to decide by

Under 15 pods, tight runway. Run k3s on three Hetzner CX22 VPS instances (or equivalent Netcup / OVH / Vultr). Install cert-manager, ingress-nginx, and longhorn, back up etcd on a cron, and budget two hours a month for maintenance. You save $2,000 to $3,000/year compared to an equivalent EKS or GKE cluster. If you genuinely do not want to touch Linux, DOKS at $36/month is the best value-for-money compromise on the market — free control plane, optional managed backups, no-surprise interface.

Between 15 and 50 pods, scaling fast. Move to GKE Autopilot with the Free Tier ($74.40 monthly credit, one free cluster). The pod-based model eliminates node management without major functional sacrifices, and scaling up requires no architectural rethink. If your stack is already on AWS, EKS with Fargate for stateless workloads and an EC2 node group for stateful ones is the proven pattern — but expect $150 to $300/month for control plane and nodes alone.

Above 50 pods, multi-cloud, or regulatory compliance. Managed is the right call, but choose based on the ecosystem you already inhabit. GKE for GCP-native teams who want the least friction. EKS if you already have Reserved Instances or a Savings Plan on EC2 — Auto Mode starts to pay off above 30 nodes. Avoid AKS unless your stack is exclusively .NET / Azure Entra ID / Logic Apps — the AKS Automatic per-vCPU surcharge is hard to justify against GKE, and the SLA-free Free tier caps at 10 nodes.

A Kubernetes cluster does not need to be expensive to be reliable. It needs to be sized for what it actually runs, not for what hyperscaler marketing convinces you is indispensable.

References

The cyber brief, every Tuesday

The flaws that matter and the patches to apply, in a ten-minute read.

No spam. One-click unsubscribe.
read next

On the same topic

← Back to the feed

Type at least two characters.

navigate open esc dismiss