Exemplos do Amazon EMR no EKS usando AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com o Amazon EMR no EKS.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.
Tópicos
Ações
O código de exemplo a seguir mostra como usar create-role-associations.
- AWS CLI
-
Para criar associações de perfil de um perfil do IAM com contas de serviço do EMR a serem usadas com o Amazon EMR no EKS
O comando de exemplo do
create-role-associationse {ut} a seguir cria associações de identidade de pods do EKS de um perfil chamado example_iam_role com contas de serviço do EMR de modo que ele possa ser usado com o Amazon EMR no EKS com o namespace example_namespacede um cluster do EKS chamado example_cluster.:aws emr-containers create-role-associations \ --cluster-nameexample_cluster\ --namespaceexample_namespace\ --role-nameexample_iam_roleResultado:
[ { "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 obter detalhes da API, consulte CreateRoleAssociations
na Referência de comandos AWS CLI.
-
O código de exemplo a seguir mostra como usar delete-role-associations.
- AWS CLI
-
Para excluir associações de um perfil do IAM com contas de serviço do EMR
O EKS permite associações com recursos inexistentes (namespace, conta de serviço), portanto, o EMR no EKS sugere excluir as associações se o namespace for excluído ou se o perfil não estiver em uso para liberar espaço para outras associações.
O comando de exemplo do
delete-role-associationsa seguir exclui associações de identidade de pods do EKS de um perfil chamado example_iam_role com contas de serviço do EMR de modo que ele possa ser removido do Amazon EMR no EKS com o namespace example_namespace de um cluster do EKS chamado example_cluster.:aws emr-containers delete-role-associations \ --cluster-nameexample_cluster\ --namespaceexample_namespace\ --role-nameexample_iam_roleResultado:
[ { "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 obter detalhes da API, consulte DeleteRoleAssociations
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar update-role-trust-policy.
- AWS CLI
-
Atualizar a política de confiança de um perfil do IAM a ser usado com o Amazon EMR no EKS
Esse comando de exemplo atualiza a política de confiança de um perfil chamado example_iam_role para que ele possa ser usado com o Amazon EMR no EKS com o espaço de nome example_namespace de um cluster EKS chamado example_cluster.
Comando:
aws emr-containers update-role-trust-policy \ --cluster example_cluster \ --namespace example_namespace \ --role-name example_iam_roleResultado:
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 ver detalhes da API, consulte UpdateRoleTrustPolicy
na Referência de comandos da AWS CLI.
-