Kostenlose DevOps-Analyse
Zurück zum Blog
CI/CD · GitOps·26. Mai 2026·13 min Lesezeit

CI/CD vs. GitOps.
Push trifft Pull.

Aktualisiert 17.09.2026Argo CD 3.5Flux 2.9Image Updater 1.3External Secrets 2.10
CI/CD vs. GitOps als Schema: oben pusht eine CI-Pipeline ein Container-Artefakt aktiv in ein Server-Cluster, unten zieht ein Cluster-Agent den Soll-Zustand aus einem Git-Repository und reconciled ihn in einer grünen SchleifeAI
// Direkte Antwort

CI/CD und GitOps konkurrieren nicht. GitOps ersetzt nur den Deployment-Teil. Die CI-Pipeline baut und testet weiter und erzeugt das Artefakt. Im klassischen CD schreibt sie das Deployment danach selbst ins Ziel (Push). Bei GitOps steht der gewünschte Zustand deklarativ in Git, und ein Agent im Cluster wie Argo CD oder Flux holt ihn sich, spielt ihn ein und korrigiert Abweichungen (Pull).

CI/CD · Push

Die Pipeline hält die Zugangsdaten zum Cluster und führt das Deployment selbst aus.

GitOps · Pull

Der Agent im Cluster liest den Soll-Zustand aus Git und stellt ihn selbst her, laufend und nachvollziehbar.

// Kurz gefragt1 Klick, anonym

Ist GitOps 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.

// 01Push oder Pull

Was ist der Unterschied zwischen Push- und Pull-Deployment?

Beim Push-Deployment startet ein System außerhalb der Zielumgebung das Deployment und schreibt die Änderung aktiv hinein. Beim Pull-Deployment läuft ein Agent innerhalb der Zielumgebung, liest den gewünschten Zustand aus einem Git-Repository und stellt ihn selbst her. Der Unterschied ist die Richtung der Verbindung und damit die Frage, wer Zugangsdaten braucht.

/01

Was ist Push-Deployment?

Push-Deployment ist das klassische CD-Modell. Die Pipeline hält die Zugangsdaten zur Zielumgebung und führt den Rollout selbst aus, per kubectl apply, Helm, Ansible oder SSH. Sie bestimmt damit genau, was wann in welcher Reihenfolge passiert. Dafür liegen Cluster-Credentials im Build-System, und die Verbindung geht von außen in die Zielumgebung.

/02

Was ist Pull-Deployment?

Beim Pull-Deployment läuft ein Agent in der Zielumgebung selbst, etwa Argo CD oder Flux im Kubernetes-Cluster. Er beobachtet ein Git-Repository, zieht jede Änderung eigenständig und gleicht den Ist-Zustand laufend an den Soll-Zustand an. Das Build-System braucht dafür keinen Zugriff auf das Cluster.

/03

Ist ein Deployment per git pull schon GitOps?

Nein. Ein Skript, das auf dem Zielserver git pull ausführt, holt zwar den Code, prüft aber nicht laufend, ob der Zustand noch stimmt. GitOps verlangt zusätzlich einen deklarativ beschriebenen Soll-Zustand und einen ständigen Abgleich (Reconciliation). Ohne diesen Abgleich haben Sie ein pull-basiertes Deployment, aber kein GitOps.

In der Praxis fällt die Entscheidung selten grundsätzlich aus. Die meisten Teams bauen weiter push-basiert und rollen pull-basiert aus. Was das für Verantwortung, Sicherheit und Drift bedeutet, zeigt der Direktvergleich.

// 02Direktvergleich

Worin unterscheiden sich CI/CD und GitOps konkret?

Der Kernunterschied liegt darin, wer deployt. Bei klassischem CI/CD ist es die Pipeline, und die braucht dafür Cluster-Credentials. Bei GitOps ist es ein Agent im Cluster, der Git beobachtet und den deklarierten Zustand selbst herstellt. Die Tabelle zeigt, was daraus für Sicherheit, Drift, Rollback und Nachweise folgt.

