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.
¿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.
Contenido relacionado
- CI/CD
Continuous Integration y Continuous Delivery/Deployment — prácticas que automatizan la integración de código, testing y entrega a producción. Fundamento de la ingeniería de software moderna.
- Infrastructure as Code
Práctica de definir y gestionar infraestructura mediante archivos de configuración versionados en lugar de procesos manuales. Fundamento de la automatización moderna de operaciones.
- Kubernetes
Plataforma de orquestación de contenedores que automatiza el despliegue, escalado y gestión de aplicaciones containerizadas a escala, convirtiéndose en el estándar de facto para cloud native.
- Helm
Gestor de paquetes para Kubernetes que simplifica la instalación y gestión de aplicaciones complejas mediante charts reutilizables y configurables.