gitops_argocd
ArgoCD sincroniza automáticamente el estado del clúster Kubernetes con los manifiestos/charts del repositorio Git. Esto garantiza que nadie puede modificar la configuración del cluster manualmente y que el repositorio es la única fuente de verdad.
When to use
Implementar antes del primer deploy a producción. ArgoCD detecta cualquier drift entre el estado deseado (Git) y el estado real (cluster) y puede corregirlo automáticamente o alertar.
Instructions
- Instalar ArgoCD en el cluster:
kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml - Crear
Applicationde ArgoCD apuntando al chart de Helm:apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: kyc-production spec: source: repoURL: https://github.com/company/kyc-system targetRevision: main path: charts/kyc helm: valueFiles: [values-prod.yaml] destination: server: https://kubernetes.default.svc namespace: kyc-prod syncPolicy: automated: { prune: true, selfHeal: true } selfHeal: true— ArgoCD revierte cambios manuales en el cluster automáticamente.prune: true— elimina recursos del cluster que se han eliminado del repo.- Configurar notificaciones de ArgoCD a Slack para sync success/failure.
- Image updater: instalar
argocd-image-updaterpara que ArgoCD detecte nuevas imágenes en el registry y abra PRs automáticamente.
Notes
- Con ArgoCD,
kubectl applydirecto en producción está prohibido — todos los cambios van via Git PR. - El acceso a ArgoCD UI debe estar protegido con SSO (integrar con Keycloak o GitHub OAuth).
- Guardar las credenciales de repositorio de ArgoCD en Vault, no en el cluster directamente.