Fase 7.2
Self-Healing Demo

Drift Detection · La Demo

La demostracion mas visual de GitOps: borrar un deployment manualmente y ver como ArgoCD lo detecta como OutOfSync y lo recrea automaticamente en menos de 3 minutos. Sin intervencion humana.

01

El Guion Paso a Paso

Cinco pasos desde el borrado manual hasta la restauracion automatica. El tiempo total es de aproximadamente 3 minutos y 30 segundos.

1
Verificar estado inicial
Todos los deployments estan Synced y Healthy en la UI de ArgoCD. El cluster coincide exactamente con lo declarado en Git.
2
Simular un error humano
kubectl delete deployment grafana -n aiops — como si alguien ejecutara el comando por accidente. El deployment desaparece inmediatamente.
3
ArgoCD detecta el drift
En ~3 minutos, el application-controller compara el estado del cluster contra Git. Detecta que grafana no existe. La aplicacion pasa a estado OutOfSync.
4
Auto-sync: ArgoCD recrea
selfHeal: true activa la reconciliacion automatica. ArgoCD recrea el deployment de Grafana aplicando el manifiesto desde Git. El pod de Grafana vuelve a Running.
5
Estado vuelve a Synced
La UI de ArgoCD muestra la aplicacion como Synced y Healthy. El evento de sync queda registrado en el historial con motivo 'self-heal'.
02

Los Comandos

drift detection demo
# 1. Verificar estado inicial en ArgoCD
$kubectl get application aiops-lab -n argocd
NAME SYNC STATUS HEALTH STATUS
aiops-lab Synced Healthy
# 2. Borrar el deployment de Grafana
$kubectl delete deployment grafana -n aiops
deployment.apps "grafana" deleted
# 3. Esperar ~3 min y verificar que Grafana volvio
$kubectl get deployment grafana -n aiops
NAME READY UP-TO-DATE AVAILABLE AGE
grafana 1/1 1 1 10s
# 4. Verificar estado final en ArgoCD
$kubectl get application aiops-lab -n argocd
aiops-lab Synced Healthy
03

Que Demuestra Esto

Git es la fuente de verdad
El cluster no se modifica con comandos. Se modifica con commits a Git. ArgoCD garantiza que el estado real siempre converge al declarado.
Self-healing real
No es un script de monitoreo que recrea recursos. Es el loop de control de Kubernetes extendido a Git: el estado deseado esta en el repo, no en la memoria de un operador.
Audit trail completo
Cada cambio en el cluster tiene un commit asociado. Si algo falla, git blame muestra quien cambio que y cuando. El historial de sync de ArgoCD registra cada evento.
Operaciones declarativas
El operador no ejecuta comandos — declara estado en YAML. ArgoCD se encarga del como. Esto es el paradigma de Kubernetes llevado a la infraestructura.

Fase 7 Completada

GitOps funcionando con self-healing. La Fase 8 agrega capas de seguridad para produccion: fail2ban, dnf-automatic y hardening checklist.

Fase 8