Setup - Hetzner Bare Metal
Setting up a Kubernetes Cluster with Hetzner Dedicated Servers
Last updated
Setting up a Kubernetes Cluster with Hetzner Dedicated Servers
Last updated
This guide for Hetzner Bare Metal is WIP and not currently recommended. Proceed with caution until an update is released and this warning removed.
Checkout the repository to manage a cluster of dedicated servers on Hetzner.
The scripts in this repository will setup and maintain one or more clusters consisting of dedicated servers. Each cluster will also be provisioned to operate as a node in the network.
Executing the scripts in combination with some manual procedures will get you highly available, secure clusters with the following features on bare metal.
(based)
Internal NVMe storage (/)
Virtual LAN (also over multiple locations) ()
Load Balancing ()
Acquire a couple of as the basis for a cluster (AX41-NVME
's are working well for instance). Visit the and name the servers appropriately.
Clone this repository, cd
into it and download kubespray.
Create a Python virtual environment or similar.
Install dependencies required by Python and Ansible Glaxy.
Create a deployment environment inventory file for each cluster you want to manage.
Edit the inventory file with your server ip's and network information and customize everything to your needs.
This will install and use Ubuntu 20.04 on only one of the two internal NVMe drives. The unused ones will be used for persistent storage with ceph/rook. You can check the internal drive setup with lsblk
. Change it accordingly in the command shown above when necessary.
Create a pristine state by running the playbooks in sequence.
Instantiate the servers.
Refer to the to properly initialize them.
Create a and order an appropriate subnet (it may take a while to show up after the order). Give the vSwitch a name (i.e. tc-k8s-net
) and assign this vSwitch to the servers.
Checkout the for help.
Note: does not work with ansible collections and the strategy must be changed (i.e. strategy: linear
).
Check out for more playbooks on cluster management.
In order for the cluster to operate as a node in the THORCHain network deploy as instructed . You can also refer to the , if necessary, or the THORChain as a whole.
Visit the and put each server of the cluster into rescue mode. Then execute the following script.