talos-hetzner/README.md
Stefan Le Breton edc83f6708 update README
2024-11-24 12:27:56 +01:00

61 lines
1.4 KiB
Markdown

# 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