Open source

Production Kubernetes on Hetzner Cloud, in minutes.

Create fully-configured clusters with a single command. No Terraform to learn, no management cluster required. Your infrastructure, your control.

$ hetzner-k3s create --config cluster.yaml
Creating network...
Creating firewall...
Creating masters (3 nodes)...
Installing k3s...
Cluster ready in 2m 34s
$ kubectl get nodes
NAME STATUS ROLES AGE master-1 Ready master 2m master-2 Ready master 2m master-3 Ready master 2m worker-1 Ready <none> 1m
2-3m HA cluster setup
500 Nodes in 11 minutes
80% Savings vs AWS/GCP
3,100+ GitHub stars

Built for teams who want simplicity without compromise.

Fast by design

3-node HA clusters in 2-3 minutes. Parallel node provisioning optimized for Hetzner's API. No waiting for Terraform plans.

One tool, one config

A single YAML file defines your entire cluster. Human-readable, version-controllable, no external dependencies.

Your credentials stay local

No third-party accounts. No platform fees. Your API token never leaves your machine. Complete infrastructure control.

Infrastructure costs that make sense.

hetzner-k3s is free. You only pay for Hetzner Cloud.

hetzner-k3s + Hetzner Recommended
182/mo

3 masters + 10 workers

  • No platform fees
  • Traffic included
  • DDoS protection
  • EU data centers
AWS EKS
$1,595+

Same cluster size

$73/mo control plane + EC2 + NLB + data transfer

Managed on Hetzner
420+

Same infrastructure

Per-vCPU management fees + control plane tier

Cluster Configuration Monthly
Development 1 master, 2 workers (CX23) ~€12
Small production 3 masters, 3 workers (CPX22) ~€48
Medium production 3 masters, 10 workers (CPX32) ~€182
Large production 3 masters, 50 workers (CPX32) ~€741

Production-ready out of the box.

High availability

Deploy masters across multiple Hetzner locations. Regional resilience built in.

Autoscaling

Define min/max instances per pool. Cluster Autoscaler handles the rest.

Multiple node pools

Mix x86 and ARM instances. Cost-effective CAX instances available.

Private networking

All cluster traffic over Hetzner's private network. Secure by default.

Zero-downtime upgrades

System Upgrade Controller keeps k3s current without service interruption.

Pre-installed components

Hetzner CCM, CSI driver, Cluster Autoscaler. Ready to deploy workloads.

Get started in minutes.

1

Install

macOS / Linux
brew install vitobotta/tap/hetzner_k3s

Or download the binary from GitHub Releases.

2

Configure

cluster.yaml
hetzner_token: <your-token>
cluster_name: my-cluster
k3s_version: v1.32.0+k3s1

networking:
  ssh:
    public_key_path: "~/.ssh/id_ed25519.pub"
    private_key_path: "~/.ssh/id_ed25519"

masters_pool:
  instance_type: cpx22
  instance_count: 3
  locations: [fsn1]

worker_node_pools:
  - name: workers
    instance_type: cpx32
    instance_count: 3
    location: fsn1
3

Create

Terminal
hetzner-k3s create --config cluster.yaml

Your cluster will be ready in 2-3 minutes. Kubeconfig is saved automatically.

What gets installed.

k3s

Lightweight, certified Kubernetes by Rancher. Single binary, lower resource footprint.

Hetzner CCM

Automatic load balancer provisioning and node lifecycle management.

Hetzner CSI

Persistent volumes via Hetzner block storage with dynamic provisioning.

Cluster Autoscaler

Automatic scaling based on workload demand.

System Upgrade Controller

Automated, zero-downtime k3s upgrades.

Private network & firewall

Secure by default on Hetzner's infrastructure.

Who uses it.

Startups

Running production workloads without enterprise cloud costs.

Development teams

Ephemeral test clusters in minutes. Fast iteration cycles.

Agencies

Reproducible, version-controlled client infrastructure.

EU companies

Data sovereignty with EU data centers, full infrastructure control.

Free and open source

MIT licensed. Use it for personal projects, startups, or enterprise. No hidden fees, no premium tiers.

View source

Professional support

Need help? Cluster architecture review, deployment assistance, custom features, and training available.

Get in touch