

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

# Cómo conectar nodos híbridos
<a name="hybrid-nodes-join"></a>

**nota**  
Los siguientes pasos se aplican a nodos híbridos que ejecutan sistemas operativos compatibles, con excepción de Bottlerocket. Para conocer los pasos para conectar un nodo híbrido que ejecute Bottlerocket, consulte [Conexión de nodos híbridos con Bottlerocket](hybrid-nodes-bottlerocket.md).

En este tema se explica cómo conectar nodos híbridos a un clúster de Amazon EKS. Una vez que los nodos híbridos se unan al clúster, aparecerán con el estado No listos en la consola de Amazon EKS y en las herramientas compatibles con Kubernetes, como kubectl. Tras completar los pasos que se indican en esta página, proceda a [Configuración de una CNI para nodos híbridos](hybrid-nodes-cni.md) para preparar los nodos híbridos para ejecutar aplicaciones.

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

Antes de conectar los nodos híbridos al clúster de Amazon EKS, compruebe que se cumplen los requisitos previos indicados.
+ Dispone de conectividad de red entre el entorno en las instalaciones con la región de AWS que aloja el clúster de Amazon EKS. Para obtener más información, consulte [Cómo preparar las redes para los nodos híbridos](hybrid-nodes-networking.md).
+ Dispone de un sistema operativo compatible con los nodos híbridos instalado en los hosts en las instalaciones. Para obtener más información, consulte [Cómo preparar el sistema operativo para los nodos híbridos](hybrid-nodes-os.md).
+ Ha creado el rol de IAM de los nodos híbridos y ha configurado el proveedor de credenciales en las instalaciones (activaciones híbridas de AWS Systems Manager o AWS IAM Roles Anywhere). Para obtener más información, consulte [Cómo preparar las credenciales para los nodos híbridos](hybrid-nodes-creds.md).
+ Ha creado el clúster de Amazon EKS habilitado para nodos híbridos. Para obtener más información, consulte [Cómo crear un clúster de Amazon EKS con nodos híbridos](hybrid-nodes-cluster-create.md).
+ Ha asociado el rol de IAM de nodos híbridos a los permisos de control de acceso basado en roles (RBAC) de Kubernetes. Para obtener más información, consulte [Cómo preparar el acceso al clúster para los nodos híbridos](hybrid-nodes-cluster-prep.md).

## Paso 1: Instalación de la CLI (`nodeadm`) de nodos híbridos en cada host en las instalaciones
<a name="_step_1_install_the_hybrid_nodes_cli_nodeadm_on_each_on_premises_host"></a>

Si incluye la CLI (`nodeadm`) de los Nodos híbridos de Amazon EKS en las imágenes prediseñadas del sistema operativo, puede omitir este paso. Para obtener más información acerca de la versión de los nodos híbridos de `nodeadm`, consulte [Referencia de `nodeadm` de nodos híbridos](hybrid-nodes-nodeadm.md).

La versión de nodos híbridos de `nodeadm` está alojada en Amazon S3, con Amazon CloudFront como frontend. Para instalar `nodeadm` en cada host en las instalaciones, puede ejecutar el siguiente comando desde los hosts en las instalaciones.

 **Para los hosts x86\_64:** 

```
curl -OL 'https://hybrid-assets.eks.amazonaws.com/releases/latest/bin/linux/amd64/nodeadm'
```

 **Para los hosts ARM** 

```
curl -OL 'https://hybrid-assets.eks.amazonaws.com/releases/latest/bin/linux/arm64/nodeadm'
```

Agregue permiso de archivo ejecutable al binario descargado en cada host.

```
chmod +x nodeadm
```

## Paso 2: Instalación de las dependencias de los nodos híbridos con `nodeadm`
<a name="_step_2_install_the_hybrid_nodes_dependencies_with_nodeadm"></a>

Si va a instalar las dependencias de los nodos híbridos en las imágenes prediseñadas del sistema operativo, puede omitir este paso. El comando `nodeadm install` se puede usar para instalar todas las dependencias necesarias para los nodos híbridos. Las dependencias de los nodos híbridos incluyen containerd, kubelet, kubectl y los componentes de AWS SSM o AWS IAM Roles Anywhere. Consulte [Referencia de `nodeadm` de nodos híbridos](hybrid-nodes-nodeadm.md) para obtener más información sobre los componentes y las ubicaciones de los archivos instalados por `nodeadm install`. Consulte [Cómo preparar las redes para los nodos híbridos](hybrid-nodes-networking.md) para nodos híbridos para obtener más información sobre los dominios que se deben permitir en el firewall en las instalaciones durante el proceso de `nodeadm install`.

Ejecute el siguiente comando para instalar las dependencias de los nodos híbridos en el host en las instalaciones. El comando que aparece a continuación se debe ejecutar con un usuario que tenga privilegios de raíz/sudo en el host.

**importante**  
La CLI (`nodeadm`) de nodos híbridos se debe ejecutar con un usuario que tenga acceso sudo/raíz en el host.
+ Sustituya `K8S_VERSION` por la versión secundaria de Kubernetes del clúster de Amazon EKS, por ejemplo `1.31`. Consulte las [versiones compatibles de Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html) para obtener una lista de las versiones de Kubernetes compatibles.
+ Sustituya `CREDS_PROVIDER` por el proveedor de credenciales en las instalaciones que utiliza. Los valores válidos son `ssm` para AWS SSM y `iam-ra` para AWS IAM Roles Anywhere.

```
nodeadm install {{K8S_VERSION}} --credential-provider {{CREDS_PROVIDER}}
```

## Paso 3: Conexión de los nodos híbridos al clúster
<a name="_step_3_connect_hybrid_nodes_to_your_cluster"></a>

