The easiest and fastest way to create production grade Kubernetes clusters in Hetzner Cloud
What is this?
This is a CLI tool to super quickly and super easily create and manage Kubernetes clusters in Hetzner Cloud using the lightweight Kubernetes distribution k3s from Rancher. In a recent test I created a 200 node HA cluster (3 masters, 197 worker nodes) in just under 4 minutes (when using only public network since private networks are limited to 100 instances per network). I believe this is a world record :)
Hetzner Cloud is an awesome cloud provider which offers a truly great service with the best performance/cost ratio in the market and locations in both Europe and USA.
k3s is my favorite Kubernetes distribution because it uses much less memory and CPU, leaving more resources to workloads. It is also super quick to deploy and upgrade because it's a single binary.
Using hetzner-k3s
, creating a highly available k3s cluster with 3 masters for the control plane and 3 worker nodes takes 2-3 minutes only. This includes
- creating all the infrastructure resources (instances, private network, firewall, load balancer for the API server for HA clusters)
- deploying k3s to the nodes
- installing the Hetzner Cloud Controller Manager to provision load balancers right away
- installing the Hetzner CSI Driver to provision persistent volumes using Hetzner's block storage
- installing the Rancher System Upgrade Controller to make upgrades to a newer version of k3s easy and quick
- installing the Cluster Autoscaler to allow for autoscaling node pools
Also see this wiki page for a tutorial on how to set up a cluster with the most common setup to get you started.
If you like this project and would like to help its development, consider becoming a sponsor.
Who am I?
I'm the Lead Platform Architect for event management platform Brella, based in Finland. I am responsible for all the technical aspects of the platform including development, infrastructure and mentoring developers. In my free time I act as a bug bounty hunter to find and responsibly disclose vulnerabilities in web applications.
See my public profile with links for connecting with me here.
Docs
- Installation
- Creating a cluster
- Recommendations
- Maintenance
- Deleting a cluster
- Load balancers
- Storage
- Troubleshooting
- Contributing and support
Code of conduct
Everyone interacting in the hetzner-k3s project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.
License
This tool is available as open source under the terms of the MIT License.