Configuración del agente de Pod Identity de Amazon EKS - Amazon EKS

Configuración del agente de Pod Identity de Amazon EKS

Las asociaciones de Pod Identity de Amazon EKS ofrecen la posibilidad de administrar las credenciales para las aplicaciones, de un modo similar a cómo los perfiles de instancia de Amazon EC2 proporcionan credenciales a instancias de Amazon EC2.

Pod Identity de Amazon EKS proporciona credenciales a sus cargas de trabajo con una API de autenticación de EKS adicional y un pod de agente que se ejecuta en cada nodo.

Consideraciones

  • De forma predeterminada, el agente de Pod Identity de EKS escucha en una dirección IPv4 e IPv6 para que los pods soliciten credenciales. El agente usa la dirección IP de bucle invertido (localhost) 169.254.170.23 para IPv4 y la dirección IP de localhost [fd00:ec2::23] para IPv6.

  • Si deshabilita las direcciones IPv6 o evita las direcciones IP IPv6 de localhost, el agente no podrá iniciarse. Para iniciar el agente en los nodos que no pueden usar IPv6, siga los pasos que se indican en Desactivar IPv6 en el agente de Pod Identity de EKS a fin de deshabilitar la configuración IPv6.

Creación del agente de Pod Identity de Amazon EKS

Requisitos previos de agente

  • Un clúster existente de Amazon EKS. Para implementar uno, consulte Introducción a Amazon EKS. La versión del clúster y la versión de la plataforma deben ser iguales o posteriores a las versiones indicadas en Versiones del clúster de Pod Identity de EKSVersiones de clúster de EKS Pod Identity.

  • El rol de nodo tiene permisos para que el agente realice la acción AssumeRoleForPodIdentity en la API de autenticación de EKS. Puede usar la Política administrada de AWS: AmazonEKSWorkerNodePolicy política administrada de AWS: AmazonEKSWorkerNodePolicy o agregar una política personalizada similar a la siguiente:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks-auth:AssumeRoleForPodIdentity" ], "Resource": "*" } ] }

    Esta acción se puede limitar mediante etiquetas para restringir los roles que pueden asumir los pods que utilizan el agente.

  • Los nodos pueden acceder y descargar imágenes de Amazon ECR. La imagen del contenedor del complemento se encuentra en los registros que figuran en Visualización de los registros de imágenes de contenedores de Amazon para los complementos de Amazon EKSVisualización de los registros de imágenes de contenedores de Amazon para los complementos de Amazon EKS.

    Tenga en cuenta que puede cambiar la ubicación de la imagen y proporcionar imagePullSecrets para los complementos de EKS en Valores de configuración opcionales en la AWS Management Console, y en --configuration-values en la AWS CLI.

  • Los nodos pueden acceder a la API de autenticación de Amazon EKS. En el caso de los clústeres privados, se requiere el punto de conexión eks-auth en AWS PrivateLink.

Configuración del agente con la consola de AWS

  1. Abra la consola de Amazon EKS.

  2. En el panel de navegación izquierdo, seleccione Clústeres y, a continuación, seleccione el nombre del clúster para el que desea configurar el complemento de agente de Pod Identity de EKS.

  3. Elija la pestaña Complementos.

  4. Escoja Obtener más complementos.

  5. Seleccione la casilla situada en la parte superior derecha del cuadro de complementos para el agente de Pod Identity de EKS y, a continuación, elija Siguiente.

  6. En la página Configurar las opciones de complementos seleccionados, selecciona cualquier versión de la lista desplegable Versión.

  7. (Opcional) Expanda Valores de configuración opcionales para introducir una configuración adicional. Por ejemplo, puede proporcionar una ubicación de imagen de contenedor alternativa e ImagePullSecrets. El JSON Schema con las claves aceptadas se muestra en Esquema de configuración de complementos.

    Introduzca las claves y los valores de configuración en Valores de configuración.

  8. Elija Siguiente.

  9. Confirme que los pods de agente de Pod Identity de EKS se estén ejecutando en su clúster.

    kubectl get pods -n kube-system | grep 'eks-pod-identity-agent'

    Un ejemplo de salida sería el siguiente.

    eks-pod-identity-agent-gmqp7 1/1 Running 1 (24h ago) 24h eks-pod-identity-agent-prnsh 1/1 Running 1 (24h ago) 24h

    Ahora puede usar las asociaciones de Pod Identity de EKS en su clúster. Para obtener más información, consulte Asignación de un rol de IAM a la cuenta de servicio de Kubernetes.

Configuración del agente con AWS CLI

  1. Ejecute el siguiente comando de AWS CLI. Reemplace my-cluster por el nombre del clúster.

    aws eks create-addon --cluster-name my-cluster --addon-name eks-pod-identity-agent --addon-version v1.0.0-eksbuild.1
    nota

    El agente de Pod Identity de EKS no utiliza el service-account-role-arn en Roles de IAM para cuentas de servicio. Debe proporcionar al agente de Pod Identity de EKS los permisos en el rol de nodo.

  2. Confirme que los pods de agente de Pod Identity de EKS se estén ejecutando en su clúster.

    kubectl get pods -n kube-system | grep 'eks-pod-identity-agent'

    Un ejemplo de salida sería el siguiente.

    eks-pod-identity-agent-gmqp7 1/1 Running 1 (24h ago) 24h eks-pod-identity-agent-prnsh 1/1 Running 1 (24h ago) 24h

    Ahora puede usar las asociaciones de Pod Identity de EKS en su clúster. Para obtener más información, consulte Asignación de un rol de IAM a la cuenta de servicio de Kubernetes.