Creación de una capacidad de Argo CD mediante eksctl - 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.

Creación de una capacidad de Argo CD mediante eksctl

En este tema, se describe cómo crear una capacidad de Argo CD mediante eksctl.

nota

Los siguientes pasos requieren la versión 0.220.0 o posterior de eksctl. Para comprobar la versión, ejecute eksctl version.

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 your Identity Center region aws sso-admin list-instances --query 'Instances[0].IdentityStoreId' --output text | cut -d'/' -f1 # 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.

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 los marcadores de posición por el nombre del clúster, la región, 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-cluster region: region-code capabilities: - name: my-argocd type: ARGOCD roleArn: arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole configuration: argocd: awsIdc: idcInstanceArn: arn:aws:sso:::instance/ssoins-123abc idcRegion: idc-region-code rbacRoleMappings: - role: ADMIN identities: - id: 38414300-1041-708a-01af-5422d6091e34 type: 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.

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 \ --region region-code \ --cluster my-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