Helm Charts for Hetzner Cloud

Update: The Helm charts presented in this article are superseded by the official Helm charts provided by Hetzner, available from the repository https://charts.hetzner.cloud (hcloud-cloud-controller-manager, hcloud-csi). Please use those for new clusters. For an up-to-date network setup of Kubernetes clusters on Hetzner, see Kubernetes Networking on Hetzner with Kubespray.

Recently, Hetzner announced the launch of load balancers for the Hetzner Cloud. Thanks to this, it is now possible to realize highly available Kubernetes clusters without MetalLB and custom scripting for Floating IP assignment. For automatic cloud management, Hetzner provides the hcloud-cloud-controller-manager, which is also able to create and manage these load balancers, and the hcloud-csi-driver, which enables cloud volume integration into your Hetzner Cloud Kubernetes cluster.

Unfortunately, Hetzner only provides manifest files for installing these into your cluster. Since, in my opinion, Helm is the most convenient way of installing and managing applications in Kubernetes, I created Helm charts for both of them.

hcloud-cloud-controller-manager

The cloud controller manager integrates the Kubernetes cluster with the Hetzner Cloud API: it initializes nodes with their Hetzner Cloud metadata, removes nodes whose servers have been deleted, manages routes in Hetzner Cloud networks, and creates Hetzner Cloud Load Balancers for services of type LoadBalancer.

The Helm chart for hcloud-cloud-controller-manager is available at https://gitlab.com/MatthiasLohr/hcloud-cloud-controller-manager-helm-chart.

hcloud-csi-driver

The CSI driver allows Kubernetes to provision Hetzner Cloud volumes as persistent volumes, and to attach them to the cloud server the pod is scheduled on.

The Helm chart for hcloud-csi-driver is available at https://gitlab.com/MatthiasLohr/hcloud-csi-driver-helm-chart.

Legal Notice: I'm not affiliated with Hetzner in any way. In this blog, I just present my experiences and learnings working with different technologies and providers, such as Kubernetes clusters in the Hetzner environment.