Forem

Alex Rodríguez for AWS Español

Posted on • Edited on

🚀Gestiona tus aplicaciones en EKS con Argo CD 🚀

Como ya venimos avisando hace un tiempo #AwTwins nos lanzamos a crear una serie de como gestionar clústers EKS.

Si has trabajado en varias empresas, probablemente habrás notado que cada una gestiona las aplicaciones en los clústers a su manera, algunas utilizan unos con pipelines que hacen un kubectl apply, otros prefieren hacer un helm install a mano, actualizaciones manuales y un largo... Pero nosotros que somos fans de Gitops, siempre buscamos facilitarnos y dar más control y autonomía a los equipos y clústers. Por eso hoy venimos a hablarte de Argo CD.

¿Y qué es Argo CD?

Es una herramienta declarativa de Gitops hecha para gestionar aplicaciones en Kubernetes de forma continua. La idea es que Argocd se encargue de mantener sincronizado el estado real de las aplicaciones y recursos en el clúster con lo que existe en GIT.

Características principales:

  • Modelo GitOps: El estado de las aplicaciones se gestiona a través de repositorios GIT.

  • Automatización de despliegues: Despliegues automáticos o manuales,flexibilidad ante todo!

  • Rollbacks y sincronización automática: Argo cd puede identificar automáticamente las diferencias entre el estado real de los recursos en el clúster y el estado deseado en GIT y permite realizar rollbacks o sincronizaciones automáticas cuando sea necesario.

  • Control de acceso con RBAC: Argo CD ofrece un control granular de acceso, asegurando que diferentes equipos tengan acceso solo a las aplicaciones y entornos que les corresponden. En otras palabras, tocas lo que tienes que tocar.

  • Soporte multiple formato: Argo CD es compatible con Helm Charts, Kustomize,YAML, Jsonnet. Menos problemas!

  • Integración continua (CI/CD): Se integra fácilmente con pipelines CI/CD.

  • Interfaz gráfica: Permitiendo ver el estado de las aplicaciones en el cúster y su sincronización en el repositorio GIT en tiempo real.

Patrones de implementación de Argo CD en EKS

Dependiendo de la escala y la complejidad de tu infraestructura, puedes elegir diferentes patrones para implementar Argo CD en tu entorno de Amazon EKS.

1. Una instancia de Argo CD gestionando todos los clústers

Este patrón implica utilizar una sola instancia de Argo CD para gestionar múltiples clústers de Kubernetes. Instalas un argo cd en un clúster "master" y desde ahí te encargas de desplegar apps en todos los otros clústers.

Ventajas:

  • Centralización: Tienes una sola interfaz desde donde puedes gestionar múltiples clústers.

  • Menor trabajo operativo: Solo una instancia de Argo CD que mantener, lo que reduce costes operacionales.

  • Facilidad de monitoring: Todos los despliegues están visibles y accesibles desde un solo panel de control.

ArgoCD_multicluster

2. Una instancia de Argo CD por cada clúster

En este caso, cada clúster de Kubernetes tiene su propia instancia de Argo CD independiente. Esto es lo que podríamos llamar un patrón de Single-Tenant, ya que cada instancia está aislada y no interactúa con otras instancias de Argo CD.

Ventajas:

  • Aislamiento: Cada clúster y su Argo CD están completamente aislados, por lo que los problemas en un clúster no afectarán a los demás.

  • Escalabilidad: Cada clúster tiene su propia instancia de Argo CD, por lo que el crecimiento en el número de clústers o aplicaciones no impacta en el rendimiento de otras instancias.

  • Seguridad: Puedes aplicar configuraciones personalizadas de seguridad para cada clúster y su Argo CD.

Argocd_x_cluster

3. Un Argo CD que despliega otros Argo CDs.

¿Que fué primero el huevo o la gallina? En este caso, un Argo CD "master" se encarga de gestionar y desplegar otras instancias de Argo CD en incluso en el mismo. Esta estrategia es útil cuando tienes un entorno altamente distribuido con múltiples clústers que necesitan su propia instancia de Argo CD, que deben ser gestionados desde un punto central.

Ventajas:

  • Escalabilidad: Permite gestionar y desplegar muchas instancias de Argo CD desde un único lugar, lo que es útil en grandes organizaciones con cientos de clústers.

  • Descentralización: Cada clúster tiene su propio Argo CD, pero puedes automatizar y coordinar su gestión desde el Argo CD maestro.

  • Facilita el gobierno: Puedes aplicar políticas globales desde el Argo CD "master" mientras permites personalización a nivel de clúster.

Full_Argocd

Conclusión:

Cada uno de estos patrones de implementación de Argo CD tiene ventajas y desventajas específicas, y la elección depende del tamaño de la infraestructura y los requisitos operativos de tu organización.

Próximo episodio: Implementaremos Argo CD en un clúster de Amazon EKS utilizando Terraform, lo que nos permitirá desplegar una primera versión funcional de Argo CD y comenzar a jugar con sus capacidades.

🚨 Aquí venimos a jugar, así que ¡Keep Ready! 🚨

Top comments (0)