Middle
¿En qué consiste la concepto de GitOps?
sobes.tech AI
Respuesta de la IA
GitOps es un marco operativo que utiliza Git como la única fuente de verdad para describir de manera declarativa el estado deseado de la infraestructura y las aplicaciones.
Principios clave:
- Declaratividad: El sistema está descrito de manera declarativa, por ejemplo, mediante manifiestos de Kubernetes.
- Versionado: El estado deseado del sistema se almacena en Git y tiene versiones.
- Automatización: Los procesos automáticos aplican cambios desde Git en el entorno de trabajo.
- Alineación: Agentes especiales verifican constantemente el estado actual del sistema y lo ajustan para que coincida con el estado deseado en Git.
Esquema de trabajo:
- El desarrollador u operador realiza cambios en la configuración o código de la aplicación y hace un commit en el repositorio Git.
- El sistema CI/CD recopila artefactos (por ejemplo, imágenes Docker) y actualiza los manifiestos de despliegue en otro repositorio Git (repositorio de configuración).
- El agente GitOps (por ejemplo, Flux CD, Argo CD) supervisa el repositorio de configuración.
- Al detectar un nuevo commit, el agente extrae los cambios y los aplica al entorno objetivo (por ejemplo, un clúster de Kubernetes).
- El agente verifica constantemente si el estado actual del clúster coincide con el estado descrito en Git y corrige las discrepancias.
Ventajas:
- Fiabilidad: El estado del sistema siempre puede restaurarse desde Git.
- Velocidad: Los procesos automatizados permiten desplegar cambios más rápidamente.
- Seguridad: Todos los cambios pasan por Git, asegurando auditoría y capacidad de revertir.
- Visibilidad: El historial de cambios está disponible en Git.
- Facilidad de revertir: Revertir a un estado anterior equivale a revertir un commit en Git.
Ejemplos de herramientas:
- Flux CD
- Argo CD