TL;DR: Recently (June 2020) Hetzner added a cloud native load balancer with Kubernetes support. Learn how to use it.
Until a couple of months ago (June 2020) Germany Hetzner Cloud provider did not have a native cloud load balancer in its portfolio.
To achieve a “LoadBalancer” service in an Hetzner Kubernetes cluster you must to use a software solution like as MetalLB.
I wrote this previous post about how to create a Rancher Kubernetes cluster on Hetzner cloud using MetalLB.
How to create a Kubernetes cluster with Rancher on Hetzner
TL;DR: In 15 minutes you can have a lab cluster ready to test or to deploy your projects cheap and easily.
Now we are going to see how to create a Kubernetes cluster using the new Load Balancer service already available in Hetzner.
Hetzner Load Balancer at glance
The new and claimed Load Balancer (LB) service has a entry level price of 4.9€/mo. Not so bad.
For that price you have a LB with a traffic support up to 20 TB/mo, 5 services (“ports”) and 25 targets (nodes). It’s enough for small/medium production services.
For more details visit “Load Balancer — Hetzner Online GmbH”.
Hetzner has its own Kubernetes cloud controller manager and now includes the LB support.
As probably you know, Kubernetes implements by default the major cloud providers: AWS, Azure, GCP, …
This let’s to create or destroy new nodes, volumes or load balancers on demand.
For the rest of cloud providers, Kubernetes includes a interface that the cloud provider must implement to give support it.
In this case, when we create the cluster we must specify the cloud provider as external and later apply the 3th-party cloud-controller-manager manifest (Hetzner in our case).