_ _ _ _____
| |__ ___| |_ _____ __ ___ _ __ | | _|___ / ___
| '_ \ / _ \ __|_ / '_ \ / _ \ '__|____| |/ / |_ \/ __|
| | | | __/ |_ / /| | | | __/ | |_____| < ___) \__ \
|_| |_|\___|\__/___|_| |_|\___|_| |_|\_\____/|___/
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)
- 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 documentation page for a tutorial on how to set up a cluster with the most common setup to get you started.
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.
- Installation
- Creating a cluster
- Setting up a cluster
- Recommendations
- Maintenance
- Deleting a cluster
- Load balancers
- Storage
- Troubleshooting
- Contributing and support
I want to give a big thank you to Alamos GmbH for sponsoring this project! Their support has been incredibly helpful, giving me the chance to focus more time and effort on the work. Because of their contribution, I’ve been able to dedicate myself to creating a simpler migration strategy for moving clusters from v1.x to v2.x. I’m confident this collaboration will lead to even more improvements down the road. Thank you so much!
Also thanks to @magicpages, @jonasbadstuebner, @worldsayshi, @QuentinFAIDIDE and the other sponsors. Your contributions are very much appreciated!
If you like this project and would like to help its development, consider becoming a sponsor too.
Everyone interacting in the hetzner-k3s project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.
This tool is available as open source under the terms of the MIT License.