Wissen von A bis Z

GitOps

GitOps ist wie ein Kochrezept, das sich von selbst kocht: Du schreibst auf, was du essen willst, und der Küchenroboter sorgt dafür, dass es immer genau so auf dem Tisch steht.

GitOps ist eine Weiterentwicklung von Continuous Delivery und Infrastructure as Code, die Git als "Single Source of Truth" für gewünschte Systemzustände nutzt. Statt Deployments aus Pipelines heraus aktiv in Cluster zu pushen, beobachtet ein dedizierter Operator (etwa Argo CD oder Flux) ein Git-Repository und gleicht den Cluster-Zustand kontinuierlich mit dem Repository ab. Jede Änderung am Zielzustand erfolgt über einen Git-Commit oder Pull Request — genau wie bei Anwendungscode. Damit werden Audit-Trail, Code Review, Versionierung und Rollback in einer einheitlichen Werkzeugkette abgewickelt.

Eingesetzt wird GitOps vor allem für Kubernetes-Cluster, kann aber konzeptionell auch auf andere deklarativ steuerbare Plattformen übertragen werden (z. B. mit Crossplane für Cloud-Ressourcen oder mit Pulumi-GitOps-Bridges). Bekannte Implementierungen sind Argo CD (CNCF Graduated, ursprünglich von Intuit), Flux CD (CNCF Graduated, ursprünglich von Weaveworks), Jenkins X und Fleet (für Rancher). Häufig werden GitOps-Werkzeuge mit Kustomize oder Helm kombiniert, um Konfigurationen pro Umgebung zu parametrisieren.

Das zu lösende Problem liegt in der Trennung zwischen "Was soll deployed werden" (im Git-Repository, deklarativ) und "Wer darf direkt ins Cluster eingreifen" (möglichst niemand). Klassische Push-basierte CI/CD-Workflows verlangen weitreichende Schreibrechte der Pipelines auf den Cluster — ein potenzielles Sicherheitsrisiko. Im GitOps-Modell hat nur der Operator schreibenden Zugriff, alle anderen Beteiligten arbeiten über Git. Dadurch entsteht ein vollständiger, überprüfbarer Audit-Trail, klare Recovery-Pfade nach Inzidenten und eine reproduzierbare Beschreibung des Cluster-Zustands.

Historisch wurde der Begriff GitOps 2017 von Alexis Richardson, dem damaligen CEO von Weaveworks, in einem Blogpost geprägt. Argo CD und Flux entstanden in den folgenden Jahren als Open-Source-Implementierungen und wurden 2022 (Argo) bzw. 2023 (Flux) zu CNCF Graduated Projects. Die im OpenGitOps-Projekt der CNCF formalisierten "GitOps-Prinzipien" definieren vier Punkte: deklarativ, versioniert und unveränderlich, automatisch heruntergezogen, kontinuierlich abgeglichen.

Weaveworks selbst, der Erfinder des Begriffs, geriet 2024 in finanzielle Schwierigkeiten und musste den Geschäftsbetrieb einstellen — ein bemerkenswertes Detail, weil das Konzept und die zugehörige Open-Source-Werkzeugkette die Schließung des ursprünglichen Treibers überdauert haben. Flux wird seitdem in der CNCF unabhängig weitergeführt, was beispielhaft für die Resilienz von Open-Source-Projekten gegenüber dem Schicksal einzelner Sponsorfirmen steht.

Zurück