KeyCloak mit WebAuthn – Teil 2
Im Ersten Teil ( KeyClaok mit WebAuth ) haben wir das Setup für den K3S Cluster vorgenommen und KeyCloak darin deployt.
In diesem Zweiten Teil soll nun unsere Beispielanwendung in den Cluster deployt werden. Hierzu werden wir Gitea per Helm Chart installieren. Die Grundlage dafür kann unter https://chartcenter.io/k8s-land/gitea nachgelesen werden.
Das Repository vom Helm Chart hinzufügen
Für das Helm Chart müssen wir ein Repository für Gitea hinzufügen. Ich verwende in diesem Beispiel das von k8s-land.
helm repo add k8s-land https://charts.k8s.land
Die Values Datei anpassen
Die Values extrahieren und Einstellungen anpassen. Dazu laden wir sie mit dem helm show values Kommando herunter und speichern sie in der Datei values.yaml ab.
helm show values k8s-land/gitea > values.yaml
Die values.yaml werden wir im nächsten Abschnitt anpassen, damit die Anwendung nach unseren Gegebenheiten ordnungsgemäß funktioniert.
Anpassungen
Damit das Chart mit dem Beispiel funktioniert, müssen in der values.yaml Datei einige Änderungen für den Ingress-Controller vorgenommen werden.
Ingress (Traefik)
Wir wollen den Cert-Manager verwenden, um TLS für Gitea bereitzustellen. D.h. der Ingress-Controller lauscht auf Port 443, welcher beim Setup von K3d auf Port 8443 gemappt worden ist.
certManager: true
TLS muss für den Host gitea.cluster.local konfiguriert werden. Wir verwenden das Zertifikat first-tls aus dem ersten Teil der Artikelserie wieder.
tls:
- hosts:
- gitea.cluster.local
secretName: first-tls
Der ServiceType muss auf LoadBalancer umgeändert werden.
serviceType: LoadBalancer
Damit Gitea die korrekten URL und Port setzt, müssen wir es über die Parameter externalHost und externalPort propagieren.
externalPort: 8443
externalHost: gitea.cluster.local
MariaDB
Es ist für dieses Beispiel nicht direkt nötig, aber wir setzen hier ein statisches Passwort für den User gitea.
password: gitea
Root Passwort
password: root
Helm Chart installieren
Für das Deployment wird ein eigener Namespace gitea verwendet.
helm install gitea k8s-land/gitea -f values.yaml -n gitea --create-namespace
Diesen geben wir mit dem Parameter -n gitea mit an und dieser wird wegen dem Parameter –create-namespace bei der Installation gleich automatisch angelegt.
Test
Wenn der Service bereitsteht, dann sollte sich Gitea unter https://gitea.cluster.local:8443/ öffnen lassen.
Uninstall
helm uninstall -n gitea gitea
k delete namespace gitea