

 **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.

# Conexión de un clúster externo de Kubernetes a la consola de administración de Amazon EKS
<a name="connecting-cluster"></a>

Puede conectar un clúster externo de Kubernetes en Amazon EKS mediante varios métodos en el siguiente proceso. Este proceso consta de dos pasos: registrar el clúster en Amazon EKS e instalar el agente `eks-connector` del clúster.

**importante**  
Debe completar el segundo paso en un plazo de 3 días a partir de haber completado el primer paso, antes de que caduque el registro.

## Consideraciones
<a name="connecting-cluster-considerations"></a>

Puede usar los manifiestos YAML al instalar el agente. Como alternativa, puede utilizar Helm si registra el clúster con la Consola de administración de AWS o la Interfaz de la línea de comandos de AWS. Sin embargo, no puede usar Helm para instalar el agente si registra el clúster con `eksctl`.

## Requisitos previos
<a name="connector-prereqs"></a>
+ Asegúrese de que se haya creado el rol de agente de Amazon EKS Connector. Siga los pasos que se indican en [Creación del rol de agente conector de Amazon EKS](connector-iam-role.md#create-connector-role).
+ Debe tener los siguientes permisos para registrar un clúster:
  +  `eks:RegisterCluster` 
  +  `ssm:CreateActivation` 
  +  `ssm:DeleteActivation` 
  +  `iam:PassRole` 

## Paso 1: registro del clúster
<a name="connector-connecting"></a>

Para registrar un clúster en el conector de Amazon EKS, puede utilizar una de las siguientes herramientas:
+  [AWS CLI](#awscli_register_cluster_connect) 
+  [Consola de administración de AWS](#console_register_cluster_connect) 
+  [`eksctl`](#eksctl_register_cluster_connect) 

### AWS CLI
<a name="awscli_register_cluster_connect"></a>

1.  La CLI de AWS debe estar instalada. Para instalarla o actualizarla, consulte [Instalación de la CLI de AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html).

1. Para la configuración de Connector, especifique su rol de IAM de agente de Amazon EKS Connector. Para obtener más información, consulte [Roles de IAM necesarios para Amazon EKS Connector](eks-connector.md#connector-iam-permissions).

   ```
   aws eks register-cluster \
        --name my-first-registered-cluster \
        --connector-config roleArn=arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole,provider="OTHER" \
        --region aws-region
   ```

   Un ejemplo de salida sería el siguiente.

   ```
   {
       "cluster": {
           "name": "my-first-registered-cluster",
           "arn": "arn:aws:eks:region:111122223333:cluster/my-first-registered-cluster",
           "createdAt": 1627669203.531,
           "ConnectorConfig": {
               "activationId": "xxxxxxxxACTIVATION_IDxxxxxxxx",
               "activationCode": "xxxxxxxxACTIVATION_CODExxxxxxxx",
               "activationExpiry": 1627672543.0,
               "provider": "OTHER",
               "roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole"
           },
           "status": "CREATING"
       }
   }
   ```

   Utilizará los valores de `aws-region`, `activationId` y `activationCode` en un paso posterior.

### Consola de administración de AWS
<a name="console_register_cluster_connect"></a>

1. Abra la [consola de Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Elija **Add cluster** (Agregar clúster) y seleccione **Register** (Registrar) para abrir la página de configuración.

1. En la sección **Configure cluster (Configurar clúster)**, rellene los siguientes campos:
   +  **Nombre**: un nombre único para el clúster.
   +  **Provider** (Proveedor): elija esta opción para mostrar la lista desplegable de proveedores de clústeres de Kubernetes. Si no conoce al proveedor específico, seleccione **Otro**.
   +  **EKS Connector role (Rol de EKS Connector)**: seleccione el rol que se va a utilizar para conectar el clúster.

1. Seleccione **Register cluster (Registrar el clúster)**.

1. Se abre la página de información general del clúster. Si quiere usar el gráfico de Helm, copie el comando `helm install` y continúe con el siguiente paso. Si desea usar el manifiesto de YAML, elija **Descargar archivo YAML** para descargar el archivo de manifiesto en la unidad local.
**importante**  
Esta es su única oportunidad para copiar el comando `helm install` o descargar este archivo. No navegue fuera de esta página, ya que no se podrá acceder al enlace y deberá anular el registro del clúster e iniciar los pasos desde el principio.

   El comando o el archivo de manifiesto solo se puede utilizar una vez para el clúster registrado. Si elimina recursos del clúster de Kubernetes, debe volver a registrar el clúster y obtener un nuevo archivo de manifiesto.

Continúe en el paso siguiente para aplicar el archivo de manifiesto al clúster de Kubernetes.

### `eksctl`
<a name="eksctl_register_cluster_connect"></a>

1.  Se debe instalar la versión `0.68` de `eksctl` o posterior. Para instalarla o actualizarla, consulte [Introducción a Amazon EKS: `eksctl`](getting-started-eksctl.md).

1. Registre el clúster al proporcionar un nombre, un proveedor y una región.

   ```
   eksctl register cluster --name my-cluster --provider my-provider --region region-code
   ```

   Ejemplo de salida:

   ```
   2021-08-19 13:47:26 [ℹ]  creating IAM role "eksctl-20210819194112186040"
   2021-08-19 13:47:26 [ℹ]  registered cluster "<name>" successfully
   2021-08-19 13:47:26 [ℹ]  wrote file eks-connector.yaml to <current directory>
   2021-08-19 13:47:26 [ℹ]  wrote file eks-connector-clusterrole.yaml to <current directory>
   2021-08-19 13:47:26 [ℹ]  wrote file eks-connector-console-dashboard-full-access-group.yaml to <current directory>
   2021-08-19 13:47:26 [!]  note: "eks-connector-clusterrole.yaml" and "eks-connector-console-dashboard-full-access-group.yaml" give full EKS Console access to IAM identity "<aws-arn>", edit if required; read https://eksctl.io/usage/eks-connector for more info
   2021-08-19 13:47:26 [ℹ]  run `kubectl apply -f eks-connector.yaml,eks-connector-clusterrole.yaml,eks-connector-console-dashboard-full-access-group.yaml` before expiry> to connect the cluster
   ```

   De este modo, se crean archivos en el equipo local. Estos archivos deben aplicarse al clúster externo en un plazo de 3 días o el registro vence.

1. En una terminal que pueda acceder al clúster, aplique el archivo `eks-connector-binding.yaml`:

   ```
   kubectl apply -f eks-connector-binding.yaml
   ```

## Paso 2: Instalación del agente de `eks-connector`
<a name="eks-connector-apply"></a>

Para instalar el agente `eks-connector`, utilice una de las siguientes herramientas:
+  [Helm](#helm_agent_cluster_connect) 
+  [yaml](#yaml_agent_cluster_connect) 

### Helm
<a name="helm_agent_cluster_connect"></a>

**nota**  
Si ha registrado el clúster con `eksctl`, utilice el método de manifiesto YAML en lugar del método de gráfico de Helm.

1. Si utilizó la CLI de AWS en el paso anterior, reemplace el `ACTIVATION_CODE` y `ACTIVATION_ID` en el siguiente comando por los valores de `activationId` y `activationCode`, respectivamente. Reemplace la `aws-region` por la región de AWS que utilizó en el paso anterior. Ejecute el siguiente comando para instalar el agente de `eks-connector` en el clúster del registro:

   ```
   $ helm install eks-connector \
     --namespace eks-connector \
     oci://public.ecr.aws/eks-connector/eks-connector-chart \
     --set eks.activationCode=ACTIVATION_CODE \
     --set eks.activationId=ACTIVATION_ID \
     --set eks.agentRegion=aws-region
   ```

   Si ha utilizado la Consola de administración de AWS en el paso anterior, utilice el comando que copió del paso anterior y que contiene estos valores rellenados.

1. Compruebe el buen estado de la implementación de `eks-connector` instalado y espere a que el estado del clúster registrado en Amazon EKS sea `ACTIVE`.

### yaml
<a name="yaml_agent_cluster_connect"></a>

Complete la conexión aplicando el archivo de manifiesto de Amazon EKS Connector al clúster de Kubernetes. Para ello, debe utilizar los métodos descritos anteriormente. Si el manifiesto no se aplica en un plazo de tres días, el registro de Amazon EKS Connector vence. Si la conexión del clúster vence, debe anularse el registro del clúster antes de volverlo a conectar.

1. Descargue el archivo YAML de Amazon EKS Connector.

   ```
   curl -O https://amazon-eks.s3.us-west-2.amazonaws.com/eks-connector/manifests/eks-connector/latest/eks-connector.yaml
   ```

1. Edite el archivo YAML de Amazon EKS Connector para reemplazar todas las referencias de `%AWS_REGION%`, `%EKS_ACTIVATION_ID%` y `%EKS_ACTIVATION_CODE%` por `aws-region`, `activationId` y `activationCode` de la salida del paso anterior.

   El siguiente comando de ejemplo puede sustituir estos valores.

   ```
   sed -i "s~%AWS_REGION%~$aws-region~g; s~%EKS_ACTIVATION_ID%~$EKS_ACTIVATION_ID~g; s~%EKS_ACTIVATION_CODE%~$(echo -n $EKS_ACTIVATION_CODE | base64)~g" eks-connector.yaml
   ```
**importante**  
Asegúrese de que el código de activación esté en el formato base64.

1. En una terminal que pueda acceder al clúster, puede aplicar el archivo de manifiesto actualizado al ejecutar el siguiente comando:

   ```
   kubectl apply -f eks-connector.yaml
   ```

1. Una vez que los archivos YAML de manifiesto y de enlace de roles de Amazon EKS Connector se hayan aplicado al clúster de Kubernetes, confirme que el clúster esté conectado.

   ```
   aws eks describe-cluster \
        --name "my-first-registered-cluster" \
        --region AWS_REGION
   ```

   El resultado debe incluir `status=ACTIVE`.

1. (Opcional) Agregue etiquetas a su clúster. Para obtener más información, consulte [Organización de los recursos de Amazon EKS con etiquetas](eks-using-tags.md).

## Pasos a seguir a continuación
<a name="eks-connector-next"></a>

Si tiene algún problema con estos pasos, consulte [Solución de problemas del conector de Amazon EKS](troubleshooting-connector.md).

Para conceder acceso adicional a [entidades principales de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) a la consola de Amazon EKS para ver los recursos de Kubernetes en un clúster conectado, consulte [Concesión de acceso para ver los recursos del clúster de Kubernetes en una consola de Amazon EKS](connector-grant-access.md).