Anwendungen in meinem k3s-Setup

Nach vielen technischen Details in den vorherigen Blogposts möchte ich diesen Beitrag nutzen, um ein paar konkrete Anwendungen in meinem Kubernetes-Cluster vorzustellen. Dabei setze ich auf FluxCD und Helm Charts, um die Anwendungen zu deployen und zu verwalten.

Ein Stapel 3,5" Disketten

Paperless

Paperless-ngx ist eine Anwendung zur Verwaltung digitaler Dokumente. In meinem Setup habe ich es mit mehreren zusätzlichen Komponenten kombiniert:

  • PostgreSQL: Die Datenbank wird mit dem cloudnative-pg-Operator verwaltet.
  • Redis: Wird direkt mit dem Helm Chart von Paperless mitinstalliert.
  • Gotenberg: Zum Konvertieren von Dokumenten in PDFs.
  • Tika: Zur Texterkennung und -analyse von Dokumenten.

Das Setup läuft insgesamt stabil, allerdings habe ich festgestellt, dass der Einsatz von LLMs zur automatischen Dokumentenanalyse nicht praktikabel ist (siehe unten).

KitchenOwl

KitchenOwl ist eine Open-Source-Anwendung zur Verwaltung von Rezepten und Einkaufslisten. Auch hier setze ich auf eine PostgreSQL-Datenbank, die über den cloudnative-pg-Operator bereitgestellt wird.

OpenHAB

OpenHAB ist eine Open-Source-Software zur Hausautomation. Ich habe mich für das Helm Chart von TrueCharts entschieden, musste aber einige Anpassungen vornehmen:

  • Root-Rechte: OpenHAB benötigt Root-Zugriff, was in einem typischen Kubernetes-Setup unüblich ist.
  • Node-Pinning: Ich musste OpenHAB an eine bestimmte Node binden, damit Rückkanäle für HomeKit, MQTT und Homematic zuverlässig funktionieren.
  • hostNetwork: true: Damit HomeKit korrekt funktioniert, musste ich hostNetwork: true setzen.
  • MQTT-Broker (Mosquitto): Damit OpenHAB mit MQTT-basierten Geräten kommunizieren kann, habe ich zusätzlich Mosquitto als Broker in Kubernetes bereitgestellt.

OpenHAB Cloud

OpenHAB Cloud ist eine optionale Komponente, die einen Proxy zur sicheren Nutzung von OpenHAB über das Internet bereitstellt. Da es kein offizielles Helm Chart gibt, habe ich mein eigenes erstellt: ohcloud Helm Chart.

Während der Nutzung habe ich festgestellt, dass OpenHAB Cloud keinen Health-Endpoint hatte. Daher habe ich selbst zum Open-Source-Projekt beigetragen und einen entsprechenden Endpoint implementiert.

Was nicht funktioniert hat: Ollama für Paperless

Ich habe versucht, Ollama mit Paperless zu kombinieren, um Dokumente automatisiert zu analysieren und zusammenzufassen. Leider ist die Hardware meines Clusters zu schwach für die Nutzung von LLMs. Selbst einfache Anfragen haben 15 Minuten für eine Antwort benötigt, weshalb ich dieses Experiment abgebrochen habe.


Mit diesen Anwendungen habe ich mein Kubernetes-Setup auf ein für mich produktives Niveau gebracht. Falls du Fragen zu einzelnen Deployments hast oder selbst eine ähnliche Umgebung aufbauen möchtest, hinterlasse gerne einen Kommentar!

Zukünftige Pläne

Mein Kubernetes-Setup ist noch nicht abgeschlossen. In nächster Zeit plane ich, weitere Webanwendungen in Kubernetes zu migrieren. Dazu gehören:

  • Davical: Eine CalDAV-Server-Software. Bevor ich es deployen kann, muss ich jedoch erst ein passendes Helm Chart erstellen.
  • Icinga2: Mein Monitoring-System, das ich bereits für verschiedene Server und Projekte (z. B. Freifunk) nutze. Ich möchte es vollständig in Kubernetes überführen.
  • Telegraf: Zur Erfassung von Systemmetriken und deren Weiterleitung an mein Monitoring-Setup.

Ich werde weiter darüber berichten, sobald ich Fortschritte mache!

Weitere Blogposts aus der k3s-Reihe

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert