Evolucionar desde un uso disciplinado de Git hacia un modelo completamente automatizado donde:
- Git sea la fuente única de verdad.
- El clúster se sincronice automáticamente con Git.
- No se modifique nada manualmente en producción.
👉 Si algo no está en Git, no existe.
Argo CD es una herramienta de despliegue continuo (CD – Continuous Delivery) diseñada específicamente para Kubernetes.
Su función principal es:
👉 Vigilar un repositorio Git y asegurarse de que el estado real del clúster coincida con lo que está definido en los manifiestos versionados.
En otras palabras:
- Git define el estado deseado.
- Argo CD compara ese estado con el estado real del clúster.
- Si detecta diferencias, las corrige automáticamente.
Esto convierte a Git en el orquestador real del sistema.
Para cada aplicación declarada:
- Lee los manifiestos desde un repositorio Git.
- Los renderiza (Kustomize, Helm o YAML puro).
- Los aplica al clúster.
- Monitoriza desviaciones.
- Re-sincroniza si alguien modifica algo manualmente.
Resultado:
- Eliminamos configuración manual.
- Eliminamos "drift" (desviación entre lo declarado y lo real).
- Garantizamos coherencia entre entornos.
El modelo operativo que buscamos es el siguiente:
En un clúster o entorno de laboratorio:
- Se prueban nuevas aplicaciones.
- Se generan y refinan los manifiestos.
- Se validan configuraciones.
- Se comprueba el comportamiento.
Cuando la aplicación está correctamente definida:
👉 Se guardan los manifiestos definitivos en el repositorio Git.
En ese momento, la aplicación deja de ser "experimental" y pasa a estar formalmente versionada.
En producción utilizamos el patrón App of Apps:
- Existe una aplicación raíz en Argo CD.
- Esa aplicación declara otras aplicaciones.
- Cada aplicación apunta a su propio repositorio o carpeta.
Ventajas:
- Modularidad.
- Control fino de qué se despliega.
- Escalabilidad organizativa.
- Separación por equipos o dominios funcionales.
Para desplegar una nueva aplicación en producción:
- Se añade su definición al repositorio correspondiente.
- Se referencia desde la App raíz.
- Argo CD la sincroniza automáticamente.
No hay acceso manual al clúster.
No hay "kubectl apply" en producción.
Cuando surge una incidencia:
- Se abre una incidencia formal (issue) en el repositorio.
- Se asigna responsable.
- Se crea una rama para corregir el problema.
- Se aplica el parche en los manifiestos.
- Se revisa y aprueba.
- Se hace merge a la rama principal.
- Argo CD sincroniza automáticamente el cambio.
Resultado:
- Queda trazabilidad completa.
- Sabemos quién cambió qué.
- Sabemos por qué se cambió.
- Podemos revertir si es necesario.
Esto nos hace plenamente compatibles con modelos de gestión como ITIL en lo relativo a:
- Gestión del cambio.
- Gestión de configuración.
- Gestión de incidencias.
- Auditoría.
Con el mismo esfuerzo:
- Tenemos control formal del cambio.
- Tenemos trazabilidad completa.
- Tenemos despliegue automático.
- Tenemos coherencia entre prueba y producción.
Y además:
👉 Disponemos de una plataforma que despliega automáticamente el software que desarrollamos, tanto en preproducción como en producción.
La infraestructura deja de depender de operaciones manuales.
Pasa a depender de procesos versionados, auditables y automatizados.