本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon EMR on EKS 上建立互動端點的先決條件
本章節描述了設定互動端點的先決條件,EMR Studio 可使用該端點連線到 Amazon EMR on EKS 叢集並執行互動式工作負載。
AWS CLI
請依照安裝或更新至最新版本 AWS CLI中的步驟,安裝最新版本的 AWS Command Line Interface (AWS CLI)。
安裝 eksctl
請依照安裝 kubectl 中的步驟安裝最新版本的 eksctl。如果為 Amazon EKS 叢集使用 Kubernetes 版本 1.22 或更新版本,請使用 eksctl 0.117.0 以後的版本。
Amazon EKS 叢集
建立 Amazon EKS 叢集。使用 Amazon EMR on EKS ,將叢集註冊為虛擬叢集。以下是此叢集的要求和考量事項。
-
叢集必須與 EMR Studio 處於相同的 Amazon Virtual Private Cloud (VPC)。
-
叢集必須擁有至少一個私有子網路,以啟動互動端點、連結 Git 型儲存庫以及以私有模式啟動 Application Load Balancer。
-
EMR Studio 和用於註冊虛擬叢集的 Amazon EKS 叢集之間必須至少有一個共同的私有子網路。這可確保互動端點在 Studio 工作區中顯示為選項,並啟用從 Studio 到 Application Load Balancer 的連線。
您可以選擇兩種方法來連接 Studio 和 Amazon EKS 叢集:
-
建立 Amazon EKS 叢集,並將其與屬於 EMR Studio 的子網路產生關聯。
-
或者,建立 EMR Studio,並為 Amazon EKS 叢集指定私有子網路。
-
-
Amazon EMR on EKS 互動端點不支援 Amazon EKS 優化的 ARM Amazon Linux AMI。
-
互動式端點可與使用 Kubernetes 版本高達 1.30 的 Amazon EKS 叢集搭配使用。
-
僅支援 Amazon EKS 受管節點群組。
為 Amazon EMR on EKS 授予叢集存取權
使用為 Amazon EMR on EKS 授予叢集存取權中的步驟,將 Amazon EMR on EKS 存取權授予給叢集中的特定命名空間。
在 Amazon EKS 叢集上啟用 IRSA
若要在 Amazon EKS 叢集上啟用服務帳戶的 IAM 角色 (IRSA),請按照啟用服務帳戶的 IAM 角色 (IRSA) 中的步驟進行操作。
建立 IAM 作業執行角色
必須建立 IAM 角色,才能在 Amazon EMR on EKS 互動端點上執行工作負載。在本文件中,我們將 IAM 角色稱為作業執行角色。此 IAM 角色會同時指派給互動端點容器和您使用 EMR Studio 提交作業時所建立的實際執行容器。您將需要 Amazon EMR on EKS 之作業執行角色的 Amazon Resource Name (ARN)。這需要兩個步驟:
授予使用者對 Amazon EMR on EKS 的存取權
提出建立互動端點請求的 IAM 實體 (使用者或角色) 也必須擁有下列 Amazon EC2 和 emr-containers
許可。請遵循 授予使用者對 Amazon EMR on EKS 的存取權 中描述的步驟,授予這些許可,以允許 Amazon 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"
向 Amazon EMR 註冊 Amazon EKS 叢集
設定虛擬叢集,並將其映射至 Amazon EKS 叢集中您要執行作業的命名空間。僅限 AWS Fargate叢集,請針對 Amazon EMR on EKS 虛擬叢集和 Fargate 設定檔使用相同的命名空間。
如需有關設定 Amazon EMR on EKS 虛擬叢集的資訊,請參閱 向 Amazon EMR 註冊 Amazon EKS 叢集。
將 Deploy AWS Load Balancer 控制器部署至 Amazon EKS 叢集
Amazon EKS 叢集需要 An AWS Application Load Balancer。只需為每個 Amazon EKS 叢集設定一個 Application Load Balancer 控制器。如需有關設定 AWS Application Load Balancer控制器的資訊,請參閱《Amazon EKS 使用者指南》中的安裝 AWS Load Balancer控制器附加元件。