Gitea im Kubernetes Cluster deployen

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