Rol de IAM de nodo de Amazon EKS - Amazon EKS

Rol de IAM de nodo de Amazon EKS

El daemon de kubelet del nodo de Amazon EKS realiza llamadas a las API de AWS en su nombre. Los nodos reciben permisos de dichas llamadas de API a través de políticas asociadas y de un perfil de instancias de IAM. Antes de poder lanzar nodos y registrarlos en un clúster, debe crear un rol de IAM para dichos nodos, para utilizarlo cuando se lancen. Este requisito se aplica a nodos lanzados con la AMI optimizada para Amazon EKS proporcionada por Amazon o con cualquier otra AMI de nodo que pretenda utilizar. Antes de crear nodos, debe crear un rol de IAM con las siguientes políticas de IAM:

Verificar un rol de nodo existente

Puede utilizar el siguiente procedimiento para verificar y conocer si la cuenta ya dispone del rol de nodo de Amazon EKS.

Para verificar el eksNodeRole en la consola de IAM

  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, elija Roles.

  3. En la lista de roles, busque eksNodeRole. Si no existe un rol que contiene un eksNodeRole o NodeInstanceRole, consulte Crear el rol de IAM de nodo de Amazon EKS para crear el rol. Si existe un rol que contiene un eksNodeRole o NodeInstanceRole, seleccione el rol para ver las políticas adjuntas.

  4. Elija Permissions.

  5. Asegúrese de que las políticas administradas AmazonEKSWorkerNodePolicy y AmazonEC2ContainerRegistryReadOnly se encuentren adjuntas al rol. Si las políticas se encuentran adjuntas, su rol de nodo de Amazon EKS está configurado correctamente.

    nota

    Si la política AmazonEKS_CNI_Policy se encuentra adjunta al rol, se recomienda eliminarla y adjuntarla a un rol de IAM asignado a la cuenta de servicio de Kubernetes de aws-node en su lugar. Para obtener más información, consulte Configuración del complemento de CNI de Amazon VPC para utilizar roles de IAM en cuentas de servicio.

  6. Seleccione Trust Relationships, Edit Trust Relationship.

  7. Compruebe que la relación de confianza contiene la siguiente política. Si la relación de confianza coincide con la política a continuación, seleccione Cancel. Si la relación de confianza no coincide, copie la política en la ventana Policy Document y seleccione Update Trust Policy.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Crear el rol de IAM de nodo de Amazon EKS

Puede crear el rol de IAM de nodo con la AWS Management Console o AWS CloudFormation. Seleccione la pestaña con el nombre de la herramienta con la que desea crear el rol.

AWS Management Console

Para crear el rol de nodo de Amazon EKS en la consola de IAM

  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. Elija Roles y, a continuación, Create role (Crear rol).

  3. Elija EC2 en la lista de Common use cases (Casos de uso comunes) en Choose a use case (Elegir un caso de uso) y a continuación, elija Next: Permissions (Siguiente: Permisos).

  4. En el cuadro Filter policies (Políticas de filtro), escriba AmazonEKSWorkerNodePolicy. Marque la casilla situada a la izquierda de AmazonEKSWorkerNodePolicy.

  5. En el cuadro Filter policies (Políticas de filtro), escriba AmazonEC2ContainerRegistryReadOnly. Marque la casilla situada a la izquierda de AmazonEC2ContainerRegistryReadOnly.

  6. La política AmazonEKS_CNI_Policy se debe encontrar adjunta a este rol o a un rol diferente asignado a la cuenta de servicio de Kubernetes de aws-node. Se recomienda asignar la política al rol asociado a la cuenta de servicio de Kubernetes en lugar de asignarla a este rol. Para obtener más información, consulte Configuración del complemento de CNI de Amazon VPC para utilizar roles de IAM en cuentas de servicio.

  7. Elija Next: Tags (Siguiente: Etiquetas).

  8. De manera opcional, agregue metadatos al rol asociando etiquetas como pares de clave-valor. Para obtener más información sobre la utilización de etiquetas en IAM, consulte Etiquetado de entidades de IAM en la Guía del usuario de IAM.

  9. Elija Next: Review (Siguiente: Revisión).

  10. En Role name (Nombre de rol), ingrese un nombre único para su rol, por ejemplo, NodeInstanceRole. En Role description (Descripción del rol), sustituya el texto actual por un texto descriptivo como Amazon EKS - Node Group Role (Amazon EKS: rol de grupo de nodos), a continuación, elija Create role (Crear rol).

AWS CloudFormation

Para crear su rol de nodo de Amazon EKS con AWS CloudFormation

  1. Abra la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation.

  2. Seleccione Create stack (Crear pila) y, a continuación, seleccione With new resources (standard) (Con nuevos recursos [estándar]).

  3. En Specify template (Especificar plantilla), seleccione Amazon S3 URL (URL de Amazon S3).

  4. Pegue la siguiente URL en el área de texto de Amazon S3 URL (URL de Amazon S3) y elija Next (Siguiente) dos veces:

    https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-nodegroup-role.yaml
  5. En la página Specify stack details (Especificar detalles de pila), para Stack name (Nombre de pila) escriba un nombre como, por ejemplo, eks-node-group-instance-role y elija Next (Siguiente).

  6. (Opcional) En la página Configure stack options (Configurar opciones de pila), tiene la opción de etiquetar sus recursos de pila. Seleccione Siguiente.

  7. En la página Review (Revisar) marque la casilla de la sección Capabilities (Capacidades) y elija Create stack (Crear pila).

  8. Una vez creada la pila, selecciónela en la consola y elija Outputs (Salidas).

  9. Registre el valor NodeInstanceRole para el rol de IAM que se creó. Necesita esto cuando al crear su grupo de nodos.

  10. (Opcional, pero recomendado) Una de las políticas de IAM que la plantilla de AWS CloudFormation adjuntó al rol en un paso anterior es la política administrada AmazonEKS_CNI_Policy. La política debe adjuntarse a este rol o a un rol asociado a la cuenta de servicio de aws-node de Kubernetes que se utiliza para el complemento CNI de VPC de Amazon EKS. Se recomienda asignar la política al rol asociado a la cuenta de servicio de Kubernetes. Para obtener más información, consulte Configuración del complemento de CNI de Amazon VPC para utilizar roles de IAM en cuentas de servicio.