Dimension
CI/CD (klassisch, Push)
GitOps (Pull)
Aufgabe
Bauen, testen, Artefakt erzeugen, ausliefern
Gewünschten Zustand ins Cluster bringen und dort halten
Wer deployt?
Die Pipeline, von außen (Push)
Der Agent im Cluster (Pull)
Source of Truth
Pipeline-Definition und ihr letzter Lauf
Git-Repository, deklarativ
Cluster-Credentials in der CI
Erforderlich
Nicht erforderlich
Manuelle Änderung am Cluster
Fällt erst auf, wenn jemand nachsieht
Agent erkennt die Drift und korrigiert sie
Rollback
Alte Version erneut deployen
git revert im Config-Repository
Audit-Trail
Pipeline-Logs, sofern aufbewahrt
Git-Historie mit Autor und Review
Einstieg
Wenige Bausteine, schnell verstanden
Agent und Config-Repository kommen dazu
Typische Tools
Jenkins, GitLab CI, GitHub Actions, Azure Pipelines
Argo CD, Flux

Am deutlichsten wird der Unterschied, wenn jemand am Cluster etwas von Hand ändert. Die Zeitleiste zeigt dasselbe Ereignis in beiden Modellen.

Drift im Zeitverlauf: Push-CD und GitOps nach einer manuellen Änderung am ClusterJemand ändert am Cluster von Hand die Zahl der Replicas. Beim klassischen Push-CD bleibt diese Abweichung unbemerkt, bis das nächste Deployment läuft. Bei GitOps vergleicht der Agent den Live-Zustand mit Git und stellt den Git-Stand wieder her, Argo CD mit aktiviertem selfHeal, Flux im nächsten Abgleichsintervall.// PUSH · KLASSISCHES CI/CDAbweichung bleibt bis zum nächsten Deployment unbemerktDeployment · Ist = Sollkubectl scale (von Hand)nächstes DeploymentZeit// PULL · GITOPSAgent vergleicht Live-Zustand mit GitSync · Ist = Sollkubectl scale (von Hand)Git-Stand wiederhergestelltArgo CD mit selfHeal, Flux im nächsten IntervallZeitmanuelle ÄnderungCluster weicht von Git abCluster entspricht Git
// Drift im Zeitverlauf · Push wartet auf das nächste Deployment, Pull stellt den Git-Stand wieder her
// 03Workflow in der Praxis

Wie sieht der GitOps-Workflow in der Praxis aus?

Die Übergabe zwischen CI/CD und GitOps ist ein einziger Git-Commit. Die CI-Pipeline baut und testet, schreibt das neue Image-Tag ins Config-Repository und ist damit fertig. Den Rest erledigt der Agent im Cluster. Der Ablauf hat drei Schritte:

  1. /01

    Bauen und testen

    Die CI baut und testet den Code, führt Security-Scans aus und erzeugt ein Container-Image.

  2. /02

    Soll-Zustand nach Git committen

    Die Pipeline aktualisiert das Image-Tag im Config-Repository und committet damit den neuen gewünschten Zustand. Cluster-Credentials braucht sie dafür nicht.

  3. /03

    Agent rollt aus

    Der GitOps-Agent (Argo CD oder Flux) erkennt die Änderung in Git, zieht den neuen Zustand und gleicht das Cluster an (Reconciliation).

Von der Architekturfolie lassen sich die wenigsten Teams überzeugen. Überzeugt sind sie nach dem ersten Merge im Config-Repository, wenn die neue Version wenige Minuten später läuft und in der Git-Historie steht, wer sie freigegeben hat.

// Schema · Push deployt aktiv, Pull gleicht selbst ab
CI/CD vs. GitOps: Push- und Pull-Deployment im VergleichBeim klassischen CI/CD deployt die Pipeline aktiv ins Cluster und braucht dafür Cluster-Credentials. Bei GitOps committet die Pipeline nur den Soll-Zustand ins Config-Repository; ein Agent wie ArgoCD oder Flux pullt ihn von dort ins Cluster und korrigiert Drift automatisch, ohne Zugriff von außen.// PUSH · KLASSISCHES CI/CDCI-PipelineBuild · Test · Imagedeployt aktiv · Cluster-Credentials in der CIkein inhärenter Drift-SchutzClusterZielumgebung// PULL · GITOPSCI-PipelineBuild · Test · ImagecommitConfig-RepoSource of Truthpullt Soll-Zustandkein Inbound-Zugriff nötigAgent im ClusterArgoCD · Fluxauto-reconcilePipeline braucht Cluster-ZugriffCluster holt sich den Zustand selbst