Antes de conectar los nodos híbridos al clúster, asegúrese de haber permitido el acceso necesario en el firewall en las instalaciones y en el grupo de seguridad del clúster para la comunicación entre el plano de control de Amazon EKS y el nodo híbrido. La mayoría de los problemas de este paso están relacionados con la configuración del firewall, la configuración del grupo de seguridad o la configuración de los roles de IAM de los nodos híbridos.

**importante**  
La CLI (`nodeadm`) de nodos híbridos se debe ejecutar con un usuario que tenga acceso sudo/raíz en el host.

1. Cree un archivo `nodeConfig.yaml` en cada host con los valores de la implementación. Para obtener una descripción completa de los ajustes de configuración disponibles, consulte [Referencia de `nodeadm` de nodos híbridos](hybrid-nodes-nodeadm.md). Si el rol de IAM de los nodos híbridos no tiene permiso para la acción `eks:DescribeCluster`, debe proporcionar el punto de conexión de la API de Kubernetes, el paquete CA del clúster y el CIDR IPv4 del servicio de Kubernetes en la sección del clúster del `nodeConfig.yaml`.

   1. Utilice el `nodeConfig.yaml` de ejemplo que aparece a continuación si utiliza activaciones híbridas de AWS SSM para el proveedor de credenciales en las instalaciones.

      1. Reemplace `CLUSTER_NAME` por el nombre del clúster.

      1. Sustituya `AWS_REGION` por la región de AWS en la que se aloja el clúster. Por ejemplo, `us-west-2`.

      1. Sustituya `ACTIVATION_CODE` por el código de activación que recibió al crear la activación híbrida de AWS SSM. Para obtener más información, consulte [Cómo preparar las credenciales para los nodos híbridos](hybrid-nodes-creds.md).

      1. Sustituya `ACTIVATION_ID` por el ID de activación que recibió al crear la activación híbrida de AWS SSM. Puede recuperar esta información desde la consola de AWS Systems Manager o desde el comando `aws ssm describe-activations` de AWS CLI.

         ```
         apiVersion: node.eks.aws/v1alpha1
         kind: NodeConfig
         spec:
           cluster:
             name: CLUSTER_NAME
             region: AWS_REGION
           hybrid:
             ssm:
               activationCode: ACTIVATION_CODE
               activationId: ACTIVATION_ID
         ```

   1. Utilice el `nodeConfig.yaml` de ejemplo que aparece a continuación si utiliza AWS IAM Roles Anywhere para el proveedor de credenciales en las instalaciones.

      1. Reemplace `CLUSTER_NAME` por el nombre del clúster.

      1. Sustituya `AWS_REGION` por la región de AWS en la que se aloja el clúster. Por ejemplo, `us-west-2`.

      1. Sustituya `NODE_NAME` por el nombre del nodo. El nombre del nodo debe coincidir con el CN del certificado del host si configuró la política de confianza del rol de IAM de nodos híbridos con la condición de recurso `"sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}"`. El `nodeName` que utilice no puede tener más de 64 caracteres.

      1. Sustituya `TRUST_ANCHOR_ARN` por el ARN del anclaje de veracidad que configuró en los pasos que se indican en Cómo preparar credenciales para nodos híbridos.

      1. Sustituya `PROFILE_ARN` por el ARN del anclaje de veracidad que configuró en los pasos de [Cómo preparar las credenciales para los nodos híbridos](hybrid-nodes-creds.md).

      1. Sustituya `ROLE_ARN` por el ARN del rol de IAM de nodos híbridos.

      1. Sustituya `CERTIFICATE_PATH` por la ruta en disco al certificado del nodo. Si no se especifica, el valor predeterminado es `/etc/iam/pki/server.pem`.

      1. Sustituya `KEY_PATH` por la ruta en disco a la clave privada del certificado. Si no se especifica, el valor predeterminado es `/etc/iam/pki/server.key`.

         ```
         apiVersion: node.eks.aws/v1alpha1
         kind: NodeConfig
         spec:
           cluster:
             name: CLUSTER_NAME
             region: AWS_REGION
           hybrid:
             iamRolesAnywhere:
               nodeName: NODE_NAME
               trustAnchorArn: TRUST_ANCHOR_ARN
               profileArn: PROFILE_ARN
               roleArn: ROLE_ARN
               certificatePath: CERTIFICATE_PATH
               privateKeyPath: KEY_PATH
         ```

1. Ejecute el comando `nodeadm init` con el `nodeConfig.yaml` para conectar los nodos híbridos al clúster de Amazon EKS.

   ```
   nodeadm init -c file://nodeConfig.yaml
   ```

Si el comando anterior se ejecuta correctamente, el nodo híbrido se habrá unido a su clúster de Amazon EKS. Puede verificar esto en la consola de Amazon EKS. Para ello, vaya a la pestaña Computación del clúster ([asegúrese de que la entidad principal de IAM tenga permisos de visualización](view-kubernetes-resources.md#view-kubernetes-resources-permissions)) o con `kubectl get nodes`.

**importante**  
Los nodos tendrán el estado `Not Ready`, que es el esperado, y se debe a la falta de una CNI que se ejecute en los nodos híbridos. Si los nodos no se unieron al clúster, consulte [Solución de problemas relacionados con los nodos híbridos](hybrid-nodes-troubleshooting.md).

## Paso 4: Configuración de una CNI para los nodos híbridos
<a name="_step_4_configure_a_cni_for_hybrid_nodes"></a>

Para que los nodos híbridos estén preparados para ejecutar aplicaciones, continúe con los pasos que se indican en [Configuración de una CNI para nodos híbridos](hybrid-nodes-cni.md).