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.
Uso de Argo CD
Con Argo CD, define aplicaciones en los repositorios de Git y Argo CD las sincroniza automáticamente con los clústeres de Kubernetes. Esto permite la implementación declarativa de aplicaciones con control de versiones y una detección automática de desviaciones.
Requisitos previos
Antes de trabajar con Argo CD, necesita lo siguiente:
-
Un clúster de EKS con la capacidad de Argo CD creada (consulte Creación de una capacidad de Argo CD)
-
Un repositorio de Git que contiene manifiestos de Kubernetes
-
kubectlconfigurado para comunicarse con el clúster
Tareas comunes
Los siguientes temas lo guían en las tareas más comunes de Argo CD:
Configuración del acceso al repositorio: configure Argo CD para acceder a repositorios de Git mediante AWS Secrets Manager, AWS CodeConnections o secretos de Kubernetes.
Registro de clústeres de destino: registre los clústeres de destino en los que Argo CD implementará las aplicaciones.
Uso de proyectos de Argo CD: organice aplicaciones y aplique límites de seguridad con proyectos para los entornos de varios inquilinos.
Configuración de los ajustes de Argo CD: configure el comportamiento de Argo CD mediante el ConfigMap argocd-cm, incluidas las comprobaciones de estado personalizadas para los recursos personalizados.
Creación de aplicaciones - cree aplicaciones de Argo CD que se implementan desde los repositorios de Git con sincronización automática o manual.
Uso de ApplicationSets - utilice ApplicationSets para implementar aplicaciones en varios entornos o clústeres mediante plantillas y generadores.
Acceso a la interfaz de usuario de Argo CD
Acceda a la interfaz de usuario de Argo CD a través de la consola de EKS:
-
Abra la consola de Amazon EKS.
-
Seleccione el clúster.
-
Elija la pestaña Capacidades.
-
Elija Argo CD.
-
Elija Abrir la interfaz de usuario de Argo CD.
La interfaz de usuario proporciona la topología visual de las aplicaciones, el estado y el historial de la sincronización, los eventos y el estado de los recursos, los controles de sincronización manual y la administración de aplicaciones.
URL del punto de conexión de Argo CD
Al crear una capacidad de Argo CD, recibe un punto de conexión único tanto para la interfaz de usuario como para la API de Argo CD. El nombre de host del punto de conexión es determinista: utiliza valores que ya conoce, como el nombre de la capacidad, el nombre del clúster, el ID de cuenta de AWS y la región de AWS. Si elimina una capacidad y la vuelve a crear con el mismo nombre de clúster y de capacidad, obtendrá el mismo punto de conexión. Como el nombre de host es predecible, puede crearlo con antelación. Por ejemplo, puede preconfigurar las integraciones de webhooks de Git, DNS o automatización antes de que la capacidad finalice el aprovisionamiento. Para cualquier capacidad, el valor serverUrl de describe-capability es el punto de conexión definitivo.
nota
Como el punto de conexión se reutiliza, las integraciones que apuntaban a la capacidad anterior (webhooks de Git, tokens y registros de DNS) se conectan automáticamente a la nueva, sin indicar que la instancia haya cambiado. Después de volver a crear una capacidad, vuelva a verificar esas integraciones y rote los secretos de webhooks o tokens que se compartieron con la instancia anterior.
Recuperación del punto de conexión
Para obtener el punto de conexión exacto de una capacidad, use el comando describe-capability y lea el valor serverUrl. Sustituya region-code, my-cluster y my-argocd por sus valores:
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-argocd\ --query 'capability.configuration.argoCd.serverUrl' \ --output text
nota
El campo serverUrl y los registros de DNS del punto de conexión están disponibles después de que el estado de la capacidad cambie a ACTIVE.
Formato de punto de conexión
El punto de conexión de Argo CD usa el siguiente formato:
https://capability-name-hash-account-id.eks-capabilities.region-code.amazonaws.com
El nombre de host consta de los siguientes componentes:
-
capability-name:el nombre de la capacidad de Argo CD, normalizado a minúsculas y con los guiones bajos (_) sustituidos por guiones (-). Si el nombre normalizado tiene más de 41 caracteres, se trunca a 41 caracteres. -
hash:valor hexadecimal de 8 caracteres que hace que el nombre de host sea único. Son los primeros 8 caracteres del hash SHA-256 del nombre de la capacidad y del nombre del clúster. Los nombres se unen con una barra diagonal (capability-name/cluster-name). Utilice los nombres exactos que especificó al crear la capacidad. Este valor solo proporciona exclusividad y no es un control de seguridad. -
account-id:ID de cuenta de AWS de 12 dígitos. -
eks-capabilities.region-code.amazonaws.com: dominio de servicio de capacidades de EKS para la región de AWS.
Por ejemplo, una capacidad con el nombre my-argocd en el clúster my-cluster de la cuenta 111122223333 en la región us-west-2 tiene un punto de conexión similar al siguiente:
https://my-argocd-dc855fdf-111122223333.eks-capabilities.us-west-2.amazonaws.com
El nombre de host usa el nombre de la capacidad normalizado, pero el hash usa el nombre sin procesar que especificó. Por ejemplo, la capacidad Payments_GitOps en el clúster my-cluster se normaliza a payments-gitops en el nombre de host y su hash proviene de la cadena sin procesar Payments_GitOps/my-cluster:
https://payments-gitops-4ce0b382-111122223333.eks-capabilities.us-west-2.amazonaws.com
nota
Use la salida de describe-capability para confirmar el punto de conexión exacto de la región de AWS.
Puede calcular el componente hash por su cuenta. Use sha256sum en Linux o shasum -a 256 en macOS. Los siguientes comandos usan la capacidad de ejemplo my-argocd en el clúster my-cluster. Sustituya los nombres exactos que especificó al crear la capacidad:
# Linux printf '%s' "my-argocd/my-cluster" | sha256sum | cut -c1-8 # macOS printf '%s' "my-argocd/my-cluster" | shasum -a 256 | cut -c1-8
Los dos comandos devuelven dc855fdf.
Acceso y seguridad del punto de conexión
El nombre de host del punto de conexión no es un secreto y conocerlo no permite el acceso a su instancia de Argo CD. El nombre de host expone la misma información no secreta que ya aparece en el nombre de recurso de Amazon (ARN) de la capacidad. Las operaciones create-capability, describe-capability y list-capabilities devuelven este ARN. AWS La autenticación de Identity Center y el control de acceso basado en roles de Argo CD (RBAC) controlan el acceso a la interfaz de usuario y a la API de Argo CD.
Si configura el acceso al punto de conexión privado, el nombre de host solo se resuelve en las direcciones IP privadas asociadas al punto de conexión de VPC. Puede acceder al punto de conexión solo desde su VPC o redes conectadas. Para obtener más información, consulte Configuración del acceso privado al punto de conexión para Argo CD.
Documentación ascendente
Para obtener información detallada acerca de las características de Argo CD:
-
Documentación de Argo CD
: guía del usuario completa -
Application Spec
: referencia completa de la API de la aplicación -
Guía de ApplicationSet
: patrones y ejemplos de ApplicationSet -
GitHub de Argo CD
: código fuente y ejemplos