Schritt 1: Klären, ob GitOps überhaupt das richtige Modell ist
GitOps löst ein Problem, das erst ab einer gewissen Größe weh tut. Bevor du Werkzeuge vergleichst, prüfe die Voraussetzungen im eigenen Haus.
Der Umbau lohnt sich, sobald mehr als ein Mensch am Cluster arbeitet und mehr als eine Umgebung existiert. Ab da zahlt sich die Richtungsumkehr aus: Der Cluster zieht seinen Sollzustand selbst, statt ihn von außen zugeschoben zu bekommen. Betreibt ihr genau einen Cluster mit einer Handvoll Deployments, ist der Aufwand größer als der Nutzen, dann reicht ein sauberes Deployment aus der bestehenden Pipeline. Ob Kubernetes für euren Fall überhaupt die richtige Grundlage ist, gehört ohnehin eine Ebene davor entschieden.
Was vor dem ersten Controller stehen muss
- Ein eigenes Repository für die Konfiguration, getrennt vom Anwendungscode
- Eine Namenskonvention für Umgebungen, Namespaces und Cluster, die ihr durchhaltet
- Ein Weg für Secrets, der ohne Klartext in Git auskommt
- Geklärte Zuständigkeit: Wer darf in die Produktionsverzeichnisse mergen?
- Container-Images mit unveränderlichen Tags oder Digests statt
latest