A set of functions to setup K3s clusters on HCloud, based on vitobotta's hetzner-k3s
Hetzner-k3s is nicely engineered general k3s installation tool on Hetzner, with a large degree of declarative possibilities for customization. As terraform, it is a single static binary and idempotent, with a single source of truth. In contrast to terraform it is straightforward to use, with far less abstractions but a lot of built in best practices, incl CNI and autoscaling, plus faster.
This repo here provides a set of python functions, incl. possibly useful support tools to organize them, in order to further automate around the pure k3s installation, which hetzner-k3s provides.
This is created, from your laptop:
flowchart LR
A[World] --> B[Bastion Proxy<br/>IP pub<br/>Opt.LoadBalancer]
B --priv net--> M1[Master 1<br/>...<br/>Master 3]
B --priv net--> w1[Worker 1<br/>...<br/>Worker n]
B --priv net--> a1[Autoscaled 1<br/>...<br/>Autoscaled n]
That bastion server is the only one with a public IP, and is equipped with a l4 loadbalancer, forwarding the traffic into the cluster, like a hetzner loadbalancer would do.