Cloud Native Tips & Tricks

Hetzner Kubernetes: a complete guide for 2026

How to run Kubernetes on Hetzner Cloud. Compare DIY, k3s, kube-hetzner, and managed options. Pricing, features, and step-by-step setup.

Hetzner Cloud has become one of the most popular infrastructure providers for running Kubernetes in production. The combination of low pricing, NVMe storage, dedicated vCPU options, and European data centers makes it attractive for teams that want predictable costs without the complexity of hyperscaler billing.

But Hetzner does not offer a native managed Kubernetes service. That means you need to choose how to get Kubernetes running on Hetzner infrastructure. This guide covers every major approach, from fully manual setups to managed platforms, so you can pick the one that matches your team’s skills and operational appetite.

Why run Kubernetes on Hetzner?

Hetzner’s pricing is the most obvious draw. A dedicated 8-vCPU instance (CCX33) costs roughly a quarter of what comparable instances cost on AWS or GCP. When you factor in Hetzner’s 20 TB of free outbound traffic per server per month, the savings compound quickly for bandwidth-heavy workloads.

Beyond cost, Hetzner offers:

The trade-off is that Hetzner provides infrastructure primitives (servers, networks, load balancers, volumes), not platform services. There is no managed Kubernetes, no managed database, and no managed container registry in Hetzner’s portfolio. You either build these yourself or use a third-party platform.

Approaches to running Kubernetes on Hetzner

There are four main approaches, each with different trade-offs between control and operational effort.

1. Manual installation with kubeadm

The most hands-on approach. You provision Hetzner Cloud servers, install a Linux distribution, and use kubeadm to bootstrap a Kubernetes cluster.

What you manage: Everything. Control plane nodes, etcd, CNI plugin, CSI driver, load balancer integration, upgrades, certificate rotation, backup, and monitoring.

When it makes sense: Learning environments, or teams with deep Kubernetes expertise who want full control over every component.

Effort: High. Expect to spend several days on initial setup and ongoing time on maintenance. You will need to integrate the Hetzner Cloud Controller Manager and Hetzner CSI Driver manually.

2. k3s on Hetzner

K3s is a lightweight Kubernetes distribution that simplifies installation. It bundles the control plane components into a single binary and includes Traefik as an ingress controller and local-path-provisioner for storage.

Several community projects automate k3s deployment on Hetzner:

What you manage: Cluster upgrades, node scaling, monitoring, backup, load balancer configuration, and certificate management. The initial setup is automated, but day-2 operations remain your responsibility.

When it makes sense: Small to mid-size clusters where you want a faster start than kubeadm but are comfortable managing infrastructure. Popular for home labs and development environments.

Effort: Medium. Initial setup takes minutes instead of hours, but you still own the operational lifecycle.

3. Cluster API with Hetzner provider

Cluster API (CAPI) is a Kubernetes project that uses declarative APIs to manage cluster lifecycle. The Hetzner provider for Cluster API lets you define clusters as Kubernetes resources and manage them with GitOps workflows.

What you manage: A management cluster running CAPI controllers, plus the lifecycle of workload clusters. CAPI handles provisioning and upgrades but you still manage the management cluster itself, monitoring, and networking.

When it makes sense: Platform teams building internal Kubernetes platforms who want standardized, declarative cluster management across multiple environments.

Effort: Medium-high. Requires understanding of CAPI concepts and operating a management cluster.

4. Managed Kubernetes platform

A managed platform like Cloudfleet handles the control plane, node provisioning, upgrades, networking, and load balancing. You deploy workloads; the platform manages everything else.

What you manage: Your applications and their Kubernetes manifests. The platform handles control plane operations, Kubernetes version upgrades, node scaling, load balancer provisioning, and certificate management.

When it makes sense: Teams that want to use Kubernetes on Hetzner without building and maintaining cluster infrastructure. Production workloads where uptime and automated operations matter more than full infrastructure control.

Effort: Low. Cluster creation takes under two minutes. Adding Hetzner as an infrastructure provider requires a single API token.

Comparison table

kubeadmk3s / kube-hetznerCluster APIManaged (Cloudfleet)
Setup timeHours-daysMinutesHoursMinutes
Control plane managementYouYouYou (mgmt cluster)Managed
Node auto-provisioningNoNoPartialYes
Kubernetes upgradesManualManualDeclarativeAutomated
Load balancer integrationManualManualManualAutomated
Multi-cloud supportNoNoYes (with providers)Yes (native)
Monitoring includedNoNoNoYes
Uptime SLANoneNoneNone99.95%
CostHetzner infra onlyHetzner infra onlyHetzner infra onlyHetzner infra + management fee
Best forLearningSmall clusters / labsPlatform teamsProduction workloads

