Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Autenticación de entradas de acceso a Amazon E
Amazon EKS admite dos mecanismos para conceder a un director de IAM permiso para llamar a la API del clúster: la Kubernetes API de entrada de acceso antigua aws-auth ConfigMap y la más reciente. Una entrada de acceso otorga acceso a una Kubernetes API principal de IAM sin necesidad de editar una. ConfigMap AWS Batch puede autenticarse en su clúster a través de cualquiera de los dos mecanismos.
Cuando lo eksConfiguration.accessEntry.desiredState configuras ENABLED en un entorno de procesamiento, AWS Batch puedes administrar la entrada de acceso para ese entorno de procesamiento en el clúster. Ya no es necesario editar manualmente el aws-auth ConfigMap.
El AWS Batch aprovisionamiento de una entrada de acceso depende de su entorno AWS Batch informático y de la configuración del clúster de Amazon EKS. Para obtener más información, consulte Interacción con el modo de autenticación del clúster .
Valores de acceso Entry.desiredState
El desiredState campo on EksAccessEntry declara el estado de entrada de acceso deseado para el entorno informático. Los valores válidos son los siguientes:
ENABLED-
AWS Batch crea una entrada AWS Batch de acceso administrado en el clúster para el entorno informático. AWS Batch solo creará una entrada de acceso AWS Batch administrado si todos los entornos informáticos del clúster están configurados en
ENABLED(consultedesiredStateCómo AWS Batch reconcilia el estado deseado en todos los entornos informáticos para obtener más información). DISABLED-
AWS Batch elimina la entrada de acceso AWS Batch administrado del clúster. AWS Batch solo eliminará una entrada de acceso AWS Batch administrado si todos los entornos informáticos del clúster están configurados en
DISABLED(consultedesiredStateCómo AWS Batch reconcilia el estado deseado en todos los entornos informáticos para obtener más información). El acceso al clúster debe configurarse a través delaws-authConfigMap. INHERIT_FROM_CLUSTER-
AWS Batch se refiere a la entrada
statusde acceso actual del clúster. En un clúster de Amazon EKS cuyo modo de autenticación esAPI, AWS Batch crea y administra una entrada de acceso, ya que el clúster no tieneaws-authConfigMap a qué recurrir. En un clúster cuyo modo de autenticación esCONFIG_MAPoAPI_AND_CONFIG_MAP, AWS Batch no agrega ni elimina una entrada de acceso.
El entorno informático también muestra un accessEntry.status campo de solo lectura en las respuestas. DescribeComputeEnvironments ACTIVEsignifica que existe una entrada de acceso AWS Batch administrado para el entorno informático en el clúster y tiene prioridad sobre. aws-auth ConfigMap INACTIVEsignifica que no hay ninguna entrada AWS Batch de acceso administrado. Esto puede deberse a que los entornos informáticos que desiredState se DISABLED dirigen al clúster aún no están de acuerdo o a que la entrada aún no se ha aprovisionado. desiredState Si accessEntry.status es asíINACTIVE, Batch lo usa aws-auth ConfigMap para acceder al clúster.
nota
Una entrada de acceso se ACTIVE notifica tan pronto como existe en el clúster, incluso si no AWS Batch ha terminado de asociar la política de acceso que la hace utilizable. Si el estado del entorno de procesamiento cambia a INVALID while accessEntry.status isACTIVE, consulteLa configuración de la entrada de acceso a Amazon EKS está incompleta.
nota
Si omites el accessEntry campo, AWS Batch no se registra un desiredState para el entorno de procesamiento y DescribeComputeEnvironments no se devuelve ninguno. Con el fin de aprovisionar la entrada de acceso, AWS Batch se comporta de la misma manera que lo hace para. INHERIT_FROM_CLUSTER
Interacción con el modo de autenticación del clúster
El AWS Batch comportamiento de un determinado usuario desiredState depende del modo de autenticación del clúster. La siguiente tabla se aplica tanto a comoCreateComputeEnvironment. UpdateComputeEnvironment
Clúster |
Entorno informático |
Entorno informático |
Entorno informático |
|---|---|---|---|
|
Las entradas de acceso no están disponibles en el clúster, por lo que AWS Batch no crea ni elimina ninguna. AWS Batch sigue registrando el valor que especifiques. Tras cambiar el modo de autenticación del clúster, el valor registrado surtirá efecto en la próxima |
||
|
AWS Batch compara los valores registrados en los entornos informáticos que comparten el clúster; consulteCómo AWS Batch reconcilia el estado deseado en todos los entornos informáticos. |
Se conserva el modo de acceso existente. AWS Batch no agrega ni elimina una entrada de acceso. |
|
|
La entrada de acceso se crea y se mantiene en el clúster. |
La solicitud se rechaza. Un clúster en este modo no admite la autenticación y el |
La entrada de acceso se crea y se mantiene en el clúster. Cuando el clúster es |
Cómo AWS Batch reconcilia el estado deseado en todos los entornos informáticos
Dado que un solo clúster de Amazon EKS puede respaldar varios entornos AWS Batch informáticos, la configuración de acceso de un clúster es un recurso compartido. AWS Batch por lo tanto, reconcilia o compara y resuelve los desiredState valores registrados en esos entornos informáticos.
Cuando authenticationMode es el del clústerAPI_AND_CONFIG_MAP, AWS Batch compara los datos desiredState registrados para cada entorno informático de la misma AWS cuenta y AWS región a la que se dirige el clúster. AWS Batch usa esta comparación para determinar si se debe agregar o eliminar la entrada de acceso en cada CreateComputeEnvironment UpdateComputeEnvironment operación que especifiquedesiredState.
- Todos los entornos informáticos tienen
desiredState=ENABLED -
AWS Batch crea la entrada de acceso en el clúster.
- Todos los entornos informáticos tienen
desiredState=DISABLED -
AWS Batch elimina la entrada de acceso del clúster, si existe.
- No todos
desiredStatelos valores registrados coinciden -
AWS Batch conserva el modo de acceso existente. La entrada de acceso no se agrega ni se quita. Esto incluye cualquier combinación de
ENABLEDDISABLED, yINHERIT_FROM_CLUSTER, y también incluye cualquier entorno informático que no tenga ningúndesiredStateregistro.
nota
Para hacer la transición de un clúster cuyo modo de autenticación sea API_AND_CONFIG_MAP de aws-auth ConfigMap a la autenticación de entrada, desiredState=ENABLED configúrala en cada entorno AWS Batch informático que tenga como destino el clúster. Para volver a hacer la transición, desiredState=DISABLED configúralos en cada uno de ellos.
Qué AWS Batch crea en tu clúster
AWS Batch crea una entrada de acceso por clúster que cumpla las condiciones anteriores y, a continuación, asocia la política de acceso de AWSBatchClusterPolicy Amazon EKS a esa entrada de acceso. La entrada de acceso es por clúster y no por entorno de procesamiento, por lo que todos los entornos de AWS Batch procesamiento que se dirigen al mismo clúster la comparten.
nota
La eliminación de un entorno de procesamiento no elimina la entrada de acceso, incluso si se trata del último entorno de AWS Batch procesamiento del clúster. Para eliminar una entrada de acceso AWS Batch administrado, llama UpdateComputeEnvironment a todos los entornos de AWS Batch procesamiento que tengan como destino el clúster antes de eliminarlos. desiredState=DISABLED
Una entrada de acceso no es suficiente por sí sola para ejecutar trabajos en el clúster. Para conocer los Kubernetes permisos y el acceso a los nodos que debe configurar usted mismo, consulteLa configuración de clúster que aún debe proporcionar.
Permisos necesarios
AWS Batch administra la entrada de acceso mediante las credenciales de la identidad de IAM que llama a la UpdateComputeEnvironment operación CreateComputeEnvironment o. Esa identidad debe poder realizar las siguientes acciones de Amazon EKS:
-
eks:DescribeCluster -
eks:DescribeAccessEntry -
eks:CreateAccessEntry -
eks:AssociateAccessPolicy -
eks:DeleteAccessEntry
Configure la entrada de acceso
Puede configurar la entrada de acceso en un entorno informático a través del eksConfiguration.accessEntry campo de la UpdateComputeEnvironment API CreateComputeEnvironment o.
La configuración de clúster que aún debe proporcionar
Una entrada de acceso controla únicamente la forma en AWS Batch que se autentica en el clúster. No otorga AWS Batch los Kubernetes permisos que necesita para ejecutar tus trabajos ni permite que las instancias que se AWS Batch lanzan se unan al clúster. Independientemente del mecanismo de autenticación que utilices, debes configurar las dos opciones siguientes.
importante
Una vez que se crea una entrada de acceso AWS Batch administrado para el rol AWS Batch vinculado al servicio en un clúster (accessEntry.status=ACTIVE), tiene prioridad sobre la aws-auth ConfigMap configuración del rol. Las ConfigMap entradas del rol AWS Batch vinculado al servicio no se utilizan y, en su lugar, se AWS Batch autentica mediante la entrada de acceso. Para volver a la ConfigMap autenticación, desiredState=DISABLED configúrela en todos los entornos informáticos que tengan como destino el clúster. Esto elimina la entrada AWS Batch-managed access.
- Kubernetespermisos para el espacio de nombres AWS Batch
-
AWS Batch necesita Kubernetes permisos para crear y administrar pods en el espacio de nombres que especifiques.
eksConfiguration.kubernetesNamespaceCrea el espacio de nombres y, a continuación, configura esos permisos mediante uno de los siguientes métodos, según el enfoque de autenticación que utilices:-
Asociación de políticas de acceso (obligatoria cuando se ingresa el acceso
status=ACTIVE): cuando configuras todosdesiredState=ENABLEDlos entornos de procesamiento orientados a un clúster, AWS Batch crea una entrada de acceso con el nivel del clústerAWSBatchClusterPolicy. A continuación, debes asociar el ámbito del espacio de nombresAWSBatchNamespacePolicypara conceder el permiso de creación y administración de pods. AWS BatchCuando llegue la entrada de acceso
status=ACTIVE, asocie la política de espacio de nombres mediante: AWS CLI$aws eks associate-access-policy \ --cluster-namemy-cluster\ --principal-arnarn:aws:iam::123456789012:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch\ --policy-arn arn:aws:eks::aws:cluster-access-policy/AWSBatchNamespacePolicy \ --access-scope type=namespace,namespaces=my-aws-batch-namespacemy-aws-batch-namespaceSustitúyala por el valor que especificaste eneksConfiguration.kubernetesNamespace.importante
Sin la asociación de políticas con un ámbito de espacio de nombres, los trabajos permanecerán estancados.
RUNNABLELa política a nivel de clúster por sí sola no otorga permisos de administración de pods. -
Kubernetesroles y enlaces de roles (cuando se accede a la entrada
status=INACTIVE): si la entrada de acceso AWS Batch administrado no está activa, cree los roles y los enlaces de Kubernetes roles que otorgan esos permisos, tal y como se describe en. Paso 2: Prepare su clúster de Amazon EKS para AWS Batch Esto se hace una vez para cada clúster.nota
Cuando una entrada de acceso AWS Batch administrado está activa (
status=ACTIVE), se omiten las funciones de Kubernetes RBAC. En su lugar, debe utilizar el método de asociación de políticas de acceso.
AWS Batch no crea estos recursos automáticamente y una entrada AWS Batch de acceso administrado no los sustituye. Si faltan, el entorno informático puede seguir funcionando
VALIDmientras tus trabajos no se inician. -
- Acceso al clúster para el rol de instancia de nodo
-
Las instancias que AWS Batch se lanzan se unen al clúster mediante el perfil de instancia que especifiques
computeResources.instanceRole. Ese rol necesita su propio acceso al clúster, que es independiente de la entrada de acceso AWS Batch administrado y que AWS Batch no se configura.El método de configuración depende de los siguientes parámetros del
authenticationModeclúster:-
En los clústeres
authenticationModeque sonCONFIG_MAP: debe utilizar elaws-authConfigMap. No se admiten entradas de acceso en estos clústeres. -
En clústeres
authenticationModeque sonAPI_AND_CONFIG_MAP: el rol de instancia de nodo puede autenticarse mediante la entradaaws-authConfigMap o una entrada de acceso. Si el rol de instancia ya está asignado en ConfigMap, los nodos se unirán correctamente sin crear una entrada de acceso para el rol. -
En los clústeres cuyo
APInombreauthenticationModesea: debes crear una entrada de acceso para el rol de instancia de nodo. Noaws-authConfigMap se usa para la autenticación en estos clústeres.
Para crear una entrada de acceso para el rol de instancia de nodo, utilice AWS CLI:
$aws eks create-access-entry \ --cluster-namemy-cluster\ --principal-arnarn:aws:iam::123456789012:role/my-node-instance-role\ --type EC2_LINUX$aws eks associate-access-policy \ --cluster-namemy-cluster\ --principal-arnarn:aws:iam::123456789012:role/my-node-instance-role\ --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSWorkerNodePolicy \ --access-scope type=clusterPara obtener más información, consulte Creación de entradas de acceso en la Guía del usuario de Amazon EKS .
importante
Sin el acceso adecuado al clúster para la función de instancia de nodo, las instancias EC2 no pueden unirse al clúster. Los trabajos permanecerán en ese
RUNNABLEestado porque no se registra ninguna capacidad en el clúster. -
Elegir entre las entradas aws-auth y access ConfigMap
La autenticación de las entradas de acceso es la ruta recomendada para AWS Batch los nuevos entornos informáticos de Amazon EKS y ofrece las siguientes ventajas:
-
Elimina la necesidad de editarla manualmente
aws-authConfigMap para conceder AWS Batch acceso al clúster. -
Proporciona un API-driven registro auditable de las personas principales que tienen acceso al clúster.
-
Es obligatorio para los clústeres
authenticationModeque síAPI, que no admiten el.aws-authConfigMap
Si el de su clúster lo authenticationMode esCONFIG_MAP, las entradas de acceso no están disponibles y AWS Batch se autentica a través del aws-auth ConfigMap. Para obtener instrucciones, consulte Verifique que aws-auth ConfigMap esté configurado correctamente.