本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon EMR 上设置垂直自动缩放 EKS
本主题可帮助您准备好使用垂直自动扩展功能提交 Amazon EMR Spark 任务。EKS设置过程要求您确认或完成以下各节中的任务:
先决条件
在集群上安装垂直自动扩展 Kubernetes Operator 之前,请完成以下任务。跳过已完成的先决条件,转到下一个先决条件。
-
安装或更新到最新版本的 AWS CLI — 如果您已经安装了 AWS CLI,请确认您安装的是最新版本。
-
安装 kubectl — kubectl 是一个命令行工具,你可以用来与 Kubernetes 服务器进行通信。API你需要 kubectl 在你的 Amazon 集群上安装和监控与垂直自动扩展相关的项目。EKS
-
安装操作员 SDK
— Amazon EMR 上EKS使用操作员SDK作为您在集群上安装的垂直自动扩展操作员的生命周期中的包管理器。 -
安装 Docker
— 您需要访问 Docker CLI 才能进行身份验证并获取与垂直自动扩展相关的 Docker 镜像以安装在您的亚马逊集群上。EKS -
安装 Kubernetes 指标服务器 — 必须先安装指标服务器,这样垂直容器自动扩缩器才能从 Kubernetes 服务器获取指标。API
-
开始使用亚马逊 EKS — eksctl(版本 1.24 或更高版本)— 亚马逊 1.24 及更高EKS版本支持垂直自动扩展。创建集群后,请将其注册以在 Amazon 中使用EMR。
-
选择亚马逊EMR基础映像 URI(6.10.0 或更高版本)— 亚马逊 6.10.0 及更高版本支持垂直自动缩EMR放。
在您的 Amazon EKS 集群上安装操作员生命周期管理器 (OLM)
使用操作员在SDKCLI要设置垂直自动扩展的 Amazon EKS 集群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
如果安装失败,请参阅 对 Amazon EMR on EKS 垂直自动扩展进行问题排查。
在EKS垂直自动缩放EMR操作上安装 Amazon
使用以下步骤在您的 Amazon EKS 集群上安装垂直自动扩展运算符:
-
设置以下要用来完成安装的环境变量:
-
$REGION
指向集群的 AWS 区域 。例如,us-west-2
。 -
$ACCOUNT_ID
指向您所在地区的亚马逊ECR账户 ID。有关更多信息,请参阅 按地区划分的亚马逊ECR注册账户。 -
$RELEASE
指向您要用于集群的 Amazon EMR 版本。对于垂直自动扩展,您必须使用 Amazon 6.10.0 或更高EMR版本。
-
-
接下来,为操作员获取到 Amazon ECR 注册表的身份验证令牌。
aws ecr get-login-password \ --region
region-id
| docker login \ --username AWS \ --password-stdin $ACCOUNT_ID.dkr.ecr.region-id
.amazonaws.com -
使用以下命令安装 Amaz EMR on 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
命令应返回新部署的垂直 Autoscaler Operator,且阶段状态为成功。如在安装或设置时遇到问题,请参阅 对 Amazon EMR on EKS 垂直自动扩展进行问题排查。