本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:在 Amazon EKS 资源上创建单节点任务定义
完成以下步骤,在亚马逊 Elastic Kubernetes Service(亚马逊)上创建单节点任务定义。EKS
要在 Amazon EKS 资源上创建新的任务定义,请执行以下操作:
-
打开 AWS Batch 控制台,网址为https://console.aws.amazon.com/batch/
。 -
从顶部导航栏中,选择 AWS 区域 要使用的。
-
在左侧导航窗格中,选择作业定义。
-
选择创建。
-
对于编排类型,请选择 Elastic Kubernetes 服务 ()。EKS
-
对于名称,为您的作业定义输入唯一名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符(-)和下划线(_)。
-
(可选)对于执行超时,输入超时值(以秒为单位)。执行超时是指未完成的作业终止之前的时间长度。如果某次尝试超过了超时时间,该尝试将停止,状态将转为
FAILED
。有关更多信息,请参阅 作业超时。最小值为 60 秒。 -
(可选)开启计划优先级。输入介于 0 到 100 之间的计划优先级值。值越高,相较于较低值的优先级越高。
-
(可选)展开 标签,然后选择添加标签以向资源添加标签。
-
选择下一页。
-
在 EKS pod 属性部分:
-
在服务帐户名称中,输入一个帐户,该帐户为在中运行的进程提供身份 pod.
-
打开主机网络以使用 Kubernetes pod 网络模型并为传入的连接打开侦听端口。仅对传出通信关闭此设置。
-
对于DNS策略,请选择以下选项之一:
-
无值 (空) — pod 忽略来自的DNS设置 Kubernetes 环境。
-
默认- pod 从其运行的节点继承名称解析配置。
注意
如果未指定DNS策略,则默认策略不是默认DNS策略。而是使用ClusterFirst了。
-
ClusterFirst— 任何与配置的集群域后缀不匹配的DNS查询都将转发到继承自该节点的上游域名服务器。
-
ClusterFirstWithHostNet— 如果主机网络已开启,则使用。
-
-
(可选)对于容器组(pod)标签,选择添加容器组(pod)标签,然后输入名称/值对。
重要
容器组(pod)标签的前缀不能包含
kubernetes.io/
、k8s.io/
或batch.amazonaws.com/
。 -
(可选)对于 Pod 注释,请选择添加注释,然后输入名称/值对。
重要
pod 注释的前缀不能包含
kubernetes.io/
k8s.io/
、或batch.amazonaws.com/
。 -
选择下一页。
-
在容器配置部分:
-
对于名称,输入容器的名称。该名称必须以字母或数字开头,并且最多可以包含 25 个字符。可以包含大小写字母、数字和连字符。
-
对于 “图像”,选择 Docker 用于工作的图片。默认情况下,Docker Hub 注册表中的映像可用。也可以使用
指定其他存储库。名称最多可以有 255 个字符。可以包含大小写字母、数字、连字符(-)、下划线(_)、冒号(:)、句点(.)、正斜杠(/)和数字符号(#)。此参数映射到repository-url
/image
:tag
Image
Docker Remote 的 “创建容器 ” 部分中API, IMAGE
参数为 docker run注意
Docker 映像架构必须与其计划使用的计算资源的处理器架构相匹配。例如,Arm 基于 Docker 图像只能在上面运行 Arm 基于计算资源。
-
Amazon ECR 公共存储库中的图像使用完整
registry/repository[:tag]
或registry/repository[@digest]
命名约定(例如public.ecr.aws/
)。registry_alias
/my-web-app
:latest
-
Amazon ECR 存储库中的图像使用完整的
registry/repository[:tag]
命名约定(例如aws_account_id
.dkr.ecr.region
.amazonaws.com/
)。my-web-app
:latest
-
官方存储库中的图片 Docker Hub 使用单个名称(例如,
ubuntu
或mongo
)。 -
其他存储库中的图片位于 Docker Hub 使用组织名称进行限定(例如,
amazon/amazon-ecs-agent
)。 -
其他在线存储库中的映像由域名 (例如,
quay.io/assemblyline/ubuntu
) 进行进一步限定。
-
-
(可选)对于映像提取策略,请选择何时提取映像。
-
(可选)在 “命令” 中,输入 Bash 或 JSON 命令传递给容器。
-
(可选)在参数中输入要传递给容器的参数。如果未提供参数,则使用容器映像命令。
-
-
(可选)您可以将参数作为名称值映射添加到作业定义中,以覆盖作业定义的默认值。若要添加参数:
-
在参数中,输入名称/值对,然后选择添加参数。
重要
如果选择添加参数,则必须至少配置一个参数或选择移除参数。
-
-
在环境配置部分:
-
对于 vCPUs,输入 vCPUs 要为集装箱预留的数量。此参数映射到
CpuShares
Docker Remote 的 “创建容器 ” 部分API, --cpu-shares
选项映射到docker run。每个 v 相当CPU于 1,024 CPU 股。必须至少指定一个 v CPU。 -
对于内存,输入容器可用的内存限制。如果您的容器尝试使用超出此处指定的内存,该容器将被终止。此参数映射到
Memory
Docker Remote 的 “创建容器 ” 部分API, --memory
选项映射到docker run。您必须为作业指定至少 4 MiB 内存。 注意
要最大限度地提高资源利用率,请为特定实例类型的作业确定内存优先级。有关更多信息,请参阅 计算资源内存管理。
-
-
(可选)对于环境变量,选择添加环境变量以名称-值对的形式添加环境变量。这些变量传递给容器。
-
(可选)对于卷装载:
-
选择添加卷装载。
-
输入名称,然后在装入卷的容器中输入装载路径。输入 a SubPath以指定被引用卷内的子路径,而不是其根路径。
-
选择只读可删除该卷的写入权限。
-
选择添加卷装载。
-
-
(可选)在以用户身份运行中,输入用户 ID 以运行容器进程。
注意
映像中必须存在用户 ID,容器才能运行。
-
(可选)在分组运行中,输入组 ID 以运行容器进程。
注意
映像中必须存在群组 ID,容器才能运行。
-
(可选)要为您的作业容器授予对主机实例的提升权限(类似于
root
用户),请选择 特权。此参数映射到Privileged
Docker Remote 的 “创建容器 ” 部分API, --privileged
选项映射到docker run。 -
(可选)打开只读根文件系统以删除对根文件系统的写入权限。
-
(可选)启用 “以非 root 用户身份运行” 以运行中的容器 pod 作为非 root 用户。
注意
如果开启了 “以非 root 用户身份运行”,kubelet 在运行时验证图像以验证图像是否未UID以 0 的形式运行。
-
选择下一页。
-
-
对于作业定义查看,请查看配置步骤。如果需要进行更改,请选择 Edit(编辑)。完成后,选择创建作业定义。