

 **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 ACK
<a name="create-ack-capability"></a>

En este capítulo, se explica cómo crear una capacidad de ACK en un clúster de Amazon EKS.

## Requisitos previos
<a name="_prerequisites"></a>

Antes de crear una capacidad de ACK, asegúrese de que disponga de lo siguiente:
+ Un clúster de Amazon EKS
+ Un rol de capacidad de IAM con permisos para que ACK administre los recursos de AWS
+ Permisos de IAM suficientes para crear recursos de capacidad en los clústeres de EKS
+ La herramienta de la CLI adecuada instalada y configurada o el acceso a la consola de EKS

Para obtener instrucciones sobre cómo crear el rol de capacidad de IAM, consulte [Rol de IAM de capacidad de Amazon EKS](capability-role.md).

**importante**  
ACK es una capacidad de administración de infraestructuras que permite crear, modificar y eliminar recursos de AWS. Se trata de una capacidad de ámbito administrativo que debe controlarse cuidadosamente. Cualquier persona que tenga permiso para crear recursos de Kubernetes en el clúster puede crear recursos de AWS de forma eficaz mediante ACK, siempre que se cumplan los permisos del rol de capacidad de IAM. El rol de capacidad de IAM que proporcione determina qué recursos de AWS puede crear y administrar ACK. Para obtener orientación sobre cómo crear un rol adecuado con los permisos de privilegio mínimo, consulte [Rol de IAM de capacidad de Amazon EKS](capability-role.md) y [Consideraciones sobre la seguridad para las capacidades de EKS](capabilities-security.md).

## Elección de la herramienta
<a name="_choose_your_tool"></a>

Puede crear una capacidad de ACK mediante la Consola de administración de AWS, la AWS CLI o eksctl:
+  [Creación de una capacidad de ACK mediante la consola](ack-create-console.md): uso de la consola para una experiencia guiada
+  [Creación de una capacidad de ACK mediante la AWS CLI](ack-create-cli.md): uso de la AWS CLI para scripts y automatización
+  [Creación de una capacidad de ACK mediante eksctl](ack-create-eksctl.md): uso de eksctl para una experiencia nativa de Kubernetes

## Qué ocurre cuando se crea una capacidad de ACK
<a name="_what_happens_when_you_create_an_ack_capability"></a>

Al crear una capacidad de ACK:

1. EKS crea el servicio de capacidad de ACK y lo configura para supervisar y administrar los recursos del clúster.

1. Las definiciones de recursos personalizados (CRD) de Kubernetes se instalan en el clúster.

1. Se crea automáticamente una entrada de acceso para el rol de capacidad de IAM, con políticas de entrada de acceso específicas de la capacidad que conceden permisos básicos de Kubernetes (consulte [Consideraciones sobre la seguridad para las capacidades de EKS](capabilities-security.md)).

1. La capacidad asume el rol de capacidad de IAM que proporcione.

1. ACK comienza a supervisar sus recursos personalizados en el clúster.

1. El estado de la capacidad cambia de `CREATING` a `ACTIVE`. 

Una vez activos, puede crear recursos personalizados de ACK en el clúster para administrar recursos de AWS.

**nota**  
La entrada de acceso creada automáticamente incluye la `AmazonEKSACKPolicy`, que concede a ACK permisos para administrar recursos de AWS. Algunos recursos de ACK que hacen referencia a secretos de Kubernetes (como bases de datos RDS con contraseñas) requieren políticas adicionales de entrada de acceso. Para obtener más información sobre las entradas de acceso y cómo configurar permisos adicionales, consulte [Consideraciones sobre la seguridad para las capacidades de EKS](capabilities-security.md).

## Siguientes pasos
<a name="_next_steps"></a>

Después de crear la capacidad de ACK:
+  [Conceptos de ACK](ack-concepts.md): descripción de los conceptos de ACK e introducción a los recursos de AWS
+  [Conceptos de ACK](ack-concepts.md): más información sobre la conciliación, las exportaciones de campos y los patrones de adopción de recursos
+  [Configuración de los permisos de ACK](ack-permissions.md): configuración de los permisos de IAM y los patrones de varias cuentas

# Creación de una capacidad de ACK mediante la consola
<a name="ack-create-console"></a>

En este tema, se describe cómo crear una capacidad de Controladores de AWS para Kubernetes (ACK) mediante la Consola de administración de AWS.

## Creación de la capacidad de ACK
<a name="_create_the_ack_capability"></a>

1. Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home\$1/clusters.

1. Seleccione el nombre del clúster para abrir la página de detalles del clúster.

1. Elija la pestaña **Capacidades**.

1. En el menú de navegación de la izquierda, elija **Controladores de AWS para Kubernetes (ACK)**.

1. Elija **Crear capacidad de Controladores de AWS para Kubernetes**.

1. Para el **rol de capacidad de IAM**:
   + Si ya tiene un rol de capacidad de IAM, selecciónelo en el menú desplegable.
   + Si necesita crear un rol, elija **Crear rol de administrador**. 

     De este modo, se abre la consola de IAM en una nueva pestaña con la política de confianza rellenada previamente y la política administrada de `AdministratorAccess`. Si lo prefiere, puede anular la selección de esta política y agregar otros permisos.

     Después de crear el rol, regrese a la consola de EKS y el rol se seleccionará automáticamente.
**importante**  
La política `AdministratorAccess` sugerida otorga amplios permisos y tiene por objeto simplificar el inicio. Para uso en producción, reemplácela por una política personalizada que otorgue solo los permisos necesarios para los servicios de AWS específicos que tiene previsto administrar con ACK. Para obtener orientación sobre la creación de políticas de privilegio mínimo, consulte [Configuración de los permisos de ACK](ack-permissions.md) y [Consideraciones sobre la seguridad para las capacidades de EKS](capabilities-security.md).

1. Seleccione **Crear**.

Comenzará el proceso de creación de la capacidad.

## Comprobación de la activación de la capacidad
<a name="_verify_the_capability_is_active"></a>

1. En la pestaña **Capacidades**, consulte el estado de la capacidad de ACK.

1. Espere a que el estado cambie de `CREATING` a `ACTIVE`.

1. Una vez activa, la capacidad está lista para usarse.

Para obtener información sobre los estados de la capacidad y la solución de problemas, consulte [Uso de recursos de capacidades](working-with-capabilities.md).

## Comprobación de la disponibilidad de los recursos personalizados
<a name="_verify_custom_resources_are_available"></a>

Una vez que la capacidad esté activa, compruebe que los recursos personalizados de ACK estén disponibles en el clúster.

 **Uso de la consola** 

1. Vaya a su clúster en la consola de Amazon EKS.

1. Elija la pestaña **Recursos**.

1. Elija **Extensiones**. 

1. Elija **CustomResourceDefinitions**. 

Deberías ver varias CRD en la lista de recursos de AWS.

 **Uso de kubectl** 

```
kubectl api-resources | grep services.k8s.aws
```

Deberías ver varias API en la lista de recursos de AWS.

**nota**  
La capacidad de Controladores de AWS para Kubernetes permite instalar varios CRD para distintos recursos de AWS.

## Siguientes pasos
<a name="_next_steps"></a>
+  [Conceptos de ACK](ack-concepts.md): descripción de los conceptos de ACK e introducción
+  [Configuración de los permisos de ACK](ack-permissions.md): configuración de los permisos de IAM para otros servicios de AWS
+  [Uso de recursos de capacidades](working-with-capabilities.md): administración del recurso de la capacidad de ACK

# Creación de una capacidad de ACK mediante la AWS CLI
<a name="ack-create-cli"></a>

En este tema, se describe cómo crear una capacidad de Controladores de AWS para Kubernetes (ACK) 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).

## 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 > ack-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 ACKCapabilityRole \
  --assume-role-policy-document file://ack-trust-policy.json
```

Adjunte la política administrada de `AdministratorAccess` al rol:

```
aws iam attach-role-policy \
  --role-name ACKCapabilityRole \
  --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
```

**importante**  
La política `AdministratorAccess` sugerida otorga amplios permisos y tiene por objeto simplificar el inicio. Para uso en producción, reemplácela por una política personalizada que otorgue solo los permisos necesarios para los servicios de AWS específicos que tiene previsto administrar con ACK. Para obtener orientación sobre la creación de políticas de privilegio mínimo, consulte [Configuración de los permisos de ACK](ack-permissions.md) y [Consideraciones sobre la seguridad para las capacidades de EKS](capabilities-security.md).

## Paso 2: creación de la capacidad de ACK
<a name="_step_2_create_the_ack_capability"></a>

Cree el recurso de la capacidad de ACK en su clúster. Reemplace *region-code* por la región de AWS donde creó el clúster y *my-cluster* por el nombre de su clúster.

```
aws eks create-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-ack \
  --type ACK \
  --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ACKCapabilityRole \
  --delete-propagation-policy RETAIN