Das Beispiel zeigt die Übergabe im Code. Links steht die GitLab-CI-Pipeline im Anwendungs-Repository, die das Image baut und den neuen Soll-Zustand committet. Rechts steht das Config-Repository, das Argo CD beobachtet. Die geänderte Zeile newTag löst das Deployment aus. Die Pipeline braucht dafür nur Schreibrechte auf das Config-Repository, auf das Cluster greift sie nie zu.

app-repo · .gitlab-ci.yml
stages: [build, update-manifest]

build-image:
  stage: build
  script:
    - docker build -t $REGISTRY/shop/api:$CI_COMMIT_SHORT_SHA .
    - docker push $REGISTRY/shop/api:$CI_COMMIT_SHORT_SHA

update-manifest:
  stage: update-manifest
  script:
    # Soll-Zustand ins Config-Repo committen,
    # keine Cluster-Credentials in der CI
    - git clone https://git.example.com/platform/shop-config.git
    - cd shop-config
    - yq -i '.images[0].newTag = env(CI_COMMIT_SHORT_SHA)'
        overlays/prod/kustomization.yaml
    - git commit -am "shop/api -> $CI_COMMIT_SHORT_SHA"
    - git push origin main
config-repo · overlays/prod/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
  - ../../base
images:
  - name: registry.example.com/shop/api
    newTag: a1b2c3d   # von der CI committet

# Der Agent im Cluster zieht die Änderung selbst:
$ argocd app get shop-prod
Health Status:   Healthy
Sync Status:     Synced to main (1f4e5d6)
Last Sync:       Succeeded (auto, prune, selfHeal)
// In 2 Klicks: CI/CD, GitOps oder beides?Schritt 1 / 2

Was ist bei Ihnen der nächste Schritt?

CI/CD und GitOps schließen sich nicht aus. Die Frage ist, was bei Ihnen zuerst dran ist. Zwei Klicks ordnen ein, wo Sie am meisten gewinnen.

Wie deployen Sie heute überwiegend?

// 04Image-Tags

Wie kommt das neue Image-Tag ins Config-Repository?

Dafür gibt es drei gängige Wege. Entweder committet die CI-Pipeline das Tag selbst, wie im Beispiel oben. Oder ein Controller im Cluster beobachtet die Container-Registry und schreibt neue Tags zurück, bei Flux die Image Automation Controller, bei Argo CD der Argo CD Image Updater. Welcher Weg passt, hängt davon ab, wer die Freigabe verantworten soll.

Drei Wege, wie ein neues Image-Tag ins Config-Repository kommtErstens committet die CI-Pipeline, die das Image gebaut und in die Registry gepusht hat, das neue Tag selbst ins Config-Repository. Zweitens beobachtet Flux Image Automation die Registry und committet das Tag über eine Markierung im Manifest. Drittens beobachtet der Argo CD Image Updater die Registry und schreibt das Tag per Git-Commit zurück. Alternativ schreibt er über die Argo-CD-API direkt in die Application, dann landet die Änderung nicht in Git. Aus dem Config-Repository zieht der Agent im Cluster den Soll-Zustand.// DREI WEGE ZUM NEUEN IMAGE-TAGRegistryneues Imagepusht Imagebeobachtetbeobachtet/01CI-PipelineCommit oder Merge-Request/02Flux Image AutomationImagePolicy · Git-Commit/03Argo CD Image UpdaterImageUpdater-RessourcecommitcommitConfig-RepoSource of TruthpulltAgentim Clusteroder über die Argo-CD-API: Tag steht nur in der Application, nicht in GitÄnderung als Commit in GitÄnderung an Git vorbei
// Alle Git-Wege enden im Config-Repository · die API-Schreibweise des Image Updaters umgeht es
/01

Die Pipeline committet das Tag

Das ist der einfachste und transparenteste Weg. Die Pipeline kennt das Tag ohnehin, der Commit landet mit Build-Nummer in der Historie, und wer eine Freigabe braucht, lässt die Pipeline einen Merge-Request öffnen statt direkt zu committen. Die CI braucht dafür Schreibrechte auf das Config-Repository.

/02

Flux Image Automation

