talos-hetzner/README.md
Stefan Le Breton a063eaa0be updated README
2024-11-20 14:25:12 +01:00

1.3 KiB

Setup talos cluster

This will not be perfect, it's for my own use and for learning :)

Target

  • running talos with defined number of controlplanes/workers
  • install Hetzner Cloud Controller Manager
  • install Cilium with Gateway API

Configured correctly and Hetzner has no issues, talos + kubernetes is up and runing in about 5 minutes.

Requirements

  • Hetzner customer :)
  • Domain at Hetzner, not needed, can be removed/adapted
  • packer for creating a talos base image
  • tofu (Should work with terraform too)
  • I use direnv to setup all the needed configuration variables

Config

Required environment variables:

# to use hcloud command in shell, optional
export HCLOUD_TOKEN=....
# for provider setup
export TF_VAR_hcloud_token=$HCLOUD_TOKEN

# provider setup
export HETZNER_DNS_API_TOKEN=...

# not needed, but useful when used with direnv in .envrc file
# tofu output -raw kubeconfig >kubeconfig; tofu output -raw talosconfig >talosconfig
export KUBECONFIG=kubeconfig
export TALOSCONFIG=talosconfig

Input Parameter

see test.tfvars.sample

Todo

  • define kubernetes version to be installed
  • define cilium version to be installed (hardcoded to 1.16rc right now)
  • maybe some other tweaks
  • maybe instsall flux, not sure if that should be part of initial setup