zyria.de Webseite #
Diese Anwendung stellt die statische Webseite für zyria.de bereit. Der Inhalt wird aus einem Git-Repository mittels git-sync synchronisiert.
Status #
Deployment #
Quelle #
Die Anwendung wird als generisches app-template Helm-Chart von BJW-S Labs bereitgestellt.
Es wird ein Webserver (Nginx) installiert, welcher eine statische Seite ausliefert.
Dokumentation #
Der Quellcode der Webseite befindet sich im Git-Repository pyrox/zyria_de auf der internen Forgejo-Instanz.
- Nginx Official Website: https://nginx.org/
- Git-Sync GitHub Repository: https://github.com/kubernetes/git-sync
Funktion #
Dieser Dienst stellt die Webseite zyria.de mithilfe des Git-Sync-Musters bereit. Er besteht aus zwei Containern, die sich ein Volume teilen:
- git-sync: Dieser Sidecar-Container klont in regelmäßigen Abständen (alle 60 Sekunden) den
pages-Branch despyrox/zyria_de-Git-Repositories in ein geteiltes Volume. - Nginx: Der Hauptcontainer, der als Webserver dient und die vom
git-sync-Container bereitgestellten Dateien aus dem geteilten Volume ausliefert.
Dieses Muster stellt sicher, dass Änderungen an der Webseite, die in das Git-Repository gepusht werden, automatisch und ohne Neustart des Pods live geschaltet werden.
Lokale Anpassungen #
Die Konfiguration erfolgt über die values.yaml-Datei.
Wichtige Einstellungen #
- Git-Sync: Die Startargumente des
gitsync-Containers definieren das Repository, den Branch und das Synchronisationsintervall. - Ingress: Der Zugriff auf die Webseite wird über einen Ingress mit den Hostnamen
zyria.deundwww.zyria.deermöglicht. - Speicher: Ein
emptyDir-Volume wird verwendet, um die geklonten Dateien zwischen den beiden Containern zu teilen. Die Daten sind nicht persistent über Pod-Neustarts hinweg, werden aber bei jedem Start neu geklont.
Installation #
Die Anwendung wird mittels Kustomize und Helm durch ArgoCD im Kubernetes-Cluster bereitgestellt. Die Konfiguration befindet sich im apps/zyria-de-Verzeichnis. Eine manuelle Installation kann mit folgendem Befehl durchgeführt werden:
1kubectl kustomize --enable-helm apps/zyria-de | kubectl apply -n zyria-de -f -
Abhängigkeiten #
- Ein laufender Kubernetes-Cluster.
- Ein konfigurierter Ingress-Controller (z.B. Traefik).
- Eine Zertifikatsmanagement-Lösung (z.B. cert-manager) zur Bereitstellung von TLS-Zertifikaten.