Training Module
Kubernetes GitOps at Scale — Matrix-Generator: Cluster × Verzeichnis kombiniert
Dieses 110-Minuten-Modul holt nach, was der Vorgängerkurs zweimal
ausdrücklich als Ausblick liegen gelassen hat: Dort habt ihr gelernt,
dass der Cluster-Generator automatisch eine
Application pro registriertem Cluster erzeugt – heute
kombiniert ihr genau diesen Mechanismus mit dem
Git-Directory-Generator aus dem Modul davor, der
automatisch eine Application pro Verzeichnis erzeugt.
Der Matrix-Generator tut beides gleichzeitig: Er
kombiniert die Parameter von genau zwei Kind-Generatoren zu
jeder möglichen Kombination – bei zwei Clustern und
vier Diensten also acht Application-Objekte, ohne dass
ihr auch nur eines davon von Hand anlegt. Im ersten Hands-on baut ihr
genau das: Den Git-Directory-Generator auf dem Verzeichnismuster
services/* (die vier Dienste
frontend/backend/worker/
gateway aus dem Modul „ApplicationSet & Generators”)
kombiniert mit dem Cluster-Generator auf euren beiden registrierten
Ziel-Clustern workload und prod aus dem
Vorgängerkurs. Live seht ihr, wie aus einem einzigen
ApplicationSet-Manifest acht Applications entstehen –
eine je Kombination aus Dienst und Cluster. Im zweiten, kürzeren
Hands-on geht ihr einer Randnotiz aus dem Vorgängerkurs nach: dem
values-Feld des Cluster-Generators, mit dem sich
Pro-Cluster-Parameter (z. B. eine andere targetRevision
für den Produktions- als für den Staging-Cluster) in dieselbe
Application-Vorlage einspeisen lassen – diesmal ohne
Matrix-Kombination, mit zwei parallelen Cluster-Generatoren
stattdessen. Zwei Grenzen dieses Kurses werden ausdrücklich benannt:
Der Matrix-Generator kombiniert laut offizieller ArgoCD-Dokumentation
aktuell nur genau zwei Kind-Generatoren, keine drei
oder mehr in einem einzigen matrix-Feld – wer mehr
braucht, muss einen Matrix- oder Merge-Generator als Kind-Generator
in einen weiteren Matrix-Generator verschachteln, und auch das nur
genau einmal. Und wenn ein Kind-Generator Parameter des anderen
konsumiert (z. B. ein Label-Selector, der einen Verzeichnisnamen
referenziert), muss der konsumierende Generator in der Liste
nach dem produzierenden stehen – eine falsche
Reihenfolge meldet der Controller als Fehler, nicht als still
falsches Ergebnis. Ein kurzer Ausblick ohne eigenes Hands-on rundet
ab: der Merge-Generator (vereinigt statt
kombiniert) sowie SCM-Provider- und
Pull-Request-Generator für automatische
Repository-Entdeckung. Ausdrücklich NICHT Teil dieses
Kurses: Merge-, SCM-Provider- und Pull-Request-Generator als
eigenes Hands-on, sowie produktive Multi-Cluster-Topologien mit mehr
als den drei Clustern aus dem Vorgängerkurs. Pflicht ist das Modul
“Kubernetes GitOps at Scale — Multi-Cluster mit dem ApplicationSet
Cluster-Generator” – dieses Modul setzt dessen drei
kind-Cluster und Cluster-Secrets direkt fort, statt sie
zu wiederholen. Die Session läuft komplett lokal über
kind (Kubernetes-in-Docker) – kein Cloud-Account, keine
Kostenwirkung.
Format
110 Minuten, live (remote oder vor Ort), Input & zwei Hands-on-Übungen
Teilnehmende
Absolvent:innen von “Kubernetes GitOps at Scale — Multi-Cluster mit dem ApplicationSet Cluster-Generator”, die die im Vorgängerkurs offen gelassene Kombination aus Cluster- und Verzeichnis-Generator tatsächlich bauen wollen
Voraussetzungen
Abgeschlossenes Modul “Kubernetes GitOps at Scale — Multi-Cluster mit dem ApplicationSet Cluster-Generator” (Pflicht) – Cluster-Generator, Cluster-Secrets und die drei kind-Cluster gelten als bekannt, ebenso der Git-Directory-Generator aus dem davor liegenden Modul “ApplicationSet & Generators”, lauffähige lokale Docker-Umgebung für kind
Warum dieses Training für deine Organisation wirkt
Zwei Achsen kombiniert statt einzeln gepflegt
Statt für jede Kombination aus Dienst und Cluster eine eigene Application-Datei zu pflegen, erzeugt ein einziger Matrix-Generator automatisch jede mögliche Kombination aus zwei unabhängigen Generatoren.
Dieselbe Vorlage, unterschiedliche Werte pro Cluster
Mit dem values-Feld des Cluster-Generators fließen
Pro-Cluster-Parameter wie eine abweichende Git-Revision direkt
in dieselbe Application-Vorlage ein – kein separates Manifest
pro Cluster nötig.
Grenzen ehrlich benannt statt verschwiegen
Der Kurs zeigt auch, wo der Matrix-Generator aufhört: nur zwei Kind-Generatoren pro Kombination, nur eine Verschachtelungsebene – das ist keine Einschränkung dieses Trainings, sondern der offiziellen ArgoCD-Implementierung.
Was Teilnehmende mitnehmen
- Den Matrix-Generator als vierten Generator-Typ einordnen: Er kombiniert die Parameter zweier Kind-Generatoren zu jeder möglichen Kombination, statt sie wie bisher einzeln zu verwenden.
- Einen Matrix-Generator aus Cluster-Generator (
workload/prod) und Git-Directory-Generator (services/*) aufsetzen und live beobachten, wie aus vier Diensten auf zwei Clustern automatisch acht Applications entstehen. - Benennen können, warum in diesem Kurs bewusst der Cluster- mit dem Git-Directory-Generator kombiniert wird, statt zwei Verzeichnis-Generatoren zu kombinieren – und was
pathParamPrefixlöst, falls doch zwei Git-Generatoren kombiniert werden. - Das
values-Feld des Cluster-Generators einsetzen, um Pro-Cluster-Parameter (z. B. eine unterschiedlichetargetRevision) in dieselbe Application-Vorlage einzuspeisen, ohne den Matrix-Generator dafür zu brauchen. - Die dokumentierten Grenzen des Matrix-Generators benennen: aktuell nur zwei Kind-Generatoren pro
matrix-Feld, nur eine Verschachtelungsebene für kombinierende Generatoren, sowie die zwingende Reihenfolge, wenn ein Kind-Generator Parameter eines anderen konsumiert. - Den Merge-Generator sowie SCM-Provider- und Pull-Request-Generator konzeptionell einordnen – bewusst ohne eigenes Hands-on zu diesen Punkten.
- Benennen, was dieses Modul bewusst nicht behandelt: Merge-, SCM-Provider- und Pull-Request-Generator als eigenes Hands-on, sowie produktive Multi-Cluster-Topologien mit mehr als den drei Clustern aus dem Vorgängerkurs.
Für wen dieses Modul ideal ist
- • Absolvent:innen von “Kubernetes GitOps at Scale — Multi-Cluster mit dem ApplicationSet Cluster-Generator” oder gleichwertigen Vorkenntnissen
- • Teams, die bereits mehrere Cluster und mehrere Dienste über ApplicationSet verwalten und beide Achsen nicht länger getrennt pflegen wollen
- • Alle, die vor der Frage stehen, wie sich dieselbe Menge an Diensten konsistent auf mehrere Umgebungen verteilen lässt, mit pro Umgebung leicht abweichenden Parametern
Rahmendaten
- • Dauer: 110 Minuten live (remote oder vor Ort)
- • Format: Input, Live-Demo, zwei Hands-on-Übungen (Matrix-Generator aus Cluster- und Git-Directory-Generator; kürzerer Block zum
values-Feld für Pro-Cluster-Parameter) - • Voraussetzungen: abgeschlossenes Modul “Kubernetes GitOps at Scale — Multi-Cluster mit dem ApplicationSet Cluster-Generator” (Pflicht), lauffähige lokale Docker-Umgebung für
kind, keine Cloud-Kostenwirkung
Modulaufbau & Agenda
Recap: Matrix-Generator als offene Lücke aus dem Vorgängerkurs (10 min): kurzer Rückblick auf Cluster- und Git-Directory-Generator als bislang getrennt genutzte Mechanismen, und die Frage, was passiert, wenn beide Achsen gleichzeitig automatisiert werden sollen.
Konzept: Matrix-Generator & values-Feld (20 min): der Matrix-Generator als Kombinator zweier Kind-Generatoren zu jeder möglichen Parameter-Kombination, die dokumentierten Restriktionen (genau zwei Kind-Generatoren, eine Verschachtelungsebene, Reihenfolge bei Parameter-Konsum), sowie das
values-Feld des Cluster-Generators im Überblick.Hands-on 1: Matrix-Generator — Cluster × Verzeichnis (45 min, Hands-on): Git-Directory-Generator (
services/*) mit Cluster-Generator (workload/prod) im selbenApplicationSetkombinieren und live beobachten, wie automatisch acht Applications entstehen.Hands-on 2: values-Feld für Pro-Cluster-Parameter (15 min, Hands-on): zwei parallele Cluster-Generatoren mit je eigenem
values.revisionaufsetzen und live beobachten, wie dieselbe Application-Vorlage je Cluster eine andere Git-Revision deployt.Grenzen: was dieses Modul bewusst nicht zeigt (10 min): die dokumentierten Restriktionen des Matrix-Generators im Detail, sowie eine eigene, nicht live gemessene Einschätzung zum Ressourcen-Mehrbedarf gegenüber dem Vorgängerkurs.
Ausblick ohne Hands-on & Abschluss (10 min): Merge-Generator (vereinigt statt kombiniert) sowie SCM-Provider- und Pull-Request-Generator für automatische Repository-Entdeckung, jeweils ohne eigenes Hands-on.
Dieses Modul setzt das Aufbaumodul
Kubernetes GitOps at Scale — Multi-Cluster mit dem ApplicationSet Cluster-Generator
zwingend voraus. Die drei kind-Cluster (
hub/workload/prod) und die
Cluster-Secret-Registrierung gelten als bekannt und werden hier
nicht erneut hergeleitet – Hands-on 1 verwendet direkt dieselben
registrierten Cluster workload und prod,
diesmal kombiniert mit dem Verzeichnismuster
services/* aus dem noch früheren Modul
Kubernetes GitOps at Scale — ApplicationSet & Generators,
das den Git-Directory-Generator bereits eingeführt hat.
Was dieses Modul bewusst nicht behandelt: Merge-, SCM-Provider- und Pull-Request-Generator als eigenes Hands-on – nur als Ausblick genannt, siehe Block 6 –, sowie produktive Multi-Cluster-Topologien mit mehr als den drei Clustern aus dem Vorgängerkurs (dieselbe Grenze gilt dort bereits und wird hier nicht aufgehoben). Kein CI/Image-Build (das leistet das Modul CI: Continuous Integration & der Build-Prozess ). Und keine Progressive Delivery – dafür gibt es das eigenständige Aufbaumodul Kubernetes Progressive Delivery — Canary & Blue-Green mit Argo Rollouts.
Hands-on Inhalte (Auszug)
Matrix-Generator anlegen
- Ein
ApplicationSetmitgenerators: - matrix: generators:anwenden, das einen Git-Directory-Generator (services/*) mit einem Cluster-Generator (workload/prod) kombiniert - Mit
kubectl -n argocd get application -wlive sehen, wie acht Applications entstehen – je Kombination aus Dienst und Cluster eine
Kombination statt Vereinigung bestätigen
- Per Kontextwechsel auf
workloadundprodbestätigen, dass in beiden Clustern alle vier Dienste laufen, nicht nur eine Teilmenge - Einen fünften Dienst als neuen Ordner committen und live beobachten, wie automatisch zwei weitere Applications entstehen – ohne das
ApplicationSet-Manifest anzufassen
values-Feld für Pro-Cluster-Parameter
- Die Cluster-Secrets
workload-clusterundprod-clustermit einem eigenen Umgebungs-Label versehen (env: stagingbzw.env: production) - Zwei parallele
clusters-Generatoren mit je eigenemvalues.revisionanwenden und beobachten, wie dieselbe Vorlage pro Cluster eine anderetargetRevisiondeployt
Grenzen live nachvollziehen
- Einen dritten Kind-Generator versuchsweise in dasselbe
matrix-Feld einfügen und den vom Controller gemeldeten Fehler gemeinsam lesen - Den Unterschied zwischen einem echten Kombinationsfehler und einem nur unglücklich benannten Parameter-Konflikt einordnen
Dieses Modul ist Teil unserer Pilotphase. Gemeinsam mit euch definieren wir passende Metriken (z. B. Zeit vom Anwenden des Matrix-ApplicationSet bis zu acht bestätigt Synced/Healthy Applications) und werten sie im Anschluss transparent aus. Ergebnisse veröffentlichen wir, sobald sie belastbar sind.
Bereit, das Modul zu buchen?
Wir passen die Hands-on-Übung auf euren Erfahrungsstand und eure Zielumgebung an.
Academy Briefing anfragen