在 Amazon EMR 上创建交互式终端节点的先决条件 EKS - Amazon EMR

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon EMR 上创建交互式终端节点的先决条件 EKS

本节介绍设置交互式终端节点的先决条件,EMRStudio 可以使用该终端节点连接EKS集群EMR上的 Amazon 并运行交互式工作负载。

AWS CLI

按照安装或更新到最新版本中的 AWS CLI步骤安装最新版本的 AWS Command Line Interface (AWS CLI)。

安装 eksctl

按照安装 kubectl 中的步骤安装最新版本的 eksctl。如果您的亚马逊EKS集群使用的是 Kubernetes 1.22 或更高版本,请使用大于 0.117.0 的 eksctl 版本。

亚马逊EKS集群

创建亚马逊EKS集群。在 Amazon EMR 开启的情况下将集群注册为虚拟集群EKS。以下是此集群的要求和注意事项:

  • 集群必须与您的 EMR Studio 位于同一个 Amazon Virtual Private Cloud (VPC) 中。

  • 集群必须至少有一个私有子网,才能激活交互式端点、链接基于 Git 的存储库以及在私有模式下启动应用程序负载均衡器。

  • 您的 EMR Studio 和用于注册虚拟集群的 Amazon EKS 集群之间必须至少有一个共同的私有子网。这可确保您的交互式端点作为选项显示在 Studio Workspaces 中,并激活从 Studio 到应用程序负载均衡器的连接。

    您可以选择两种方法来连接您的 Studio 和 Amazon EKS 集群:

    • 创建 Amazon EKS 集群并将其与属于您的 EMR Studio 的子网关联。

    • 或者,创建 EMR Studio 并为您的 Amazon EKS 集群指定私有子网。

  • 亚马逊的EKS交互式终端节点AMIs不支持亚马逊EKS优化的ARM亚马EMR逊 Linux。

  • 交互式终端节点适用于使用不EKS超过 1.30 的 Kubernetes 版本的亚马逊集群。

  • 仅支持 Amazon EKS 托管节点组

在 Amazon EMR 上授予集群访问权限 EKS

使用授予亚马逊EMR集群访问权限中的步骤授EKS予亚马逊EMREKS访问您集群中特定命名空间的权限。

在 Amazon EKS 集群IRSA上激活

要在 Amazon EKS 集群上激活服务账户 (IRSA) 的IAM角色,请按照为服务账户启用IAM角色 (IRSA) 中的步骤操作。

创建IAM任务执行角色

您必须创建一个IAM角色才能在 Amazon 上的EKS交互式终端节点EMR上运行工作负载。在本文档中,我们将此IAM角色称为任务执行角色。此IAM角色既分配给交互式终端节点容器,也分配给您使用 EMR Studio 提交作业时创建的实际执行容器。您需要在亚马逊上使用任务执行角色的亚马逊EMR资源名称 (ARN) EKS。为此,请按以下两个步骤操作:

授予用户访问亚马逊EMR的权限 EKS

请求创建交互式终端节点的IAM实体(用户或角色)还必须具有以下 Amazon EC2 和emr-containers权限。按照中描述的步骤授向用户授予访问 Amaz EMR on 的权限 EKS予这些权限,允许 Amaz EMR on EKS 创建、管理和删除限制交互式终端节点负载均衡器入站流量的安全组。

以下 emr-containers 权限允许用户执行基本的交互式端点操作:

"ec2:CreateSecurityGroup", "ec2:DeleteSecurityGroup", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress" "emr-containers:CreateManagedEndpoint", "emr-containers:ListManagedEndpoints", "emr-containers:DescribeManagedEndpoint", "emr-containers:DeleteManagedEndpoint"

向亚马逊注册亚马逊EKS集群 EMR

设置虚拟集群并将其映射到您要运行任务的 Amazon EKS 集群中的命名空间。对于 AWS Fargate仅限集群,请为 Amazon EMR on EKS 虚拟集群和 Fargate 配置文件使用相同的命名空间。

有关在EKS虚拟集群上设置 Amaz EMR on 的信息,请参阅向亚马逊注册亚马逊EKS集群 EMR

将 Loa AWS d Balancer 控制器部署到亚马逊EKS集群

您的 Amazon EKS 集群需要一个 AWS Application Load Balancer。您只需要为每个 Amazon 集EKS群设置一个 Application Load Balancer 控制器。有关设置 App AWS lication Load Balancer 控制器的信息,请参阅亚马逊EKS用户指南中的安装 AWS 负载均衡器控制器插件