Autor: Sandro Savelli, Herospark
En equipos que trabajan con Kubernetes es habitual luchar para mantener producción alineada con los manifiestos versionados en Git. Cambios manuales, poca trazabilidad y divergencias entre entornos ponen en riesgo la estabilidad de las aplicaciones.
Cuando hay múltiples clusters y equipos el reto crece, por lo que conviene una entrega continua más automatizada, segura y auditable. Aquí es donde ArgoCD brilla: sincroniza el estado del cluster con una única fuente de verdad, el repositorio Git. A continuación verás cómo instalar y configurar ArgoCD en Magalu Cloud con Helm, integrar repos Git por HTTPS o SSH, crear Applications desde la interfaz y la CLI y usar ArgoCD Vault Plugin para gestionar secretos con seguridad.
Dependencias necesarias: argocd, kubectl, helm y kubie
Acceso al cluster MGC: en el console de Magalu Cloud entra al panel de Kubernetes, selecciona tu cluster y descarga el kubeconfig con la opción Download Config. Activa el contexto con kubie desde terminal: kubie ctx -f ruta/hacia/config.yaml. A partir de ahí, kubectl y demás herramientas operarán sobre el cluster correcto.
Instalación de ArgoCD con Helm: ArgoCD es una herramienta declarativa de CD para Kubernetes. En Magalu Cloud se instala fácilmente con Helm. Descarga y ajusta el values.yaml del chart oficial en el repositorio argo-helm y configura el Ingress y el dominio donde exponer el servidor de ArgoCD. Comandos básicos: helm repo add argo https://argoproj.github.io/argo-helm; helm install -f ruta/values.yaml argocd argo/argo-cd.
Con la configuración por defecto se crea el usuario admin y su contraseña inicial queda en el Secret argocd-initial-admin-secret en el namespace argocd. Recupérala con kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath={.data.password} | base64 -d. Úsalo solo para el setup inicial y habilita autenticación corporativa o SSO después. Para cambios de configuración usa helm upgrade -f ruta/values.yaml argocd argo/argo-cd.
Añadir un repositorio Git en ArgoCD por HTTPS: en la UI ve a Settings Repositories y usa Connect Repo. Indica la URL como https://github.com/usuario/repositorio.git y, si es privado, autentica con usuario y contraseña o token personal.
Añadir un repositorio Git en ArgoCD por SSH: genera o reutiliza un par de claves, registra la clave pública como Deploy Key en el repositorio y en ArgoCD elige Connect Repo using SSH con URL git@github.com:usuario/repositorio.git y pega la clave privada. SSH facilita una revocación granular y un control más estricto por entorno.
Qué es una Application en ArgoCD: es la definición que vincula una fuente en Git con un destino en el cluster, especificando repo, ruta, revisión, cluster y namespace, además de la política de sincronización. Puedes organizar tu repo con manifiestos planos o Helm charts. Un ejemplo simple: carpeta apps con subcarpeta airflow que contiene los manifiestos y el application.yaml, y otra carpeta initial-addons con valores Helm aplicados manualmente.
Crear una Application desde la UI: define Application Name, Project normalmente default, Sync Policy en modo Automatic para CD, Repository URL por HTTPS o SSH, Revision por ejemplo main, Path como apps/airflow, Cluster URL normalmente https://kubernetes.default.svc y Namespace destino como default. Luego pulsa Create y ArgoCD comenzará a sincronizar.
Crear una Application con la CLI: inicia sesión con argocd login dominio-de-argocd. Crea la app con argocd app create app-demo --repo https://github.com/user/repository.git --path apps/airflow --dest-server https://kubernetes.default.svc --dest-namespace default --sync-policy automated. Si quieres aplicar de inmediato ejecuta argocd app sync app-demo.
Crear una Application de forma declarativa con kubectl: define un recurso Application en YAML y versiona ese archivo en Git, por ejemplo con repoURL git@github.com:usuario/repositorio.git, path apps/airflow/manifestos, targetRevision main y syncPolicy automated con prune true y selfHeal true. Para Helm indica path charts/minha-app y en helm.valueFiles referencia values como values/apps/airflow/airflow-values.yaml. Aplica con kubectl apply -f application.yaml.
Uso del ArgoCD Vault Plugin AVP: permite inyectar secretos en los manifiestos desde un proveedor externo sin exponerlos en Git. Por ejemplo, en un ConfigMap puedes definir DB_PASSWORD con el marcador AVP path:secret/data/postgres#password y el plugin resolverá el valor en tiempo de renderizado. Cuando cambies secretos externos recuerda hacer un Hard Refresh desde la UI de ArgoCD para forzar la relectura y aplicación de los nuevos datos.
Buenas prácticas y consideraciones: usa Sync Policy automated con prune y selfHeal para convergencia continua; configura finalizers para limpieza ordenada; emplea plantillas de credenciales en Settings si reutilizas autenticación entre repos; separa proyectos por dominio de responsabilidad y define permisos por proyecto; habilita Server Side Apply para cambios complejos cuando sea necesario; registra pipelines de CI que validen sintaxis y políticas antes de hacer push a main.
Q2BSTUDIO puede ayudarte a implantar este enfoque GitOps extremo a extremo, integrándolo con pipelines de CI, gestión de secretos y observabilidad. Somos una empresa de desarrollo con foco en aplicaciones a medida y software a medida, especialistas en inteligencia artificial, ciberseguridad, agentes IA y servicios inteligencia de negocio con power bi. Si necesitas modernizar tu infraestructura en la nube, consulta nuestros servicios cloud aws y azure. Y si buscas acelerar la entrega de valor con plataformas robustas y multiplataforma, descubre nuestro enfoque en aplicaciones a medida. También impulsamos ia para empresas con casos de uso de MLOps, copilotos y automatización inteligente.
Para saber más: documentación oficial de ArgoCD y guía de ArgoCD Vault Plugin. Con estas piezas podrás escalar despliegues en Magalu Cloud con solidez, control y seguridad desde Git.