Flux verteilt die Aufgabe auf zwei Controller. Der image-reflector-controller liest die Registry und wählt über eine ImagePolicy das passende Tag, der image-automation-controller schreibt es als Commit ins Repository. Welche Zeile er ändert, steht als Markierungskommentar direkt im Manifest. Jede Aktualisierung bleibt damit ein normaler Git-Commit.

/03

Argo CD Image Updater

Der Image Updater läuft als eigener Controller neben Argo CD. Er fragt die Registry nach neuen Tags ab und aktualisiert nach festgelegten Regeln, etwa nur Patch-Versionen. Seit Version 1.0 (November 2025) steht die Konfiguration in einer eigenen ImageUpdater-Ressource statt in Annotationen an der Application. Die Änderung schreibt er über die Argo-CD-API oder als Commit ins Git-Repository zurück. Zwei Einschränkungen nennt das Projekt selbst: Er arbeitet nur mit Kustomize-, Helm- und Plugin-Anwendungen, nicht mit reinen YAML-Manifesten, und er gilt noch nicht als empfohlen für kritische Produktions-Workloads.

Für den Einstieg empfehlen wir Weg eins. Er kommt ohne zusätzlichen Controller aus, und jede Version im Cluster lässt sich auf einen konkreten Build zurückführen. Die Updater lohnen sich, sobald viele Anwendungen an Basis-Images hängen, die ein anderes Team pflegt, und niemand mehr jedes Sicherheits-Update von Hand nachziehen will. Wie die beiden Agenten sich sonst unterscheiden, zeigt Argo CD vs. Flux.

// 05Secrets

Wohin mit Secrets, wenn Git die Quelle ist?

Auf keinen Fall im Klartext ins Repository. Durchgesetzt haben sich drei Ansätze. Sealed Secrets und SOPS legen das Secret verschlüsselt in Git ab. Der External Secrets Operator legt nur einen Verweis ab und holt den Wert zur Laufzeit aus einem Tresor.

Ein einmal committetes Passwort bleibt in der Git-Historie, auch wenn es in der nächsten Version aus der Datei verschwunden ist. Wer das übersieht, rotiert im Ernstfall an einem Wochenende sämtliche Zugangsdaten der Plattform.

Ein DevOps-Engineer sitzt an einem Samstag allein im leeren Großraumbüro vor zwei Monitoren, links eine Commit-Historie mit einem rot markierten Eintrag, rechts eine lange Checkliste mit abgehakten Zugangsdaten, daneben Kaffeetasse, Smartphone und eine orange leuchtende SchreibtischlampeAI
Ein Passwort im Commit, und der Samstag gehört der Rotation aller Zugangsdaten
AnsatzWas in Git liegtWer entschlüsseltPasst, wenn
Sealed SecretsEin SealedSecret, mit kubeseal und dem öffentlichen Schlüssel des Clusters verschlüsseltDer Controller im ClusterWenige Cluster, kein zentraler Tresor
SOPSDie YAML-Datei mit verschlüsselten Werten, die Schlüsselnamen bleiben lesbar (age, PGP oder Cloud-KMS)Flux direkt, Argo CD über ein Plugin wie KSOPS oder helm-secretsIm Review soll sichtbar sein, welcher Eintrag sich geändert hat
External Secrets OperatorNur ein ExternalSecret mit Verweis auf den Tresor, kein WertDer Operator holt den Wert aus HashiCorp Vault, AWS, Azure oder Google CloudEin Tresor existiert bereits oder Rotation ist Pflicht

Wo es bereits einen Tresor gibt, nehmen wir den External Secrets Operator. Git enthält dann gar keine Geheimnisse, auch keine verschlüsselten, und die Rotation passiert an einer einzigen Stelle. Sealed Secrets ist der schnellere Start für ein einzelnes Cluster. Sichern Sie dann aber den privaten Schlüssel des Controllers, denn nach einem Neuaufbau des Clusters lässt sich ohne ihn keines der Secrets mehr entschlüsseln. Treffen Sie die Wahl vor der ersten produktiven Anwendung, ein späterer Wechsel betrifft jedes Secret einzeln. Wie sich das in eine sichere Lieferkette einfügt, beschreibt unsere Seite zu DevSecOps.

// 06Grenzen

Welche Nachteile und Grenzen hat GitOps?