Hetzner Kubernetes with Cloudfleet: how it works

Hetzner Kubernetes architecture with Cloudfleet: managed control plane, encrypted overlay network, worker nodes across Hetzner Cloud and Dedicated regions

Cloudfleet provides a fully managed Kubernetes experience on Hetzner Cloud that eliminates the operational overhead of running your own cluster infrastructure. Here is what the setup looks like.

Step 1: Create a cluster

Sign up at console.cloudfleet.ai and create a new cluster. The control plane is provisioned in under two minutes. On the Pro tier, the control plane runs across multiple availability zones with a 99.95% uptime SLA. The Basic tier is free for clusters up to 24 vCPUs.

Step 2: Add Hetzner as a fleet

A fleet is a connection to a cloud provider account. To add Hetzner, you need a Hetzner Cloud API token with read and write permissions. Enter the token in the Cloudfleet console, and the platform handles everything else: creating networks, configuring the cloud controller manager, and setting up the CSI driver.

Step 3: Deploy workloads

Once the fleet is connected, deploy workloads using standard Kubernetes tools. Cloudfleet’s node auto-provisioner automatically selects the optimal Hetzner server type for your workload requirements and provisions nodes on demand. When workloads scale down, unused nodes are removed automatically.

You can control placement with standard Kubernetes labels:

nodeSelector:
  cfke.io/provider: hetzner
  cfke.io/region: europe
  topology.kubernetes.io/region: nbg1

What is included

Hetzner Kubernetes pricing

Hetzner infrastructure costs are paid directly to Hetzner. Cloudfleet charges a management fee on top. Here is what the combined cost looks like for common configurations:

ConfigurationHetzner cost (approx.)Cloudfleet management
Small (4 vCPU / 16 GB, CCX23)~€15/monthFree (Basic tier, under 24 vCPU)
Medium (16 vCPU / 64 GB, CCX43)~€50/monthFree (Basic) or $79/month (Pro)
Production (48 vCPU across nodes)~€150/month$79/month (Pro, 99.95% SLA)

Compare this to equivalent configurations on hyperscalers:

ConfigurationAWS EKSGCP GKEHetzner + Cloudfleet
Control plane$72/month$72/monthFree (Basic) / $79 (Pro)
4 vCPU / 16 GB compute~$120/month~$110/month~€15/month
Egress (1 TB)~$90~$80Free (included)
Total~$282/month~$262/month~€15-94/month

The difference is not a rounding error. For teams running production Kubernetes workloads, Hetzner with a managed platform can reduce infrastructure costs by 60-80% compared to hyperscalers.

Common use cases

Development and staging environments

The free Basic tier makes Hetzner Kubernetes practical for development clusters that would be expensive to run on AWS or GCP. Clusters hibernate after 7 days of inactivity on the Basic tier, preserving state without incurring management costs.

European data sovereignty

All of Hetzner’s European data centers are in Germany and Finland, subject to EU data protection law. Cloudfleet is a European company headquartered in Berlin, not subject to the US CLOUD Act. For organizations with GDPR or data residency requirements, this combination provides a fully European Kubernetes stack.

Cost-sensitive production workloads

Web applications, APIs, and microservices that need reliable Kubernetes without hyperscaler pricing. The combination of Hetzner’s low compute costs, free egress, and Cloudfleet’s managed operations makes this the most cost-effective way to run production Kubernetes.

Hybrid and multi-cloud

Cloudfleet clusters can span Hetzner and other providers simultaneously. A common pattern is running baseline workloads on cost-effective Hetzner infrastructure while bursting to AWS or GCP for specific services or GPU workloads.

Getting started

  1. Create a free Cloudfleet account (no credit card required)
  2. Create a cluster in the Cloudfleet console
  3. Add your Hetzner Cloud API token as a fleet
  4. Deploy your first workload with kubectl

For a detailed walkthrough, see the getting started guide. For storage setup, see the Hetzner persistent volumes tutorial.

Sign up for Cloud Native Newsletter

Curated monthly updates featuring the biggest news in the cloud native community, along with tutorials and blogs, delivered to your inbox.