

 **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
<a name="argocd-create-eksctl"></a>

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
<a name="_step_1_create_an_iam_capability_role"></a>

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](integration-secrets-manager.md) y [Conexión a los repositorios de Git con AWS CodeConnections](integration-codeconnections.md).

## Paso 2: obtención de la configuración de AWS Identity Center
<a name="step_2_get_your_shared_aws_identity_center_configuration"></a>

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.

## Paso 3: creación de un archivo de configuración de eksctl
<a name="_step_3_create_an_eksctl_configuration_file"></a>

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-cluster
  region: cluster-region-code

capabilities:
  - name: my-argocd
    type: ARGOCD
    roleArn: arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole
    deletePropagationPolicy: RETAIN
    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
<a name="_step_4_create_the_argo_cd_capability"></a>

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
<a name="_step_5_verify_the_capability_is_active"></a>

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
<a name="_step_6_verify_custom_resources_are_available"></a>

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
<a name="_next_steps"></a>
+  [Uso de Argo CD](working-with-argocd.md): más información sobre cómo crear y administrar aplicaciones de Argo CD
+  [Consideraciones sobre Argo CD](argocd-considerations.md): configuración del SSO y el acceso a varios clústeres
+  [Uso de recursos de capacidades](working-with-capabilities.md): administración del recurso de la capacidad de Argo CD