1.4 KiB
1.4 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
Create cluster
cd <repodir>
cp test.tfvars.sample test.tfvars
# adapt parameters
# initialize tofu/packer
tofu init
packer init --upgrade packer/talos_image.pkr.hcl
tofu apply -var-file=test.tfvars
Todo
- 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