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.
Creación de una capacidad de Argo CD mediante eksctl
Cree una capacidad de Argo CD en su clúster de Amazon EKS mediante eksctl.
nota
Los siguientes pasos requieren la versión 0.215.0 o posterior de eksctl. Para comprobar la versión, ejecute eksctl version.
Requisitos previos
-
AWS Identity Center configurado: Argo CD requiere AWS Identity Center para la autenticación. No se admiten usuarios locales. Si no ha configurado AWS Identity Center, consulte Introducción a AWS Identity Center para crear una instancia de Identity Center y Adición de usuarios y Adición de grupos para crear usuarios y grupos a fin de acceder a Argo CD.
-
Al menos un usuario o grupo en AWS Identity Center: debe tener al menos un usuario o grupo configurado en la instancia de Identity Center para asignar asignaciones de roles de RBAC de Argo CD y proporcionar acceso a la interfaz de usuario de Argo CD.
Paso 1: creación de un rol de capacidad de IAM
Cree un archivo de política de confianza:
cat > argocd-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] } EOF
Cree el rol de IAM:
aws iam create-role \ --role-name ArgoCDCapabilityRole \ --assume-role-policy-document file://argocd-trust-policy.json
nota
Para esta configuración básica, no se necesitan políticas de IAM adicionales. Si tiene previsto usar Secrets Manager para las credenciales del repositorio o CodeConnections, tendrá que agregar permisos al rol. Para ver ejemplos de políticas de IAM y guías de configuración, consulte Administración de secretos de aplicaciones con AWS Secrets Manager y Conexión a los repositorios de Git con AWS CodeConnections.
Paso 2: obtención de la configuración de AWS Identity Center
Obtenga el ARN y el ID de usuario de su instancia de Identity Center para la configuración de RBAC:
# Get your Identity Center instance ARN aws sso-admin list-instances --query 'Instances[0].InstanceArn' --output text # Get a user ID for admin access (replace 'your-username' with your Identity Center username) aws identitystore list-users \ --identity-store-id $(aws sso-admin list-instances --query 'Instances[0].IdentityStoreId' --output text) \ --query 'Users[?UserName==`your-username`].UserId' --output text
Anote estos valores, ya que los necesitará en el siguiente paso.
(Opcional) Configuración de un punto de conexión privado
De forma predeterminada, la interfaz de usuario de Argo CD y el punto de conexión de la API son accesibles públicamente a través de Internet. Si necesita restringir el acceso, puede configurar un punto de conexión de VPC. Esta opción se recomienda para entornos con requisitos de seguridad de red estrictos.
Creación de un punto de conexión de VPC para capacidades de EKS
Cree un punto de conexión de VPC de interfaz para el servicio de capacidades de EKS en la VPC. Sustituya vpc-id, subnet-id-1 subnet-id-2, sg-id y region-code por sus propios valores:
aws ec2 create-vpc-endpoint \ --vpc-endpoint-type Interface \ --service-name com.amazonaws.region-code.eks-capabilities \ --vpc-idvpc-id\ --subnet-idssubnet-id-1 subnet-id-2\ --security-group-idssg-id\ --regionregion-code
nota
-
Las subredes deben estar en diferentes zonas de disponibilidad para lograr una alta disponibilidad.
-
El grupo de seguridad debe permitir el tráfico HTTPS (puerto 443) entrante desde las redes que necesitan acceder a la interfaz de usuario y la API de Argo CD.
-
Anote el ID de punto de conexión de VPC devuelto por este comando: lo necesitará al crear la capacidad.
Verificación de que el punto de conexión de VPC esté disponible
aws ec2 describe-vpc-endpoints \ --vpc-endpoint-idsvpce-xxxxxxxx\ --query 'VpcEndpoints[0].State' \ --output text \ --regionregion-code
Espere a que aparezca el estado available antes de continuar.
Paso 3: creación de un archivo de configuración de eksctl
Cree un archivo llamado argocd-capability.yaml con el siguiente contenido. Sustituya los valores de marcador de posición por el nombre del clúster, la región del clúster, el ARN del rol de IAM, el ARN de la instancia de Identity Center, la región de Identity Center y el ID de usuario:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name:my-clusterregion:cluster-region-codecapabilities: - name: my-argocd type: ARGOCD roleArn:arn:aws:iam::111122223333:role/ArgoCDCapabilityRoledeletePropagationPolicy: RETAIN configuration: argocd: awsIdc: idcInstanceArn:arn:aws:sso:::instance/ssoins-123abcidcRegion:idc-region-coderbacRoleMappings: - role: ADMIN identities: - id:38414300-1041-708a-01af-5422d6091e34type: SSO_USER
nota
Puede agregar varios usuarios o grupos a las asignaciones de RBAC. Para los grupos, utilice type: SSO_GROUP y proporcione el ID del grupo. Los roles disponibles son ADMIN, EDITOR y VIEWER.
Si configuró un punto de conexión de VPC para el acceso privado, agregue la sección networkConfiguration a la definición de la capacidad. Sustituya vpce-xxxxxxxx por el ID de punto de conexión de VPC:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name:my-clusterregion:cluster-region-codecapabilities: - name: my-argocd type: ARGOCD roleArn: arn:aws:iam::111122223333:role/ArgoCDCapabilityRole deletePropagationPolicy: RETAIN networkConfiguration: elasticNetworkInterfaces: vpcEndpointId:vpce-xxxxxxxxconfiguration: argocd: awsIdc: idcInstanceArn:arn:aws:sso:::instance/ssoins-123abcidcRegion:idc-region-coderbacRoleMappings: - role: ADMIN identities: - id:38414300-1041-708a-01af-5422d6091e34type: SSO_USER
nota
Cuando el punto de conexión privado está habilitado, solo se puede acceder a la interfaz de usuario y a la API de Argo CD a través del punto de conexión de VPC. Los usuarios deben estar conectados a la VPC (o a una red interconectada) para acceder a la interfaz de Argo CD.
Paso 4: creación de la capacidad de Argo CD
Aplique el archivo de configuración:
eksctl create capability -f argocd-capability.yaml
El comando vuelve inmediatamente, pero la capacidad tarda algún tiempo en activarse.
Paso 5: comprobación de la activación de la capacidad
Compruebe el estado de la capacidad. Reemplace region-code por la región de AWS donde creó el clúster y my-cluster por el nombre de su clúster.
eksctl get capability \ --regionregion-code\ --clustermy-cluster\ --name my-argocd
La capacidad estará lista cuando aparezca el estado ACTIVE.
Paso 6: comprobación de la disponibilidad de los recursos personalizados
Una vez que la capacidad esté activa, compruebe que los recursos personalizados de Argo CD estén disponibles en el clúster:
kubectl api-resources | grep argoproj.io
Debería ver todos los tipos de recursos Application y ApplicationSet en la lista.
Siguientes pasos
-
Uso de Argo CD: más información sobre cómo crear y administrar aplicaciones de Argo CD
-
Consideraciones sobre Argo CD: configuración del SSO y el acceso a varios clústeres
-
Uso de recursos de capacidades: administración del recurso de la capacidad de Argo CD