Компания «ДеплойПро» — 30 микросервисов в Kubernetes. CI/CD: Jenkins с 45 pipeline-ами. Проблемы:
- Jenkins — единая точка отказа: обновление Jenkins → все деплои стоят
- Credentials sprawl: kubeconfig в Jenkins для доступа к кластеру
- Push-модель: Jenkins пушит в кластер. Нет гарантии, что состояние кластера = Git
- Drift: kubectl apply вручную + Jenkins = непонятно что реально в кластере
GitOps — pull-модель: агент в кластере следит за Git-репозиторием и автоматически приводит кластер в соответствие с Git. Git = single source of truth.
| Push (Jenkins) | Pull (FluxCD/ArgoCD) |
|---|---|
| Jenkins → kubectl apply | Flux agent ← git pull → apply |
| Credentials вне кластера | Credentials внутри кластера |
| Нет гарантии consistency | Reconciliation loop (30 сек) |
| Drift возможен | Auto-remediation (drift fix) |
Комментарии 0