Dieser Vortrag wird auf Deutsch gehalten. / This Talk will be held in German.
In diesem praxisnahen Workshop lernst du GitOps mit dem Open-Source-Tool Flux kennen – vom ersten Setup bis hin zum produktionsnahen Betrieb. Gemeinsam richten wir eine vollständige GitOps-Pipeline ein, automatisieren Deployments in Kubernetes und integrieren bewährte Tools wie Kustomize, Helm und Lösungen für sicheres Secrets Management.
Du lernst, wie man Git-Repositories sinnvoll strukturiert, Änderungen sicher zwischen Umgebungen promotet und sensible Konfigurationen geschützt verwaltet. Ziel ist es, GitOps mit Flux nicht nur technisch umzusetzen, sondern auch im Team-Alltag effektiv einzusetzen. Optional werfen wir einen Blick auf Flagger für Progressive Delivery mit Canary Releases.
- Grundkenntnisse in Kubernetes (z. B. Pods, Deployments, Namespaces, kubectl)
- Erfahrung mit Git (z. B. Commits, Branches, Pull Requests)
- Die Grundprinzipien von GitOps erklären
- Flux installieren und initial einrichten
- Kustomize und Helm in GitOps-Workflows integrieren
- Automatische Updates von Container-Images realisieren
- Sicherheitskritische Konfigurationen verwalten
- Monitoring und Troubleshooting mit der Flux CLI anwenden
- Optional: Progressive Delivery mit Flagger einschätzen und nutzen
- Die Grundlagen von GitOps: Was GitOps ausmacht, welche Prinzipien dahinterstehen.
- Vorstellen von Flux: Historie, Architektur, Dokumentation
- Installation und Einrichtung von Flux: Vom initialen Setup über das Bootstrapping eines Repositories bis zur Anbindung an einen Kubernetes-Cluster.
- Erstellen einer GitOps-Pipeline mit Flux: Aufbau eines vollständigen Workflows: Automatisierte Auslieferung von Anwendungen via Git.
- Arbeiten mit Kustomize & Helm: Einsatz beider Tools zur flexiblen und wiederverwendbaren Verwaltung von Kubernetes-Ressourcen.
- Repository-Strategien und Umgebungen: Git-Strukturierung für mehrere Umgebungen (dev, staging, prod) und sicheres Promoten von Änderungen.
- Automatisches Image-Management: Einrichten von automatischen Container-Updates mit dem Flux Image Automation Controller.
- Betrieb in großen Umgebungen, Skalierung: Skalierungsmöglichkeiten der Flux-Controller, Tuning
- Umgang mit verschlüsselten Secrets: Sicherer Einsatz von Tools wie SOPS oder ExternalSecrets zur Handhabung sensibler Informationen im GitOps-Kontext.
- Monitoring & Troubleshooting: Nutzung der Flux CLI, Logs, Events und Dashboards zur Fehleranalyse und Erfolgskontrolle.
- Optional: Progressive Delivery mit Flagger: Einführung in Canary Releases und Blue/Green-Strategien auf Basis von Metriken.
- Optional: UI für Flux: Vorstellung verschiedener Optionen für eine UI für Flux
Um aktiv mitarbeiten zu können, sollten folgende Voraussetzungen erfüllt sein:
- Grundkenntnisse in Kubernetes: z. B. Pods, Deployments, Namespaces, kubectl
- Erfahrung mit Git: z. B. Commits, Branches, Pull Requests
- GitHub Account (oder ähnliches, ggf. wird dieser gestellt): Für das eigene GitOps-Demo-Repository
- Lokale Kubernetes-Umgebung oder Zugang zu einem Cluster z. B. über colima, kind, k3d, minikube oder ein vorab bereitgestelltes Übungssystem
- Vorinstallierte Tools (empfohlen): kubectl, helm, VSCode (oder ähnliches zum bearbeiten der Dateien), OpenLens(optional), Headlamp(optional)
