本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Amazon EMR on EKS 的垂直自動擴展
本主題可協助您讓 Amazon EKS 叢集準備好提交具有垂直自動擴展功能的 Amazon EMR Spark 作業。設定程序會要求您確認或完成下列各章節中的任務:
必要條件
在叢集上安裝可垂直自動擴展的 Kubernetes Operator 之前,請先完成下列任務。如果已經完成任何先決條件,則可以跳過這些先決條件,然後繼續進行下一個。
-
安裝 AWS CLI — 如果已經安裝 AWS CLI,請確認擁有最新版本。
-
安裝 kubectl – kubectl 是一種命令列工具,可用來與 Kubernetes API 伺服器進行通訊。您需要 kubectl 才能在 Amazon EKS 叢集上安裝和監控垂直自動擴展相關成品。
-
安裝 Operator SDK
– Amazon EMR on EKS 使用 Operator SDK 作為您在叢集上安裝的垂直自動擴展運算子使用壽命的套件管理工具。 -
安裝 Docker
– 您需要存取 Docker CLI 來驗證和擷取要安裝在 Amazon EKS 叢集上的垂直自動擴展相關 Docker 映像檔。 -
安裝 Kubernetes 度量伺服器 — 您必須先安裝指標伺服器,以便垂直網繭自動配置器可以從 Kubernetes API 伺服器擷取指標。
-
設置 Amazon EKS 群集 (1.24 版或更高版本) – Amazon EKS 1.24 及更高版本支援垂直自動擴展。建立叢集後,請進行註冊以與 Amazon EMR 搭配使用。
-
選擇 Amazon EMR 基礎映像 URI (6.10.0 版或更高版本) - Amazon EMR 6.10.0 版及更高版本支援垂直自動擴展。
在 Amazon EKS 叢集上安裝 Operator Lifecycle Manager (OLM)
使用 Operator SDK CLI 在想要設定垂直自動擴展的 Amazon EMR on EKS 叢集上安裝 Operator Lifecycle Manager (OLM),如下列範例所示。設定完成後,可以使用 OLM 來安裝和管理 Amazon EMR 垂直自動擴展運算子的生命週期。
operator-sdk olm install
若要驗證安裝,請執行 olm status
命令:
operator-sdk olm status
請確認命令傳回成功結果,與以下範例輸出類似:
INFO[0007] Successfully got OLM status for version X.XX
如果安裝未成功,請參閱 對 Amazon EMR on EKS 垂直自動擴展進行疑難排解。
安裝 Amazon EMR on EKS 垂直自動擴展運算子
使用下列步驟在 Amazon EKS 叢集上安裝垂直自動擴展運算子:
-
設定下列將用於完成安裝的環境變數:
-
$REGION
指向叢集的 AWS 區域。例如us-west-2
。 -
$ACCOUNT_ID
指向您所在區域的 Amazon ECR 帳戶 ID。如需詳細資訊,請參閱 Amazon ECR 註冊表帳戶按區域。 -
$RELEASE
指向要用於叢集的 Amazon EMR 版本。對於垂直自動擴展,必須使用 Amazon EMR 6.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 -
使用下列命令安裝 Amazon EMR on EKS 垂直自動擴展運算子:
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,其階段狀態為已成功。如果遇到安裝或設定問題,請參閱 對 Amazon EMR on EKS 垂直自動擴展進行疑難排解。