Zum Hauptinhalt springen
  1. Beiträge/
  2. Kleines Homelab/
  3. k3s-prod: Kubernetes Cluster Konfiguration und Anwendungsbereitstellung/

Longhorn

Inhaltsverzeichnis

Longhorn
#

Deployment
#

Argo Deployment

Quelle
#

Die Anwendung wird als Helm-Chart von longhorn.io bezogen.

Dokumentation
#

Die offizielle Dokumentation von Longhorn ist unter longhorn.io/docs zu finden.

Funktion
#

Longhorn ist die primäre Lösung für persistenten Speicher (Storage) in diesem Cluster. Es erstellt aus dem lokalen Speicher der einzelnen Kubernetes-Nodes einen verteilten, hochverfügbaren Speicher-Pool. Für jedes Persistent Volume (PV), das von einer Anwendung angefordert wird, erstellt Longhorn ein Volume, das synchron auf mehrere Nodes repliziert wird (standardmäßig 3 Replikate). Fällt ein Node aus, bleiben die Daten auf den anderen Replikaten verfügbar. Longhorn bietet zudem Funktionen wie Snapshots, Backups (z.B. auf S3 oder NFS) und eine intuitive Web-UI zur Verwaltung.

Lokale Anpassungen
#

Die Konfiguration erfolgt über die values.yaml-Datei.

Wichtige Einstellungen
#

  • Netzwerk-Policies: Es werden automatisch Netzwerk-Policies für k3s erstellt, um den Traffic zwischen den Longhorn-Komponenten zu kontrollieren.
  • Ingress: Der Zugriff auf die Longhorn-Weboberfläche wird über einen Ingress mit einem Hostnamen ermöglicht. Der Zugriff ist durch eine Middleware auf Traefik-Ebene auf lokale Netzwerke beschränkt.

Installation
#

Die Anwendung wird mittels Kustomize und Helm durch ArgoCD im Kubernetes-Cluster bereitgestellt. Die Konfiguration befindet sich im apps/longhorn-Verzeichnis. Eine manuelle Installation kann mit folgendem Befehl durchgeführt werden:

1kubectl kustomize --enable-helm apps/longhorn | kubectl apply -n longhorn-system -f -

Abhängigkeiten
#

  • Traefik: Wird als Ingress-Controller für den externen Zugriff auf die UI benötigt.
  • cert-manager: Wird für die automatische Bereitstellung von TLS-Zertifikaten für die UI benötigt.
Per E-Mail antworten
Fabrice Kirchner
Autor
Fabrice Kirchner
stolzer Vater, Nerd, Admin