Zurück zum Blog
SoftwareGitOpsDevOps

GitOps: Infrastructure as Code für agile Teams

·7 Min. Lesezeit

Was ist GitOps?

GitOps ist ein Ansatz, bei dem **Git als einzige Quelle der Wahrheit** für die gesamte Infrastruktur und Anwendungskonfiguration dient. Jede Änderung – ob am Code oder an der Infrastruktur – wird über Git-Commits und Pull Requests gesteuert.

Das Grundprinzip

1. Der **gewünschte Zustand** der Infrastruktur wird deklarativ in Git beschrieben

2. Ein **Operator** vergleicht den gewünschten Zustand mit dem tatsächlichen Zustand

3. Bei Abweichungen wird der tatsächliche Zustand **automatisch korrigiert**

**Einfach gesagt:** Sie beschreiben, wie Ihre Infrastruktur aussehen soll, und GitOps sorgt dafür, dass es so ist – jederzeit und automatisch.

Warum GitOps?

Das Problem mit klassischen Deployments

In vielen Unternehmen sieht der Deployment-Prozess so aus:

Jemand loggt sich per **SSH auf den Server** ein
Führt **manuell Befehle** aus
Niemand weiß genau, **wer wann was** geändert hat
Bei Problemen ist ein **Rollback** schwierig und fehleranfällig

GitOps löst diese Probleme

Versionierung:: Jede Änderung ist ein Git-Commit mit Autor, Zeitstempel und Beschreibung
Nachvollziehbarkeit:: Sie können jederzeit sehen, wer welche Änderung wann vorgenommen hat
Rollback:: Ein `git revert` stellt den vorherigen Zustand wieder her
Review-Prozess:: Infrastruktur-Änderungen durchlaufen denselben Pull-Request-Prozess wie Code

Die GitOps-Toolchain

Flux CD

Ein CNCF-Projekt, das den Zustand in Git mit dem Kubernetes-Cluster synchronisiert. Leichtgewichtig und gut in bestehende Workflows integrierbar.

Argo CD

Bietet eine **grafische Oberfläche** zur Überwachung des Synchronisierungsstatus. Besonders beliebt bei Teams, die visuelle Kontrolle bevorzugen.

Terraform + Atlantis

Für Infrastruktur jenseits von Kubernetes: Cloud-Ressourcen, Netzwerke, Datenbanken. Atlantis ermöglicht **Terraform über Pull Requests**.

GitOps in der Praxis

Repository-Struktur

Eine bewährte Struktur trennt Anwendungs- und Infrastruktur-Repositories:

App-Repository:: Enthält den Quellcode und das Dockerfile
Config-Repository:: Enthält Kubernetes-Manifeste, Helm Charts oder Kustomize-Overlays
Infrastruktur-Repository:: Enthält Terraform-Module für Cloud-Ressourcen

Workflow

1. Entwickler pusht Code ins App-Repository

2. CI-Pipeline baut ein neues Container-Image

3. Die Pipeline aktualisiert die Image-Version im Config-Repository

4. Der GitOps-Operator erkennt die Änderung und deployt automatisch

Voraussetzungen für den Einstieg

Git als zentrales Versionskontrollsystem: (sollte bereits Standard sein)
Container und Kubernetes: (zumindest grundlegend)
Deklarative Konfiguration: statt imperativer Skripte
Team-Disziplin:: Keine manuellen Änderungen an der Infrastruktur – alles geht über Git

Fazit

GitOps bringt die bewährten Prinzipien der Softwareentwicklung – **Versionierung, Code Reviews, automatisierte Tests** – in die Welt der Infrastruktur. Für Teams, die bereits mit Git und Containern arbeiten, ist der Einstieg überraschend einfach und der Gewinn an Nachvollziehbarkeit und Sicherheit enorm.

Interesse geweckt?

Lassen Sie uns über Ihr Projekt sprechen.

Kontakt aufnehmen
WhatsApp Chat