GitOps erkauft Sicherheit und Nachvollziehbarkeit mit zusätzlichen Bausteinen. Neben der Secret-Frage aus Abschnitt 05 gehören drei Grenzen vor der Einführung auf den Tisch.

/01

Höhere Einstiegskomplexität

Config-Repository, ein Agent im Cluster und ein sauberes Branching-Modell müssen erst stehen. Teams ohne Kubernetes-Erfahrung zahlen eine spürbare Lernkurve, bevor der erste produktive Sync läuft.

/02

Config-Sprawl bei vielen Umgebungen

Jede Umgebung und jedes Cluster lebt als eigener deklarativer Zustand in Git. Ohne Kustomize-Overlays oder eine durchdachte Repo-Struktur wächst der Pflegeaufwand mit jeder Umgebung.

/03

Overkill bei einfachen Deployments

Für eine einzelne VM, eine Server-Anwendung ohne Kubernetes oder ein kleines Setup bringt das Pull-Modell wenig. Dort bleibt klassisches Push-CD die schnellere Wahl.

Unsere Faustregel: GitOps zahlt sich aus, sobald Kubernetes im Spiel ist, mehrere Cluster gepflegt werden oder ein Audit ansteht. Spätestens wenn ein Auditor wissen will, wer die letzte Änderung in Produktion freigegeben hat, ist die Git-Historie mehr wert als jede nachgepflegte Dokumentation.

Ein Instandhalter steht in einer Fertigungshalle vor einem geöffneten Schaltschrank, in dem neben SPS-Baugruppen ein kompakter Edge-Server mit grünen Status-LEDs hängt, auf seinem Tablet zeigt ein Dashboard grüne Statusanzeigen, im Hintergrund ein Roboterarm und ein FörderbandAI
Edge-Server im Schaltschrank: Der Agent holt den Soll-Zustand selbst, keine Pipeline greift von außen zu

In Werken kommt ein weiteres Argument dazu. Edge-Cluster hängen dort oft hinter restriktiven Firewalls oder laufen ganz ohne Verbindung nach außen (Air-Gap). Mit dem Pull-Prinzip holt sich der Cluster seinen Soll-Zustand selbst, etwa aus einem internen Git-Spiegel, und keine Pipeline muss von außen ins OT-Netz. Wie das zu den Zonen der IEC 62443 passt, beschreibt GitOps in der Industrie.

// 07Stolpersteine

Welche Stolpersteine gibt es beim Umstieg auf GitOps?

Die häufigsten Fehler beim Umstieg sind organisatorisch. Die Technik läuft meist nach wenigen Tagen, die Arbeitsweise braucht länger.

Der typische Anfang sieht so aus: Die Manifeste liegen in einem Ordner k8s/ im Anwendungs-Repository, und die Pipeline ruft am Ende kubectl apply auf. Das hält, bis jemand nur die Zahl der Replicas ändern will und dafür einen kompletten Build mit allen Tests abwarten muss.

/01

App- und Config-Repo nicht trennen

Liegen die Manifeste im Anwendungs-Repository, löst jeder Code-Commit ein Deployment aus, und Infrastruktur-Änderungen lassen sich nicht separat reviewen. Ein eigenes Config-Repository pro Plattform oder Team entkoppelt Release-Takt und Deployment-Freigabe.

/02

Image-Tags von Hand pflegen

Wer nach jedem Build das Tag im Config-Repository selbst ändert, baut eine manuelle Brücke mitten in die Automatisierung. Einer der drei Wege aus Abschnitt 04 gehört von Anfang an dazu.

/03

Rollbacks in Pipeline-Logik denken

Ein GitOps-Rollback ist ein git revert, keine erneute Pipeline-Ausführung. Teams, die für den Notfall weiter eine Pipeline „alte Version deployen“ mit Cluster-Zugriff pflegen, unterlaufen das Pull-Modell und schaffen einen zweiten Deployment-Pfad, den niemand mehr nachvollziehen kann.

Sie wollen wissen, wo Ihre Delivery-Kette heute steht, bevor Sie GitOps einplanen? Der DevOps-Reifegrad-Check zeigt es in 15 Minuten, ohne Anmeldung. Wer den Umstieg mit dem eigenen Team üben will, findet im ArgoCD- und GitOps-Workshop zwei Tage Praxis in einer vorbereiteten Cluster-Umgebung.

