Delivery / Betriebsmodell
GitOps, CI/CD und Plattform-Auslieferung
GitOps macht Git zur Quelle des gewünschten Zustands. CI baut und testet Artefakte; CD synchronisiert freigegebene Zustände in die Plattform.
Trennung CI und CD
CI erzeugt überprüfte Artefakte. CD bringt freigegebene Versionen kontrolliert in Zielumgebungen.
GitOps-Prinzip
Man verändert nicht manuell im Cluster, sondern ändert deklarative Dateien im Git. Controller synchronisieren Zustand und melden Drift.
Promotion
Dev, Test und Prod werden über Pull Requests, Freigaben und Versionen bewegt. Keine geheimen Klicks in der Konsole.
Rollback
Rollback ist ein Git-Zustand, kein hektisches manuelles Korrigieren im Cluster.
Ausführliche Beispiele
Kustomize Struktur
apps/order-api/
├── base/
│ ├── deployment.yaml
│ ├── service.yaml
│ └── kustomization.yaml
└── overlays/
├── dev/
├── test/
└── prod/
Pipeline Grundidee
stages:
- test
- build
- scan
- publish
- promote
promote-prod:
stage: promote
when: manual
script:
- yq -i '.images[0].newTag = env(IMAGE_TAG)' apps/order-api/overlays/prod/kustomization.yaml
- git commit -am "Promote order-api ${IMAGE_TAG} to prod"
- git push
Typische Stolperfallen
- Manuelle Hotfixes im Cluster erzeugen Drift.
- CI/CD hat zu breite Rechte.
- Umgebungen unterscheiden sich strukturell.
Prüf- und Verständnis-Checkliste
- Clusterzustand ist aus Git rekonstruierbar.
- Promotion ist nachvollziehbar.
- Rollback wurde getestet.
Merksatz
Enterprise-Regel: Eine Infrastrukturkomponente ist erst fertig, wenn sie fachlich begründet, automatisiert, beobachtet, geschützt, dokumentiert und wiederherstellbar ist.