Hi all, I just released a new version of <a href="https://github.com/vitobotta/hetzner-k3s">https://github.com/vitobotta/hetzner-k3s</a> that is a complete rewrite in Crystal that is faster, better overall and allows me to offer simple standalone executables. The previous version was written in Ruby, so users had to either set up a Ruby environment, or use a Docker image instead. This is no longer necessary.<p>This is my first project in Crystal and I love it already! It's syntax is lovely - similar to Ruby's - and it's FAST!<p>I would appreciate any feedback anyone might have - if you are a Kubernetes user as well as a Hetzner customer, please give it a try and let me know what you think, if you encounter any issues etc.<p>During my tests I was able to create a cluster with highly available control plane (3 masters behind a load balancer) and 5 nodes in multiple regions in just *3 minutes*. This is the total time to create the resources (servers, firewall, load balancer, private network), deploy Kubernetes to all the nodes, install some stuff required to provision load balancers and persistent volumes out of the box, and install an upgrade controller to easily upgrade the Kubernetes version (I use k3s as Kubernetes distro). I don't think there is a faster way to create a production Kubernetes cluster!<p>Do you have Kubernetes clusters in Hetzner already? If yes, which tool did you use to create them? Would be interested to know more about alternatives people are using.
Cannot stop myself from commenting because it has everything of my interest. Kubernrtes, Hetzner and Crystal.<p>Another kubernetes installer. I think there's one Kubematic or similar already for Hetzner.<p>I'm going to try this and be possibly contribute back.<p>Few questions:<p>Why k3s why not k0s?
What about cluster upgrades? Are they covered?<p>I'm probably going to setup a staging environment but can anyone suggest me a good CI/CD for Kubernetes? How about GitHub actions?<p>Secondly, I need to run databases lots of them some in range of 500 GB or so and backup/restore is important. Any suggestions there?
I have a cluster using terraform-hcloud-kube-hetzner [0] and I'm quite happy with it.<p>It uses MicroOS for rolling releases and auto-upgrades for less maintenance. I'm quite happy with it so far, and I like that it integrates with terraform.<p>[0] <a href="https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner">https://github.com/kube-hetzner/terraform-hcloud-kube-hetzne...</a>
Looks great! I see your tool uses Hetzner block volumes for storage. How do you manage your data backups (as Hetzner does not offer anything for their block storage volumes as far as I know).<p>My current setup is also on Hetzner. 1 master and 3 worker nodes. Managed by Rancher and I use Longhorn (also from Rancher Labs) for storage. It runs stable for two years now. But looking for a simpler solution, so I looked into k3s and k0s last week -- will also look into your tool ;-).
> Do you have Kubernetes clusters in Hetzner already? If yes, which tool did you use to create them? Would be interested to know more about alternatives people are using.<p>Yes. I use ClusterAPI[1] with the cluster-api-provider-hetzner[2] & Talos[3] (and Talos' cluster-api components) for that.<p>[1]: <a href="https://cluster-api.sigs.k8s.io/user/quick-start.html" rel="nofollow">https://cluster-api.sigs.k8s.io/user/quick-start.html</a><p>[2]: <a href="https://github.com/syself/cluster-api-provider-hetzner">https://github.com/syself/cluster-api-provider-hetzner</a><p>[3]: <a href="https://talos.dev" rel="nofollow">https://talos.dev</a>
Sweet! I have no interest in Kubernetes, but this lead me to give Crystal a try. Feels solid so far, nice standard lib for the usual things (json, http etc.). Compiler warnings helped find errors quickly. The language documentation reads very easily. And best of all: standalone executables.
Hetzner has some attractively priced dedicated servers - for some heavier workloads that might be nice. Do they use a very different management API? (They have a cancellation period of "30 days to the end of the month", which would complicate matters.)
I have a development kubernetes cluster on hetzner. I used Ansible and K3S.<p>The most challenging part to me is setting up the disk encryption using LUKS, it requires a few manual steps.
Great job! How were you able to do a stand-alone binary for Mac? I was able to for Linux via their Alpine/MUSL image, but never figured out how to for Mac.