Was ist ein ApplicationSet in ArgoCD?
Ein ApplicationSet generiert ArgoCD-Applications dynamisch über Generatoren (List, Cluster, Git, Matrix, Pull-Request). Damit lässt sich z. B. dieselbe Anwendung automatisch auf alle registrierten Cluster ausrollen oder pro Feature-Branch eine Preview-Umgebung erzeugen, ohne jede Application einzeln zu pflegen. Im Workshop scaffolden Sie ApplicationSets mit Cluster- und Matrix-Generator direkt mit Claude Code.
Auch bekannt als: Argo CD ApplicationSet · ApplicationSet Controller
Ist ApplicationSet bei Ihnen gerade ein Thema?
Wir fragen kurz, wie dringend das Thema bei Ihnen gerade ist. Je nach Antwort zeigen wir Ihnen direkt den passenden nächsten Schritt — ganz ohne Formular.
Ein ApplicationSet besteht aus zwei Teilen, einem Generator und einem Application-Template. Der Generator liefert eine Liste von Parametersätzen, zum Beispiel einen pro registriertem Cluster. Der ApplicationSet-Controller setzt jeden Parametersatz in das Template ein und legt daraus eine ArgoCD-Application an. Liefert der Generator einen Eintrag nicht mehr, entfernt der Controller die zugehörige Application wieder. Die Schreibweise „Application Set“ mit Leerzeichen meint dasselbe.
Welcher Generator passt, hängt an der Frage, woher die Liste kommt. Steht sie fest, reicht der List-Generator. Soll jede Anwendung auf jeden bei ArgoCD registrierten Cluster, liefert der Cluster-Generator die Liste. Legt ein Team für jede Anwendung ein Verzeichnis im Repository an, liest der Git-Generator diese Verzeichnisse aus. Der Pull-Request-Generator fragt offene Pull Requests ab, und der Matrix-Generator kombiniert zwei Generatoren, etwa jede Anwendung aus Git mal jeden Cluster.
Für Industrieunternehmen mit mehreren Werks- oder Edge-Standorten ist der Cluster-Generator am wichtigsten. Eine neue Anlage wird als Cluster registriert und bekommt Labels, etwa für Standort und Umgebung. Das ApplicationSet wählt die Cluster über diese Labels aus und rollt den definierten Software-Stack automatisch aus. Niemand schreibt mehr Manifeste pro Standort, und der Pflegeaufwand bleibt gleich, ob drei oder dreißig Werke angebunden sind.
Der Blast-Radius, also die Zahl der Systeme, die ein einzelner Fehler trifft, ist größer als bei einzeln gepflegten Applications. Ein zu weit gefasster Generator oder ein falscher Label-Filter erzeugt oder löscht Applications in großer Zahl. Im schlechtesten Fall räumt ein unbedachter Filter an einem Nachmittag die Applications auf allen Werks-Clustern gleichzeitig ab. Zwei Einstellungen gehören deshalb vorab gesetzt. Die Policy applicationsSync: create-update verbietet dem Controller, Applications zu löschen. preserveResourcesOnDeletion: true sorgt dafür, dass die Workloads weiterlaufen, auch wenn ihre Application verschwindet. Änderungen am Generator testen Sie zuerst in einer Staging-Umgebung.
Monitoring auf jedem neuen Werks-Cluster ab dem ersten Tag
Neue Werks-Cluster liefen bisher Tage ohne Monitoring, bis jemand den Stack von Hand installierte. Ein Cluster-Generator rollt Monitoring und Logging jetzt automatisch auf jeden registrierten Werks-Cluster aus. Kommt ein Standort hinzu, genügt das Registrieren des Clusters mit dem passenden Label, und der Stack folgt mit dem nächsten Abgleich.
Preview-Umgebung für jeden Pull Request
Reviewer konnten Änderungen bisher nur im Code lesen, eine laufende Version gab es erst nach dem Merge. Der Pull-Request-Generator erzeugt jetzt für jeden offenen Pull Request eine isolierte Test-Umgebung mit der Branch-Version. Nach Merge oder Schließen baut der Controller die Umgebung automatisch wieder ab, und es bleiben keine vergessenen Namespaces zurück.
Brauchen Sie ApplicationSet?
ApplicationSet nimmt Ihnen die Handarbeit ab, sobald Apps in großer Zahl nach Schema entstehen — für kleine Setups ist es aber Overkill. Zwei Klicks ordnen ein, was zu Ihnen passt.
Wie viele gleichartige Deployments verwalten Sie?
- Welche Generatoren bietet ApplicationSet?
- Die wichtigsten sind List (statische Liste), Cluster (alle registrierten Cluster), Git (Verzeichnisse oder Dateien aus einem Repository), Pull Request (pro offenem Pull Request) und Matrix (Kombination zweier Generatoren). Damit lassen sich die meisten Verteilmuster abbilden, von der festen Liste bis zur Preview-Umgebung pro Branch.
- Wie verhindere ich, dass ApplicationSet versehentlich Applications löscht?
- Setzen Sie im ApplicationSet die Policy applicationsSync auf create-update oder create-only, dann löscht der Controller keine Applications mehr. Zusätzlich verhindert preserveResourcesOnDeletion: true in der syncPolicy, dass beim Löschen einer Application ihre Workloads im Cluster mitgelöscht werden. Wird das ApplicationSet selbst gelöscht, greifen diese Policies nicht. Dagegen schützt nur der Finalizer resources-finalizer.argocd.argoproj.io am ApplicationSet.
- Kann ich pro Cluster unterschiedliche Konfigurationen ausrollen?
- Ja. Der Cluster-Generator stellt Cluster-Metadaten wie Name und Labels als Template-Variablen bereit. Damit setzen Sie standortspezifische Werte, etwa eine andere Replica-Zahl oder einen anderen Endpunkt, direkt im Template ein.
- Wie erstelle ich ein ArgoCD ApplicationSet?
- Ein ArgoCD ApplicationSet wird als eigene Kubernetes-Ressource (Kind: ApplicationSet) im ArgoCD-Namespace angelegt. Sie besteht aus einem Generator, der die Werte liefert, etwa alle registrierten Cluster, und einem Application-Template, in das diese Werte eingesetzt werden. Der ApplicationSet-Controller erzeugt daraus automatisch die einzelnen ArgoCD-Applications und hält sie aktuell.
Wo steht Ihr Team bei ApplicationSet?
Uns interessiert, wo Ihr Team bei diesem Thema steht. Auf Basis Ihrer Antwort schlagen wir Ihnen den sinnvollsten nächsten Schritt vor — ganz ohne Formular.
Weiterführende Primärquellen zu ApplicationSet: Normtexte, Hersteller- und Projektdokumentation. Alle Ziele öffnen in einem neuen Tab.
- /01Argo ProjectApplicationSet Controller(externe Seite, öffnet in neuem Tab)
Offizielle Einführung in den Controller, der Applications aus Vorlagen erzeugt.
- /02Argo ProjectApplicationSet Generators(externe Seite, öffnet in neuem Tab)
Übersicht über List-, Cluster-, Git-, Matrix- und Pull-Request-Generator mit Beispiel-Manifesten.
- /03Argo ProjectMatrix Generator(externe Seite, öffnet in neuem Tab)
Kombiniert zwei Generatoren, etwa alle Umgebungen über alle Cluster hinweg.
Erstgespräch.
Kostenlos.
90 Tage zum Ergebnis.
Wir klären gemeinsam, wie Sie in 90 Tagen die ersten messbaren Industrial-DevOps-Erfolge erzielen.
Industrie · Automotive · Finance

