GitOps
Práctica operacional que usa Git como fuente única de verdad para infraestructura y configuración, con reconciliación automática entre el estado deseado y el real.
seed#gitops#argocd#flux#kubernetes#automation#declarative
¿Qué es?
GitOps es una práctica donde Git es la fuente única de verdad para el estado deseado de la infraestructura y aplicaciones. Un operador (ArgoCD, Flux) monitorea el repositorio y reconcilia automáticamente el estado real con el declarado en Git.
Principios
- Declarativo: el estado deseado se describe, no los pasos
- Versionado: todo en Git con historial completo
- Automático: cambios en Git se aplican automáticamente
- Reconciliación: el operador corrige drift continuamente
Flujo
Dev → PR → Review → Merge → Git repo
↓
Operador GitOps detecta cambio
↓
Aplica cambios al cluster
↓
Reconcilia estado continuamente
Herramientas
| Herramienta | Enfoque |
|---|---|
| ArgoCD | UI rica, multi-cluster |
| Flux | Ligero, CNCF |
| Crossplane | Infraestructura cloud via K8s |
¿Cuándo no usar GitOps?
- Aplicaciones que requieren despliegues imperativos con lógica condicional compleja
- Equipos sin experiencia en Kubernetes — la curva de aprendizaje se multiplica
- Secretos que no deben vivir en Git (requiere herramientas adicionales como Sealed Secrets o External Secrets)
¿Por qué importa?
GitOps convierte Git en la fuente de verdad para la infraestructura y las aplicaciones. Cada cambio pasa por un PR, es revisado y se aplica automáticamente. Esto proporciona auditoría completa, rollback instantáneo y un flujo de trabajo que los desarrolladores ya conocen.
Referencias
- OpenGitOps — Principios y estándar.
- ArgoCD — Documentación oficial.
- Flux CD — CNCF, 2024. Herramienta GitOps nativa de Kubernetes.