// 08Häufige Fragen

Häufige Fragen zu CI/CD, GitOps und Deployment-Modellen

Was ist der Unterschied zwischen CI/CD und GitOps?

CI/CD ist die automatisierte Kette aus Build, Test und Auslieferung, bei der die Pipeline das Deployment klassisch selbst ins Ziel schreibt (Push). GitOps ändert nur den Auslieferungsteil: Der gewünschte Zustand steht deklarativ in Git, und ein Agent wie Argo CD oder Flux holt ihn sich und gleicht das Cluster laufend an (Pull). GitOps ersetzt also nicht CI/CD, sondern das push-basierte CD.

Was ist CI/CD einfach erklärt?

CI/CD ist die automatisierte Kette von der Code-Änderung bis zur laufenden Anwendung. Continuous Integration (CI) baut den Code, führt Tests und Security-Scans aus und erzeugt ein Artefakt, zum Beispiel ein Container-Image. Continuous Delivery beziehungsweise Continuous Deployment (CD) bringt dieses Artefakt automatisiert in die Zielumgebung, sodass niemand mehr von Hand baut, kopiert oder einspielt.

Was ist GitOps einfach erklärt?

GitOps ist ein Betriebsmodell, das den gewünschten Zustand von Infrastruktur und Anwendungen deklarativ in einem Git-Repository festhält und von einem Agenten (Argo CD, Flux) laufend mit dem System abgleichen lässt. Git ist damit die einzige Quelle der Wahrheit (Single Source of Truth). Jede Änderung ist ein Commit, jeder Rollback ein git revert, und Abweichungen zwischen Soll- und Ist-Zustand (Drift) korrigiert der Agent automatisch.

Was sind die vier Prinzipien von GitOps?

Die OpenGitOps-Initiative definiert vier Prinzipien. 1) Deklarativ: Beschrieben wird der gewünschte Zustand, nicht der Weg dorthin. 2) Versioniert und unveränderlich: Der Zustand liegt in Git, jede Version bleibt nachvollziehbar erhalten. 3) Automatisch gezogen: Ein Agent holt den Soll-Zustand selbst, statt dass eine Pipeline von außen pusht. 4) Kontinuierlich abgeglichen: Der Agent überwacht laufend und korrigiert Drift. Aus diesen vier Prinzipien folgt, dass GitOps auditierbar ist und sich selbst repariert.

Ist GitOps Push oder Pull?

GitOps ist pull-basiert. Ein Agent im Cluster beobachtet das Git-Repository und zieht Änderungen selbst, statt dass eine externe Pipeline mit Cluster-Zugangsdaten pusht. Die CI braucht dadurch keine Cluster-Credentials, und der Agent kann Drift automatisch korrigieren.

Ist ArgoCD push- oder pull-basiert?

Argo CD ist pull-basiert. Der Controller läuft im Kubernetes-Cluster, beobachtet das Config-Repository und wendet Änderungen von innen an. Mit der Option selfHeal setzt er zusätzlich manuelle Eingriffe am Cluster zurück. Einen manuellen Sync über CLI oder Weboberfläche gibt es zwar, der Abgleich selbst bleibt aber ein Pull aus Git.

Welche Deployment-Werkzeuge arbeiten push-basiert, welche pull-basiert?

Push-basiert arbeiten Jenkins, GitLab CI, GitHub Actions und Azure Pipelines, ebenso Ansible und Terraform. Sie halten die Zugangsdaten und schreiben die Änderung aktiv in die Zielumgebung. Pull-basiert arbeiten die GitOps-Agenten Argo CD und Flux, die im Cluster laufen und den Soll-Zustand selbst aus Git holen. Beide Modelle lassen sich kombinieren: Die Pipeline baut, der Agent rollt aus.

Wann ist Push-Deployment die bessere Wahl als Pull?

Push bleibt die bessere Wahl ohne Kubernetes, bei wenigen Zielsystemen und überall dort, wo der Rollout an eine feste Reihenfolge gebunden ist, etwa an eine Datenbank-Migration vor dem Anwendungs-Deployment. Auch für seltene Deployments lohnt sich der Betrieb eines Agenten selten. Pull-Deployment mit GitOps spielt seine Stärken bei Kubernetes, mehreren Clustern und regulierten Branchen aus.

