Keel #
Status #
Deployment #
Quelle #
Die Anwendung wird als Helm-Chart von keel.sh bezogen.
Dokumentation #
Die offizielle Dokumentation von Keel ist unter keel.sh/docs zu finden.
Funktion #
Keel automatisiert den Prozess der Anwendungsaktualisierung. Es kann so konfiguriert werden, dass es Docker-Registries auf neue Image-Tags überwacht. Wenn ein neues Image gefunden wird, das einer vordefinierten Policy entspricht (z.B. semver), aktualisiert Keel das entsprechende Deployment, StatefulSet, etc. im Kubernetes-Cluster. In diesem Setup wird Keel hauptsächlich durch Annotationen an den jeweiligen Workloads gesteuert.
Lokale Anpassungen #
Die Konfiguration erfolgt über die values.yaml-Datei.
Wichtige Einstellungen #
- Polling: Keel ist so konfiguriert, dass es stündlich nach Updates sucht (
@every 1h). - Helm-Provider: Die Unterstützung für Helm v3 ist aktiviert, sodass Keel auch Helm-Releases aktualisieren kann.
- Self-Update: Keel ist so konfiguriert, dass es sich selbst automatisch auf die neueste Version aktualisiert (
policy: force). - Ingress: Der Zugriff auf die Keel-Weboberfläche wird über einen Ingress mit einem Hostnamen ermöglicht. Der Zugriff ist durch Authentik geschützt.
Installation #
Die Anwendung wird mittels Kustomize und Helm durch ArgoCD im Kubernetes-Cluster bereitgestellt. Die Konfiguration befindet sich im apps/keel-Verzeichnis. Eine manuelle Installation kann mit folgendem Befehl durchgeführt werden:
1kubectl kustomize --enable-helm apps/keel | kubectl apply -n keel -f -
Abhängigkeiten #
- Traefik: Wird als Ingress-Controller für den externen Zugriff benötigt.
- Authentik: Wird zur Absicherung des Web-Frontends verwendet.
- cert-manager: Wird für die automatische Bereitstellung von TLS-Zertifikaten benötigt.