🚀 GitOps explicado sin dolor (ni buzzwords raros)

🚀 GitOps explicado sin dolor (ni buzzwords raros)
Photo by Praveen Thirumurugan / Unsplash

Si alguna vez te ha pasado esto:

“¿Quién desplegó esto a prod?”

“En mi máquina sí funcionaba”

“¿Por qué el cluster no está igual que ayer?”

“Me da miedo tocar Kubernetes”

…entonces GitOps te va a caer como agua fría en día de calor 🧊


🤔 ¿Qué es GitOps?

Dicho simple:

GitOps es usar Git como el botón oficial de deploy.

Si no está en Git, no existe.
Si está en Git, se despliega solo.

Nada de:

kubectl apply helm upgrade

Solo:

git commit git push

Y alguien más (spoiler: Argo CD) hace la magia 🪄


🧠 El problema antes de GitOps

Antes, el flujo típico era algo así:

Jenkins corre

Jenkins hace kubectl

Jenkins hace helm

Jenkins toca el cluster

Nadie sabe qué pasó

Nadie sabe cómo volver atrás

Resultado:
😵 caos
😵 miedo a prod
😵 “no toques eso que se rompe”


✅ La idea clave de GitOps

GitOps cambia el juego con una regla muy clara:

Git es la fuente de la verdad

No Jenkins
No Kubernetes
No tu laptop

👉 Git


🔁 Cómo se ve el flujo real

Así, sin drama:

Haces cambios en el código

CI (Jenkins, GitHub Actions, etc):

corre tests

construye imagen Docker

la sube al registry

CI clona otro repo (el repo GitOps)

CI genera un values.yaml

CI hace commit y push

Argo CD ve el cambio

Argo CD despliega en Kubernetes

👉 El CI no toca el cluster
👉 Argo CD sí toca el cluster


📦 ¿Por qué dos repos?

Porque cada uno tiene una responsabilidad clara:

Repo 1 – Código

Código fuente

Dockerfile

Tests

Jenkinsfile

Repo 2 – GitOps

Configuración de despliegue

values.yaml

Ambientes (dev, preview, prod)

Esto hace que:

Todo sea auditable

Los deploys sean repetibles

El rollback sea trivial


🔥 Rollback en GitOps (lo bonito)

Algo se rompió en prod 😬

Antes:

logs

estrés

parches a mano

Con GitOps:

git revert git push

Y listo. Argo CD vuelve al estado anterior solo.


🌱 Ambientes efímeros (lo más cool)

Con GitOps puedes hacer esto:

PR abierto → ambiente nuevo

PR cerrado → ambiente eliminado

Cada PR tiene:

su namespace

su URL

su config

Y cuando ya no sirve:
💥 se borra solo

Sin limpiar basura después.


🧠 ¿GitOps es solo para seniors?

❌ No.

De hecho, GitOps ayuda mucho a la gente no senior, porque:

Reduce errores humanos

Evita tocar prod “a mano”

Te obliga a documentar cambios

Hace el sistema más predecible

GitOps no te pide ser crack, te ayuda a no romper cosas.


🎯 Ventajas reales (sin marketing)

✔ Menos miedo a desplegar
✔ Todo queda en Git
✔ Rollback fácil
✔ Auditoría automática
✔ Kubernetes más ordenado
✔ CI más simple


🧩 Frase para llevarte

Jenkins construye
Git decide
Argo CD ejecuta
Kubernetes mantiene

Si estás empezando con Kubernetes y CI/CD, GitOps es una de las mejores decisiones que puedes tomar temprano. Te ahorra errores, estrés y discusiones futuras.