Implementación continua con Argo CD - Amazon EKS

Ayude a mejorar esta página

Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.

Implementación continua con Argo CD

Argo CD es una herramienta declarativa de entrega continua de GitOps para Kubernetes. Con Argo CD, puede automatizar la implementación y la administración del ciclo de vida de sus aplicaciones en múltiples clústeres y entornos. Argo CD admite varios tipos de orígenes, como los repositorios de Git, los registros de Helm (HTTP y OCI) y las imágenes de OCI, lo que proporciona flexibilidad a las organizaciones con diferentes requisitos de seguridad y cumplimiento.

Con las capacidades de EKS, AWS administra Argo CD completamente, lo que elimina la necesidad de instalar, mantener y escalar los controladores de Argo CD y sus dependencias en sus clústeres.

Cómo funciona Argo CD

Argo CD sigue el patrón de GitOps, donde el origen de la aplicación (repositorio de Git, registro de Helm o imagen de OCI) es el origen de información verdadera para definir el estado de la aplicación deseado. Al crear un recurso Application de Argo CD, especifique un origen que contenga los manifiestos de la aplicación y un espacio de nombres y un clúster de Kubernetes de destino. Argo CD supervisa de forma continua tanto el origen como el estado activo del clúster y sincroniza automáticamente cualquier cambio para garantizar que el estado del clúster coincida con el estado deseado.

nota

Con la capacidad de EKS para Argo CD, el software de Argo CD se ejecuta en el plano de control de AWS, no en los nodos de trabajo. Esto significa que sus nodos de trabajo no necesitan acceso directo a los repositorios de Git o a los registros de Helm, ya que la capacidad gestiona el acceso al origen desde la cuenta de AWS.

Argo CD proporciona tres tipos de recursos principales:

  • Aplicación: define una implementación desde un repositorio de Git a un clúster de destino.

  • ApplicationSet: genera múltiples aplicaciones a partir de plantillas para implementaciones de varios clústeres.

  • AppProject: proporciona agrupamiento lógico y control de acceso para las aplicaciones.

Ejemplo: creación de una aplicación de Argo CD

En el ejemplo siguiente, se muestra cómo crear un recurso Application de Argo CD:

apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: guestbook namespace: argocd spec: project: default source: repoURL: https://github.com/argoproj/argocd-example-apps.git targetRevision: HEAD path: guestbook destination: name: my-cluster namespace: guestbook syncPolicy: automated: prune: true selfHeal: true

Ventajas de Argo CD

Argo CD implementa un flujo de trabajo de GitOps en el que define las configuraciones de las aplicaciones en los repositorios de Git y Argo CD sincroniza automáticamente las aplicaciones para que coincidan con el estado deseado. Este enfoque centrado en Git proporciona un registro de auditoría completo de todos los cambios, permite revertirlos fácilmente y se integra de forma natural con sus procesos de revisión y aprobación de código existentes. Argo CD detecta y concilia automáticamente la diferencia entre el estado deseado en Git y el estado real de los clústeres, lo que garantiza que las implementaciones se mantengan coherentes con la configuración declarada.

Con Argo CD, puede implementar y administrar aplicaciones en varios clústeres desde una única instancia de Argo CD, lo que simplifica las operaciones en entornos de varios clústeres y regiones. La interfaz de usuario de Argo CD ofrece capacidades de visualización y supervisión, lo que le permite ver el estado de la implementación, el estado y el historial de sus aplicaciones. La interfaz de usuario se integra con AWS Identity Center (anteriormente AWS SSO) para una autenticación y autorización fluidas, lo que le permite controlar el acceso mediante su infraestructura de administración de identidades existente.

Como parte de las capacidades administradas de EKS, AWS administra completamente Argo CD, lo que elimina la necesidad de instalar, configurar y mantener la infraestructura de Argo CD. AWS administra el escalado, la aplicación de parches y la administración operativa, lo que permite a sus equipos centrarse en la entrega de la aplicación y no en el mantenimiento de la herramienta.

Integración con AWS Identity Center

Las capacidades administradas de EKS proporcionan una integración directa entre Argo CD y AWS Identity Center, lo que permite una autenticación y autorización fluidas para sus usuarios. Al activar la capacidad de Argo CD, puede configurar la integración de AWS Identity Center para asignar los grupos y usuarios de Identity Center a los roles de RBAC de Argo CD, lo que le permite controlar quién puede acceder a las aplicaciones de Argo CD y administrarlas.

Integración con otras capacidades administradas de EKS

Argo CD se integra con otras capacidades administradas de EKS.

  • Controladores de AWS para Kubernetes (ACK): utilice Argo CD para administrar la implementación de los recursos de ACK en varios clústeres, lo que activa los flujos de trabajo de GitOps para su infraestructura de AWS.

  • kro (Kube Resource Orchestrator): utilice Argo CD para implementar composiciones de kro en varios clústeres, lo que permite una composición uniforme de los recursos en todo el entorno de Kubernetes.

Introducción a Argo CD

Para comenzar a utilizar la capacidad de EKS para Argo CD:

  1. Cree y configure un rol de capacidad de IAM con los permisos necesarios para que Argo CD acceda a sus repositorios de Git y administre las aplicaciones.

  2. Cree un recurso de capacidad de Argo CD en su clúster de EKS a través de la consola de AWS, la AWS CLI o su infraestructura preferida como herramienta de código.

  3. Configure el acceso al repositorio y registre los clústeres para la implementación de aplicaciones.

  4. Cree recursos de la aplicación para implementar las aplicaciones desde los repositorios de Git.