本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
交互式端点概述
交互式终端节点为交互式客户端(如 Amazon EMR Studio)提供了EMR在EKS集群上连接到亚马逊以运行交互式工作负载的功能。交互式端点由 Jupyter Enterprise Gateway 提供支持,该网关提供交互式客户端所需的远程内核生命周期管理功能。内核是特定于语言的进程,它与基于 Jupyter 的 Amazon EMR Studio 客户端交互以运行交互式工作负载。
交互式端点支持以下内核:
-
Python 3
-
PySpark 在 Kubernetes 上
-
Apache Spark with Scala
注意
Amaz EMR on on EKS 定价适用于交互式终端节点和内核。有关更多信息,请参阅 Amazon EMR on EKS 定价页面
EMRStudio 需要以下实体才能通过以下实体与亚马逊EMR建立联系EKS。
-
EKS虚拟集群EMR上的亚马逊 — 虚拟集群是您向其注册亚马逊的 Kubernetes 命名空间。EMRAmazon EMR 使用虚拟集群来运行任务和托管终端节点。您可以使用同一个物理集群支持多个虚拟集群。但是,每个虚拟集群都映射到 Amazon EKS 集群上的一个命名空间。虚拟集群不会创建任何可增加您账单的活动资源,以及需要在服务之外进行生命周期管理的活动资源。
-
EKS交互式终端节点EMR上的 Amazon — 交互式终HTTPS端节点是 EMR Studio 用户可以连接工作空间的终端节点。您只能从 EMR Studio 访问HTTPS终端节点,并在亚马逊虚拟私有云 (AmazonVPC) 的私有子网中为亚马逊EKS集群创建这些终端节点。
Python PySpark、和 Spark Scala 内核使用你的 Amaz EMR on EKS 任务执行角色中定义的权限来调用其他内核。 AWS 服务连接到交互式端点的所有内核和用户都使用创建端点时指定的角色。我们建议您为不同的用户创建单独的终端节点,并且这些用户具有不同的 AWS Identity and Access Management (IAM) 角色。
-
AWS A@@ pplication Load Balancer 控制器 — AWS 应用程序负载均衡器控制器管理 Amazon EKS Kubernetes 集群的弹性负载平衡。当你创建 Kubernetes Ingress ALB 资源时,控制器会配置应用程序负载均衡器 ()。将 Kubernetes 服务(例如交互式终端节点)ALB暴露在亚马逊EKS集群之外但在同一个亚马逊内。VPC创建交互式终端节点时,还会部署一个 Ingress 资源,该资源通过交互式客户端连接的方式公开交互式终端节点。ALB您只需要为每个 Amazon EKS 集群安装一个 A AWS pplication Load Balancer 控制器。
下图描述了 Amazon EMR 上的EKS交互式终端节点架构。Amazon EKS 集群包括用于运行分析工作负载的计算和交互式终端节点。应用程序负载均衡器控制器在 kube-system
命名空间中运行;工作负载和交互式端点在创建虚拟集群时指定的命名空间中运行。当您创建交互式终端节点时,Amazon EMR on EKS 控制平面会在 Amazon EKS 集群中创建交互式终端节点部署。此外,应用程序负载均衡器入口的实例由负载均衡器控制器创建。 AWS 应用程序负载均衡器为 EMR Studio 等客户端提供了连接到 Amazon EMR 集群并运行交互式工作负载的外部接口。
![交互式端点架构图](images/emr-on-eks-managed-endpoints-architecture.png)