本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 EMR上設定 Amazon 的垂直自動擴展 EKS
本主題可協助您讓 Amazon EKS叢集準備好使用垂直自動擴展來提交 Amazon EMR Spark 任務。設定程序會要求您確認或完成下列各章節中的任務:
必要條件
在叢集上安裝可垂直自動擴展的 Kubernetes Operator 之前,請先完成下列任務。如果已經完成任何先決條件,則可以跳過這些先決條件,然後繼續進行下一個。
-
安裝或更新至最新版本的 AWS CLI- 如果您已安裝 AWS CLI,請確認您擁有最新版本。
-
安裝 kubectl – kubectl 是用來與 Kubernetes API 伺服器通訊的命令列工具。您需要 kubectl 才能在 Amazon EKS叢集上安裝和監控垂直自動擴展相關的成品。
-
在叢集上安裝的垂直自動擴展運算子SDK
生命週期內,安裝運算子 – Amazon EMR on EKS會使用運算子SDK作為套件管理員。 -
安裝 Docker
– 您需要存取 Docker CLI 才能驗證和擷取垂直自動擴展相關的 Docker 映像,才能安裝在 Amazon EKS叢集上。 -
安裝 Kubernetes 指標伺服器 – 您必須先安裝指標伺服器,以便垂直 Pod 自動擴展器可以從 Kubernetes API 伺服器擷取指標。
-
Amazon EKS – eksctl (1.24 版或更新版本) 入門 – Amazon 1.24 版及更新EKS版本支援垂直自動擴展。建立叢集後,請註冊以搭配 Amazon 使用EMR。
-
選取 Amazon EMR基本映像 URI (6.10.0 版或更新版本) – Amazon 6.10.0 版及更新EMR版本支援垂直自動擴展。
在 Amazon EKS叢集上安裝 Operator Lifecycle Manager (OLM)
使用運算子SDKCLI,在您要設定垂直自動擴展的EKS叢集上的 Amazon EMR 上安裝運算子生命週期管理器 (OLM),如下列範例所示。設定後,您可以使用 OLM 安裝和管理 Amazon EMR垂直自動擴展運算子 的生命週期。
operator-sdk olm install
若要驗證安裝,請執行 olm status
命令:
operator-sdk olm status
請確認命令傳回成功結果,與以下範例輸出類似:
INFO[0007] Successfully got OLM status for version X.XX
如果安裝未成功,請參閱 在EKS垂直自動擴展EMR上對 Amazon 進行故障診斷。
在EKS垂直自動擴展運算子EMR上安裝 Amazon
使用下列步驟在您的 Amazon EKS叢集上安裝垂直自動擴展運算子:
-
設定下列將用於完成安裝的環境變數:
-
$REGION
指向叢集的 AWS 區域 。例如:us-west-2
。 -
$ACCOUNT_ID
會指向您區域的 Amazon ECR帳戶 ID。如需詳細資訊,請參閱依區域劃分的 Amazon ECR登錄帳戶。 -
$RELEASE
會指向您要用於叢集的 Amazon EMR版本。對於垂直自動擴展,您必須使用 Amazon 6EMR.10.0 版或更新版本。
-
-
接下來,取得運算子的 Amazon ECR登錄檔身分驗證權杖。
aws ecr get-login-password \ --region
region-id
| docker login \ --username AWS \ --password-stdin $ACCOUNT_ID.dkr.ecr.region-id
.amazonaws.com -
使用下列命令在EKS垂直自動擴展運算子EMR上安裝 Amazon:
ECR_URL=$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com && \ REPO_DEST=dynamic-sizing-k8s-operator-olm-bundle && \ BUNDLE_IMG=emr-$RELEASE-dynamic-sizing-k8s-operator && \ operator-sdk run bundle \ $ECR_URL/$REPO_DEST/$BUNDLE_IMG\:latest
這將在 Amazon EKS叢集的預設命名空間中建立垂直自動擴展運算子的版本。使用此命令在不同的命名空間中安裝:
operator-sdk run bundle \ $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com/dynamic-sizing-k8s-operator-olm-bundle/emr-$RELEASE-dynamic-sizing-k8s-operator:latest \ -n
operator-namespace
注意
如果您指定的命名空間不存在, OLM將不會安裝運算子。如需詳細資訊,請參閱找不到 Kubernetes 命名空間。
-
確認已使用 kubectl Kubernetes 命令列工具成功安裝 Operator。
kubectl get csv -n
operator-namespace
kubectl
命令應傳回新部署的垂直自動擴展器 Operator,其階段狀態為已成功。如果遇到安裝或設定問題,請參閱 在EKS垂直自動擴展EMR上對 Amazon 進行故障診斷。