选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

自定义 Amazon EKS 启动模板

聚焦模式
自定义 Amazon EKS 启动模板 - AWS Batch

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS Batch 在 Amazon 上,EKS 支持启动模板。启动模板的功能受到限制。

重要

AWS Batch 运行/etc/eks/bootstrap.sh。不要/etc/eks/bootstrap.sh在你的启动模板中运行或 cloud-init user-data 脚本。除了 bootstrap.sh--kubelet-extra-args参数外,还可以添加其他参数。为此,请在AWS_BATCH_KUBELET_EXTRA_ARGS文件中设置/etc/aws-batch/batch.config变量。详情请参阅以下示例。

注意

如果在调用后CreateComputeEnvironment更改了启动模板,UpdateComputeEnvironment必须调用才能评估要替换的启动模板的版本。

添加 kubelet 额外参数

AWS Batch 支持在kubelet命令中添加额外的参数。有关支持的参数列表,请参见 kubelet 中的 Kubernetes 文档。在以下示例中,--node-labels mylabel=helloworld已添加到kubelet命令行中。

MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash mkdir -p /etc/aws-batch echo AWS_BATCH_KUBELET_EXTRA_ARGS=\"--node-labels mylabel=helloworld\" >> /etc/aws-batch/batch.config --==MYBOUNDARY==--

配置容器运行时系统

您可以使用 AWS Batch CONTAINER_RUNTIME环境变量在托管节点上配置容器运行时。以下示例将容器运行时系统设置为“bootstrap.sh运行时containerd”。有关更多信息,请参阅《》 中的 containerd。Kubernetes 文档

注意

CONTAINER_RUNTIME环境变量等同于bootstrap.sh--container-runtime选项。有关更多信息,请参阅 Options 中的 Kubernetes 文档

MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash mkdir -p /etc/aws-batch echo CONTAINER_RUNTIME=containerd >> /etc/aws-batch/batch.config --==MYBOUNDARY==--

挂载 Amazon EFS 卷

可以使用启动模板将卷装载到节点上。在以下示例中,使用了cloud-configpackagesruncmd设置。有关更多信息,请参阅中的 Cloud 配置示例 cloud-init 文档

MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" packages: - amazon-efs-utils runcmd: - file_system_id_01=fs-abcdef123 - efs_directory=/mnt/efs - mkdir -p ${efs_directory} - echo "${file_system_id_01}:/ ${efs_directory} efs _netdev,noresvport,tls,iam 0 0" >> /etc/fstab - mount -t efs -o tls ${file_system_id_01}:/ ${efs_directory} --==MYBOUNDARY==--

要在作业中使用此卷,必须将其添加到 eksPro perties 参数中。RegisterJobDefinition以下示例是作业定义的一大部分。

{ "jobDefinitionName": "MyJobOnEks_EFS", "type": "container", "eksProperties": { "podProperties": { "containers": [ { "image": "public.ecr.aws/amazonlinux/amazonlinux:2", "command": ["ls", "-la", "/efs"], "resources": { "limits": { "cpu": "1", "memory": "1024Mi" } }, "volumeMounts": [ { "name": "efs-volume", "mountPath": "/efs" } ] } ], "volumes": [ { "name": "efs-volume", "hostPath": { "path": "/mnt/efs" } } ] } } }

在节点中,Amazon EFS 卷装载在/mnt/efs目录中。在 Amazon EKS 作业的容器中,卷装载在 /efs 目录中。

IPv6 支持

AWS Batch 支持具有 IPv6 地址的 Amazon EKS 集群。无需自定义即可获得 AWS Batch 支持。但是,在开始之前,我们建议您查看 Amazon EKS 用户指南为容器和服务分配 IPv6 地址中概述的注意事项和条件。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。