V tradičním CI/CD pipeline Jenkins pushuje změny do clusteru. Co když otočíme model? Git repozitář definuje požadovaný stav, a operátor v clusteru se stará o synchronizaci. Tohle je GitOps.
Problém s push-based CI/CD¶
- CI server je single point of failure
- Credentials ke clusteru žijí mimo cluster
- Drift: někdo změní cluster ručně, CI neví
- Rollback: musíte triggerovat starý build
GitOps principy¶
1. Deklarativní popis v Gitu. 2. Git jako single source of truth. 3. Automatická synchronizace. 4. Drift detection a reconciliation.
Flux v praxi¶
Chcete deploy nové verze? Updatujte image tag v Gitu. Flux to detekuje a provede rolling update. Rollback? Git revert. Audit trail? Git log.
Zkušenosti po 2 měsících¶
- Plus: kompletní audit trail, jednoduchý rollback, žádné credentials mimo cluster
- Plus: drift detection
- Minus: pomalejší feedback loop (1-3 min)
- Minus: merge konflikty v auto-generated commits
GitOps je evoluce CI/CD¶
Auditovatelný, reprodukovatelný, automatizovaný deployment. Pro nás jasný směr do budoucna.