設定 Amazon EMR on EKS 的垂直自動擴展 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 Amazon EMR on EKS 的垂直自動擴展

本主題可協助您讓 Amazon EKS 叢集準備好提交具有垂直自動擴展功能的 Amazon EMR Spark 作業。設定程序會要求您確認或完成下列各章節中的任務:

必要條件

在叢集上安裝可垂直自動擴展的 Kubernetes Operator 之前,請先完成下列任務。如果已經完成任何先決條件,則可以跳過這些先決條件,然後繼續進行下一個。

在 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 叢集上安裝垂直自動擴展運算子:

  1. 設定下列將用於完成安裝的環境變數:

    • $REGION 指向叢集的 AWS 區域。例如 us-west-2

    • $ACCOUNT_ID 指向您所在區域的 Amazon ECR 帳戶 ID。如需詳細資訊,請參閱 Amazon ECR 註冊表帳戶按區域

    • $RELEASE 指向要用於叢集的 Amazon EMR 版本。對於垂直自動擴展,必須使用 Amazon EMR 6.10.0 或更高版本。

  2. 接下來,取得運算子的 Amazon ECR 登錄檔驗證字符。

    aws ecr get-login-password \ --region region-id | docker login \ --username AWS \ --password-stdin $ACCOUNT_ID.dkr.ecr.region-id.amazonaws.com
  3. 使用下列命令安裝 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 命名空間

  4. 確認已使用 kubectl Kubernetes 命令列工具成功安裝 Operator。

    kubectl get csv -n operator-namespace

    kubectl 命令應傳回新部署的垂直自動擴展器 Operator,其階段狀態為已成功。如果遇到安裝或設定問題,請參閱 對 Amazon EMR on EKS 垂直自動擴展進行疑難排解