Why not managed Kubernetes?
Managed Kubernetes (GKE, EKS, LKE) starts at ~$70/month before you even run a pod. For small production sites that each get a few thousand visitors, that's overkill.
A single Hetzner CAX21 (ARM64, 4 vCPU, 8GB RAM) costs €7.50/month and comfortably runs several Next.js sites, a MySQL database, and all the Kubernetes control plane components via k3s.
The stack
- k3s — lightweight Kubernetes distribution, single binary
- Traefik — ingress controller (comes bundled with k3s)
- cert-manager — automatic Let's Encrypt TLS certificates
- Helm — deployment management for each site
- GitHub Actions — CI/CD that builds and deploys on push
Each site gets
- Its own namespace
- A Helm release with deployment, service, ingress
- Automatic TLS via cert-manager ClusterIssuer
- Rolling updates with zero downtime
- Resource limits to prevent one site from eating the node
The result
Multiple production sites running reliably on a €7.50/month server, each deploying automatically on git push. Not bad.