```

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 donde creó el clúster y *my-cluster* por el nombre de su clúster.

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-ack \
  --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-ack
```

## 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 ACK estén disponibles en el clúster:

```
kubectl api-resources | grep services.k8s.aws
```

Deberías ver varias API en la lista de recursos de AWS.

**nota**  
La capacidad de Controladores de AWS para Kubernetes permite instalar varios CRD para distintos recursos de AWS.

## Siguientes pasos
<a name="_next_steps"></a>
+  [Conceptos de ACK](ack-concepts.md): descripción de los conceptos de ACK e introducción
+  [Configuración de los permisos de ACK](ack-permissions.md): configuración de los permisos de IAM para otros servicios de AWS
+  [Uso de recursos de capacidades](working-with-capabilities.md): administración del recurso de la capacidad de ACK

# Creación de una capacidad de ACK mediante eksctl
<a name="ack-create-eksctl"></a>

En este tema, se describe cómo crear una capacidad de Controladores de AWS para Kubernetes (ACK) 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 > ack-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 ACKCapabilityRole \
  --assume-role-policy-document file://ack-trust-policy.json
```

Adjunte la política administrada de `AdministratorAccess` al rol:

```
aws iam attach-role-policy \
  --role-name ACKCapabilityRole \
  --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
```

**importante**  
La política `AdministratorAccess` sugerida otorga amplios permisos y tiene por objeto simplificar el inicio. Para uso en producción, reemplácela por una política personalizada que otorgue solo los permisos necesarios para los servicios de AWS específicos que tiene previsto administrar con ACK. Para obtener orientación sobre la creación de políticas de privilegio mínimo, consulte [Configuración de los permisos de ACK](ack-permissions.md) y [Consideraciones sobre la seguridad para las capacidades de EKS](capabilities-security.md).

**importante**  
Esta política otorga permisos para la administración de buckets de S3 con `"Resource": "*"`, lo que permite llevar a cabo operaciones en todos los buckets de S3.  
Para uso en producción: \$1 Restrinja el campo `Resource` a patrones de nombres o ARN de buckets específicos. \$1 Use claves de condición de IAM para limitar el acceso por etiquetas de recursos. \$1 Otorgue solo los permisos mínimos necesarios para su caso de uso.  
Para otros servicios de AWS, consulte [Configuración de los permisos de ACK](ack-permissions.md).

Asocie la política al rol:

```
aws iam attach-role-policy \
  --role-name ACKCapabilityRole \
  --policy-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):policy/ACKS3Policy
```

## Paso 2: creación de la capacidad de ACK
<a name="_step_2_create_the_ack_capability"></a>

Cree la capacidad de ACK mediante eksctl 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 create capability \
  --cluster [.replaceable]`my-cluster` \
  --region [.replaceable]`region-code` \
  --name ack \
  --type ACK \
  --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ACKCapabilityRole \
  --ack-service-controllers s3
```

**nota**  
La etiqueta `--ack-service-controllers` es opcional. Si se omite, ACK activa todos los controladores disponibles. Para mejorar el rendimiento y la seguridad, considere la posibilidad de activar solo los controladores que necesite. Puede especificar varios controladores: `--ack-service-controllers s3,rds,dynamodb` 

El comando vuelve inmediatamente, pero la capacidad tarda algún tiempo en activarse.

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

Compruebe el estado de la capacidad:

```
eksctl get capability \
  --cluster [.replaceable]`my-cluster` \
  --region [.replaceable]`region-code` \
  --name ack
```

La capacidad estará lista cuando aparezca el estado `ACTIVE`.

## 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 ACK estén disponibles en el clúster:

```
kubectl api-resources | grep services.k8s.aws
```

Deberías ver varias API en la lista de recursos de AWS.

**nota**  
La capacidad de Controladores de AWS para Kubernetes permite instalar varios CRD para distintos recursos de AWS.

## Siguientes pasos
<a name="_next_steps"></a>
+  [Conceptos de ACK](ack-concepts.md): descripción de los conceptos de ACK e introducción
+  [Configuración de los permisos de ACK](ack-permissions.md): configuración de los permisos de IAM para otros servicios de AWS
+  [Uso de recursos de capacidades](working-with-capabilities.md): administración del recurso de la capacidad de ACK