Push-based deployment (CI spustí kubectl apply) je křehký. GitOps otáčí model: Git je single source of truth a ArgoCD kontinuálně synchronizuje cluster s desired state.
GitOps principy¶
- Deklarativní — celý systém popsaný v Gitu (YAML/Helm/Kustomize)
- Verzovaný — každá změna je Git commit s audit trail
- Automatický — agent (ArgoCD) detekuje drift a opraví ho
- Pull-based — cluster si stahuje stav z Gitu, CI nepotřebuje cluster credentials
ArgoCD setup¶
ArgoCD Application pro každou službu — mapuje Git repo/path na K8s namespace. Auto-sync: změna v Gitu → automatický deployment. Health checks ověří, že deployment je healthy. Pokud ne → automatický rollback.
Výhody oproti push-based CI/CD¶
CI pipeline nepotřebuje cluster credentials — bezpečnější.
Drift detection — pokud někdo změní resource ručně, ArgoCD ho vrátí.
Rollback = git revert. Audit trail = Git log.
Git = single source of truth¶
GitOps s ArgoCD je nejčistší model pro Kubernetes deployment. Deklarativní, auditovatelný, automatický.