View a markdown version of this page

Ejemplos de Amazon EMR en EKS que utilizan la AWS CLI - AWS Command Line Interface

Ejemplos de Amazon EMR en EKS que utilizan la AWS CLI

En los siguientes ejemplos de código, se muestra cómo realizar acciones e implementar escenarios comunes usando el AWS Command Line Interface con Amazon EMR en EKS.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar create-role-associations.

AWS CLI

Para crear asociaciones de roles de un rol de IAM con cuentas de servicio de EMR que se utilizarán con Amazon EMR en EKS

El siguiente comando de ejemplo create-role-associations crea asociaciones de Pod Identity de EKS de un rol denominado example_iam_role con cuentas de servicio de EMR para poder utilizarlo con Amazon EMR en EKS con el espacio de nombres example_namespace de un clúster de EKS denominado example_cluster:

aws emr-containers create-role-associations \ --cluster-name example_cluster \ --namespace example_namespace \ --role-name example_iam_role

Salida:

[ { "clusterName": "example_cluster", "namespace": "example_namespace", "serviceAccount": "emr-spark-client-service-account-example", "roleArn": "arn:aws:iam::111111111111:role/example_iam_role", "associationArn": "arn:aws:eks:us-east-1:111111111111:podidentityassociation/example_cluster/a-bgyr1umgdmrk1kdtq", "associationId": "a-bgyr1umgdmrk1kdtq", "tags": {}, "createdAt": "2022-11-15T10:49:00+00:00", "modifiedAt": "2022-11-15T10:49:00+00:00" }, { "clusterName": "example_cluster", "namespace": "example_namespace", "serviceAccount": "emr-spark-driver-service-account-example", "roleArn": "arn:aws:iam::111111111111:role/example_iam_role", "associationArn": "arn:aws:eks:us-east-1:111111111111:podidentityassociation/example_cluster/b-bgyr1umgdmrk1kdtq", "associationId": "b-bgyr1umgdmrk1kdtq", "tags": {}, "createdAt": "2022-11-15T10:49:00+00:00", "modifiedAt": "2022-11-15T10:49:00+00:00" }, { "clusterName": "example_cluster", "namespace": "example_namespace", "serviceAccount": "emr-spark-executor-service-account-example", "roleArn": "arn:aws:iam::111111111111:role/example_iam_role", "associationArn": "arn:aws:eks:us-east-1:111111111111:podidentityassociation/example_cluster/c-bgyr1umgdmrk1kdtq", "associationId": "c-bgyr1umgdmrk1kdtq", "tags": {}, "createdAt": "2022-11-15T10:49:00+00:00", "modifiedAt": "2022-11-15T10:49:00+00:00" } ]
  • Para obtener más información sobre la API, consulte CreateRoleAssociations en Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-role-associations.

AWS CLI

Para eliminar las asociaciones de roles de un rol de IAM con cuentas de servicio de EMR

EKS permite asociaciones con recursos inexistentes (espacio de nombres, cuenta de servicio), por lo que EMR en EKS recomienda eliminar las asociaciones si se elimina el espacio de nombres o si el rol no está en uso, a fin de liberar espacio para otras asociaciones.

El siguiente comando de ejemplo delete-role-associations elimina asociaciones de Pod Identity de EKS de un rol denominado example_iam_role con cuentas de servicio de EMR para poder eliminarlo de Amazon EMR en EKS con el espacio de nombres example_namespace de un clúster de EKS denominado example_cluster:

aws emr-containers delete-role-associations \ --cluster-name example_cluster \ --namespace example_namespace \ --role-name example_iam_role

Salida:

[ { "clusterName": "example_cluster", "namespace": "example_namespace", "serviceAccount": "emr-spark-client-service-account-example", "roleArn": "arn:aws:iam::111111111111:role/example_iam_role", "associationArn": "arn:aws:eks:us-east-1:111111111111:podidentityassociation/example_cluster/a-bgyr1umgdmrk1kdtq", "associationId": "a-bgyr1umgdmrk1kdtq", "tags": {}, "createdAt": "2022-11-15T10:49:00+00:00", "modifiedAt": "2022-11-15T10:49:00+00:00" }, { "clusterName": "example_cluster", "namespace": "example_namespace", "serviceAccount": "emr-spark-driver-service-account-example", "roleArn": "arn:aws:iam::111111111111:role/example_iam_role", "associationArn": "arn:aws:eks:us-east-1:111111111111:podidentityassociation/example_cluster/b-bgyr1umgdmrk1kdtq", "associationId": "b-bgyr1umgdmrk1kdtq", "tags": {}, "createdAt": "2022-11-15T10:49:00+00:00", "modifiedAt": "2022-11-15T10:49:00+00:00" }, { "clusterName": "example_cluster", "namespace": "example_namespace", "serviceAccount": "emr-spark-executor-service-account-example", "roleArn": "arn:aws:iam::111111111111:role/example_iam_role", "associationArn": "arn:aws:eks:us-east-1:111111111111:podidentityassociation/example_cluster/c-bgyr1umgdmrk1kdtq", "associationId": "c-bgyr1umgdmrk1kdtq", "tags": {}, "createdAt": "2022-11-15T10:49:00+00:00", "modifiedAt": "2022-11-15T10:49:00+00:00" } ]
  • Para obtener información sobre la API, consulte DeleteRoleAssociations en Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar update-role-trust-policy.

AWS CLI

Para actualizar la política de confianza de un rol de IAM que se utilizará con Amazon EMR en EKS

Este comando de ejemplo actualiza la política de confianza de un rol llamado example_iam_role para que pueda usarse con Amazon EMR en EKS con el espacio de nombres example_namespace de un clúster de EKS llamado example_cluster.

Comando:

aws emr-containers update-role-trust-policy \ --cluster example_cluster \ --namespace example_namespace \ --role-name example_iam_role

Salida:

If the trust policy has already been updated, then the output will be: Trust policy statement already exists for role example_iam_role. No changes were made! If the trust policy has not been updated yet, then the output will be: Successfully updated trust policy of role example_iam_role.
  • Para obtener información sobre la API, consulte UpdateRoleTrustPolicy en la Referencia de comandos de la AWS CLI.