Terraform module for Kubernetes cluster deployment on Hetzner Cloud
Top 15.7% on sourcepulse
This project provides a Terraform module for deploying and managing highly optimized, auto-upgrading Kubernetes clusters on Hetzner Cloud. It targets users seeking a cost-effective, maintenance-free Kubernetes solution comparable to managed services like GKE Autopilot, leveraging k3s on openSUSE MicroOS for efficiency and security.
How It Works
The solution utilizes Terraform for infrastructure provisioning and k3s as the Kubernetes distribution. openSUSE MicroOS is chosen as the base OS for its container-optimized, read-only filesystem, default security hardening, and automatic update/rollback capabilities via BTRFS snapshots. k3s is selected for its single-binary deployment, fast setup, and integrated features like Helm controller and automatic upgrades via system-upgrade-controller.
Quick Start & Requirements
terraform init --upgrade
, terraform validate
, terraform apply -auto-approve
within the project directory.kubectl
CLI, hcloud
CLI.scripts/create.sh
) assists in creating the necessary kube.tf
configuration and OpenSUSE MicroOS snapshot.Highlighted Details
Maintenance & Community
Licensing & Compatibility
Limitations & Caveats
Manual intervention may be required for scaling down nodes to avoid cluster instability. While automatic upgrades are default, disabling them requires careful manual management, especially for HA setups with fewer than three control-plane nodes.
5 days ago
Inactive