“Self-managed” means you install and run Kubernetes yourself (k3s, kubeadm, RKE2) on plain servers; “managed” means a provider runs the control plane for you. The cost comparison is really infrastructure cost versus your engineering time.
Infrastructure cost: self-managed wins
With no control-plane fee and the cheapest possible compute, self-hosting is the lowest-cost option on paper:
| Approach | Control plane | Cheapest node | Notes |
|---|---|---|---|
| Self-managed on Hetzner | $0 (you run it) | ~€3.79/mo (CX22) | 20 TB traffic included |
| Managed, free control plane (DigitalOcean, Civo, Vultr) | $0 | ~$10–$12/mo | provider runs masters |
| Managed, paid control plane (EKS, GKE) | ~$73/mo | ~$24–$30/mo | deepest ecosystems |
Snapshot captured June 2026 — verify on each vendor’s pricing page.
The cost you don’t see on the invoice
Self-managing adds work that managed services absorb:
- Control-plane HA: running 3 etcd/API nodes yourself for resilience.
- Upgrades: Kubernetes ships ~3 minor versions a year; you own every upgrade.
- Backups, monitoring, security patching, certificate rotation.
- On-call: if the control plane goes down at 2am, that’s you.
A few hours of senior engineering time per month can easily exceed a $73 control-plane fee — which is exactly why managed services exist.
The middle ground
A managed free-control-plane provider gives you the best of both: no control-plane fee, cheap nodes, and the provider handles control-plane HA and upgrades. For most small and mid-size teams, that’s the lowest total cost of ownership. See the cheapest managed Kubernetes ranking and free-control-plane providers.
Decision rule
- Strong ops team, cost-critical, predictable load → self-manage on cheap servers.
- Want to ship, value reliability → managed, free control plane.
- Need deep cloud integration / widest regions → EKS or GKE, fee included.
Whatever you pick, estimate the infrastructure side with the calculator and add your own time as a line item.