diff --git a/VAULT_RESET.md b/VAULT_RESET.md index 8f0bdd2..d37db45 100644 --- a/VAULT_RESET.md +++ b/VAULT_RESET.md @@ -76,6 +76,37 @@ Nun nutzen wir unser Setup-Skript, um die Secrets aus deiner (hoffentlich noch v --- +## Zusatz: K3s Cluster Secrets verwalten + +Für das K3s Deployment werden spezielle Secrets benötigt (`token` und `kubevip_version`). Diese werden **nicht** über `setup_vault_secrets.sh` (aus der tfvars) erstellt, sondern manuell oder per Skript. + +### K3s Secrets anlegen + +Wenn Ansible meckert, dass `Kein K3s Token in Vault gefunden` wurde: + +1. **Umgebungsvariablen setzen:** + ```bash + export VAULT_ADDR='http://10.100.30.11:8200' + export VAULT_TOKEN='hvs.DeinRootTokenHier' + ``` + +2. **Secret anlegen:** + ```bash + # Zufälliges Token generieren + K3S_TOKEN=$(openssl rand -base64 48) + + # In Vault schreiben + vault kv put secret/infrastructure/k3s token=$K3S_TOKEN kubevip_version="v0.7.0" + ``` + +3. **Deployment starten:** + ```bash + cd infrastructure/ansible + ansible-playbook -i inventory.ini k3s_deploy.yml + ``` + +--- + ## Schritt 5: Clients aktualisieren Da wir eine neue CA haben, musst du das Zertifikat ggf. neu verteilen: @@ -85,4 +116,3 @@ Da wir eine neue CA haben, musst du das Zertifikat ggf. neu verteilen: * **Terraform:** Das Environment (`VAULT_CACERT`) zeigt meist eh auf die Datei im Repo (`./vault-ca.crt`), die wir in Schritt 3 überschrieben haben -> Sollte direkt gehen. 🎉 **Fertig!** Dein Vault ist frisch aufgesetzt. - diff --git a/infrastructure/ansible/roles/k3s/defaults/main.yml b/infrastructure/ansible/roles/k3s/defaults/main.yml index f1a5e81..42ada6e 100644 --- a/infrastructure/ansible/roles/k3s/defaults/main.yml +++ b/infrastructure/ansible/roles/k3s/defaults/main.yml @@ -1,4 +1,5 @@ k3s_version: "v1.28.5+k3s1" k3s_token: "SECRET_TOKEN_REPLACE_ME" # Sollte via Vault kommen k3s_api_vip: "10.100.40.5" -k3s_interface: "ens18" # Netzwerk-Interface der VMs +k3s_interface: "eth0" # Netzwerk-Interface der VMs (War ens18, ist auf Ubuntu Cloud Images oft eth0 oder enp0s18) +kubevip_version: "v0.7.0" diff --git a/infrastructure/apps/traefik-edge/config/dynamic/10-k3s.yaml b/infrastructure/apps/traefik-edge/config/dynamic/10-k3s.yaml index e54b2b6..9dc73fa 100644 --- a/infrastructure/apps/traefik-edge/config/dynamic/10-k3s.yaml +++ b/infrastructure/apps/traefik-edge/config/dynamic/10-k3s.yaml @@ -1,21 +1,15 @@ -http: +tcp: routers: - k3s-wildcard: - rule: "HostRegexp(`^.+\\.k3s\\.stabify\\.de$`)" + k3s-passthrough: + rule: "HostSNIRegexp(`^.+\\.k3s\\.stabify\\.de$`)" entryPoints: - websecure service: k3s-cluster tls: - certResolver: le + passthrough: true services: k3s-cluster: loadBalancer: servers: - - url: "https://10.100.40.6" # Kube-VIP Ingress IP - passHostHeader: true - serversTransport: k3s-transport - - serversTransports: - k3s-transport: - insecureSkipVerify: true + - address: "10.100.40.6:443"