Skip to content

wenzel-felix/terraform-hcloud-rke2

Repository files navigation

hcloud rke2 module

Simple and fast creation of a rke2 Kubernetes cluster on Hetzner Cloud.

✨ Features

  • Create a robust Kubernetes cluster deployed to multiple zones
  • Fast and easy to use
  • Available as module

🤔 Why?

There are existing Kubernetes projects with Terraform on Hetzner Cloud, but they often seem to have a large overhead of code. This project focuses on creating an integrated Kubernetes experience for Hetzner Cloud with high availability and resilience while keeping a small code base.

🔧 Prerequisites

There are no special prerequirements in order to take advantage of this module. Only things required are:

  • a Hetzner Cloud account
  • access to Terraform
  • (Optional) If you want any DNS related configurations you need a doamin setup with cloudflare and a corresponding API key

🚀 Usage

Standalone

terraform init
terraform apply

As module

Refer to the module registry documentation here.

Maintain/upgrade your cluster (API server)

Change node size / Change node operating system / Upgrade cluster version

Change the Terraform variable to the desired configuration, then go to the Hetzner Cloud UI and remove one master at a time and apply the configuration after each. To ensure minimal downtime while you upgrade the cluster consider draining the node you plan to replace/upgrade.

Note: For upgrading your cluster version please review any breaking changes on the official rke2 repository.