Ersetzt GitOps die CI/CD-Pipeline?

Nein, GitOps ersetzt nur den Deployment-Teil (CD). Continuous Integration mit Build, Tests, Security-Scans und Image-Erstellung bleibt nötig und läuft weiter in Jenkins, GitLab CI oder GitHub Actions. Die CI committet anschließend den neuen gewünschten Zustand nach Git, und GitOps übernimmt von dort.

Was ist ein Config-Repository und warum braucht GitOps eines?

Das Config-Repository hält den gewünschten Cluster-Zustand, also Kubernetes-Manifeste, Kustomize-Overlays oder Helm-Values, getrennt vom Anwendungscode. Die Trennung verhindert, dass jeder Code-Commit ein Deployment auslöst, und erlaubt eigene Reviews und Freigaben für Infrastruktur-Änderungen. Der GitOps-Agent beobachtet nur dieses Repository.

Was macht der Argo CD Image Updater?

Der Argo CD Image Updater beobachtet Container-Registries und aktualisiert das Image-Tag einer Argo-CD-Anwendung, sobald nach den festgelegten Regeln eine neue Version verfügbar ist. Die Änderung schreibt er über die Argo-CD-API oder als Commit ins Git-Repository zurück. Seit Version 1.0 steht seine Konfiguration in einer eigenen ImageUpdater-Ressource. Er arbeitet mit Kustomize-, Helm- und Plugin-Anwendungen, und das Projekt empfiehlt ihn noch nicht für kritische Produktions-Workloads.

Wie verwaltet man Secrets bei GitOps?

Verschlüsselt oder als Verweis, nie im Klartext. Sealed Secrets und SOPS legen Secrets verschlüsselt in Git ab. Der External Secrets Operator legt nur einen Verweis ab und holt den Wert zur Laufzeit aus einem Tresor wie HashiCorp Vault, AWS Secrets Manager oder Azure Key Vault. Wo ein Tresor existiert, ist der External Secrets Operator meist die sauberere Wahl, weil Git dann gar keine Geheimnisse enthält.

Wie funktionieren Rollbacks mit GitOps?

Ein Rollback ist ein git revert auf dem Config-Repository. Der alte Zustand wird als neuer Commit deklariert, und der Agent gleicht das Cluster automatisch an. Dafür braucht es weder eine eigene Rollback-Pipeline noch manuellen Cluster-Zugriff, und die Git-Historie dokumentiert, wer wann was zurückgerollt hat.

Was ist ein wesentlicher Nachteil von GitOps?

Der größte Nachteil ist die zusätzliche Komplexität. GitOps verlangt ein separates Config-Repository, einen Agenten im Cluster und eine Secret-Strategie (Sealed Secrets, SOPS oder External Secrets). Bei vielen Umgebungen wächst die Config-Pflege spürbar, und für einfache Deployments ohne Kubernetes ist klassisches Push-CD oft die pragmatischere Wahl. GitOps zahlt sich vor allem mit Kubernetes, mehreren Clustern oder in regulierten Branchen aus.

Ist Git ein CI/CD-Tool?

Nein, Git ist ein Versionskontrollsystem. CI/CD-Werkzeuge wie Jenkins, GitLab CI oder GitHub Actions setzen auf Git auf: Ein Commit oder Merge-Request startet die Pipeline. Bei GitOps wird Git zusätzlich zur deklarativen Source of Truth für den Cluster-Zustand. Das Deployment selbst übernimmt aber ein Agent wie Argo CD oder Flux.

// Ihr nächster Schritt1 Klick, anonym

Wie geht es bei Ihnen mit GitOps weiter?

Sagen Sie uns mit einem Klick, wie es bei Ihnen weitergeht. Passend dazu bekommen Sie direkt einen konkreten nächsten Schritt — ganz ohne Formular.

// Nächster Schritt

Erstgespräch.
Kostenlos.
90 Tage zum Ergebnis.

Wir klären gemeinsam, wie Sie in 90 Tagen die ersten messbaren Industrial-DevOps-Erfolge erzielen.

Erstgespräch buchen
Seit 2006 · 47+ Projekte
Industrie · Automotive · Finance