

 **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 la AWS CLI
<a name="argocd-create-cli"></a>

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

## Requisitos previos
<a name="_prerequisites"></a>
+  **AWS CLI**: versión `2.12.3` o posterior. Para comprobar la versión, ejecute `aws --version`. Para obtener más información, consulte [Instalación](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) en la Guía del usuario de la interfaz de la línea de comandos de AWS.
+  ** `kubectl` ** – una herramienta de línea de comandos para trabajar con clústeres de Kubernetes. Para obtener más información, consulte [Configuración de `kubectl` y `eksctl`](install-kubectl.md).
+  ** 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](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) para crear una instancia de Identity Center y [Adición de usuarios](https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html) y [Adición de grupos](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) para crear usuarios y grupos a fin de acceder a Argo CD.

## 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**  
Si tiene previsto usar las integraciones opcionales con AWS Secrets Manager o AWS 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: creación de la capacidad de Argo CD
<a name="_step_2_create_the_argo_cd_capability"></a>

Cree el recurso de la capacidad de Argo CD en su clúster.

En primer lugar, defina las variables de entorno para la configuración de Identity Center:

```
# Get your Identity Center instance ARN (replace region if your IDC instance is in a different region)
export IDC_INSTANCE_ARN=$(aws sso-admin list-instances --region [.replaceable]`region` --query 'Instances[0].InstanceArn' --output text)

# Get a user ID for RBAC mapping (replace with your username and region if needed)
export IDC_USER_ID=$(aws identitystore list-users \
  --region [.replaceable]`region` \
  --identity-store-id $(aws sso-admin list-instances --region [.replaceable]`region` --query 'Instances[0].IdentityStoreId' --output text) \
  --query 'Users[?UserName==`your-username`].UserId' --output text)

echo "IDC_INSTANCE_ARN=$IDC_INSTANCE_ARN"
echo "IDC_USER_ID=$IDC_USER_ID"
```

Cree la capacidad con la integración de Identity Center. Sustituya *region-code* por la región de AWS donde se encuentra el clúster, *my-cluster* por el nombre del clúster e *idc-region-code* por el código de la región donde se ha configurado el IAM Identity Center:

```
aws eks create-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-argocd \
  --type ARGOCD \
  --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ArgoCDCapabilityRole \
  --delete-propagation-policy RETAIN \
  --configuration '{
    "argoCd": {
      "awsIdc": {
        "idcInstanceArn": "'$IDC_INSTANCE_ARN'",
        "idcRegion": "'[.replaceable]`idc-region-code`'"
      },
      "rbacRoleMappings": [{
        "role": "ADMIN",
        "identities": [{
          "id": "'$IDC_USER_ID'",
          "type": "SSO_USER"
        }]
      }]
    }
  }'
```

El comando devuelve una respuesta inmediatamente, pero la capacidad tarda algún tiempo en activarse mientras EKS crea la infraestructura y los componentes de la capacidad necesarios. EKS instalará las definiciones de recursos personalizados de Kubernetes relacionadas con esta capacidad en el clúster según se vaya creando.

**nota**  
Si recibe un error que indica que el clúster no existe o que no tiene permisos, compruebe lo siguiente:  
El nombre del clúster es correcto
La AWS CLI está configurada para la región correcta
Dispone de los permisos de IAM necesarios

## Paso 3: comprobación de la activación de la capacidad
<a name="_step_3_verify_the_capability_is_active"></a>

Espere a que se active la capacidad. Reemplace *region-code* por la región de AWS en la que se encuentra el clúster y *my-cluster* por el nombre del clúster.

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-argocd \
  --query 'capability.status' \
  --output text
```

La capacidad estará lista cuando aparezca el estado `ACTIVE`. No continúe con el paso siguiente hasta que el estado sea `ACTIVE`.

También puede ver todos los detalles de la capacidad:

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-argocd
```

## Paso 4: comprobación de la disponibilidad de los recursos personalizados
<a name="_step_4_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): configuración de repositorios, registro de clústeres y creación de aplicaciones
+  [Consideraciones sobre Argo CD](argocd-considerations.md): arquitectura de varios clústeres y configuración avanzada
+  [Uso de recursos de capacidades](working-with-capabilities.md): administración del recurso de la capacidad de Argo CD