

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

# 教程：使用 Amazon EKS 资源创建托管计算环境
<a name="create-compute-environment-managed-eks"></a>

完成以下步骤，以使用 Amazon Elastic Kubernetes Service（Amazon EKS）资源创建托管式计算环境。

1. 打开 Amazon Batch 控制台，网址为[https://console.aws.amazon.com/batch/](https://console.amazonaws.cn/batch/)。

1. 在导航栏中，选择 Amazon Web Services 区域 要使用的。

1. 在导航窗格中，选择**计算环境**。

1. 选择**创建**。

1. 对于**计算环境的配置**，选择 **Amazon Elastic Kubernetes Service (Amazon EKS)**。

1. 对于**名称**，为计算环境指定唯一名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符（-）和下划线（\_）。

1. 对于 **实例角色**，请选择使用附加了所需 IAM 权限的现有实例配置文件。
**注意**  
要在 Amazon Batch 控制台中创建计算环境，请选择具有`eks:ListClusters`和`eks:DescribeCluster`权限的实例配置文件。

1. 对于 **EKS 集群**，选择现有的 Amazon EKS 集群。

1. 在**命名空间**中，输入 Kubernetes 命名空间以对集群中的 Amazon Batch 进程进行分组。

1. （可选）展开**标签**。选择**添加标签**，然后输入键值对。

1. 选择**下一页**。

1. （可选）对于**使用 EC2 竞价型实例**，请开启**使用竞价型实例启用**以使用 Amazon EC2 竞价型实例。

1. （仅**限竞价）对于按需价格**的最大百分比，请选择竞价型实例价格与实例启动前该实例类型的 On-Demand 价格相比的最大百分比。例如，如果您的最高价格为 20%，则竞价价格必须低于该 EC2 实例当前 On-Demand 价格的 20%。您始终支付最低 (市场) 价格，并且绝不会高于您的最大百分比。如果您将此字段留空，则默认值为 On-Demand价格的 100%。

1. （仅限竞价型）对于**竞价型实例集角色**，请为 `SPOT` 计算环境选择 Amazon EC2 竞价型实例集 IAM 角色。
**重要**  
如果将分配策略设置为 `BEST_FIT` 或者未指定时，需要使用该角色。

1. （可选）对于**最小 vCPU 数**，选择您的计算环境应保留的 vCPU 的最小数目，而无论作业队列需求如何。

1. （可选）对于**最大 vCPU 数**，选择您的计算环境可以横向扩展到的 vCPU 的最大数目，而无论作业队列需求如何。

1. （可选）对于**缩减延迟（分钟）**，请选择任务完成后实例在计算环境中 Amazon Batch 保持运行的最短时间（以分钟为单位）。

1. 对于**允许的实例类型**，选择可启动的 Amazon EC2 实例类型。您可以指定实例系列以在这些系列中启动任何实例类型（例如，`c5`、`c5n` 或 `p3`），或者，您可以指定系列中的特定大小（例如 `c5.8xlarge`）。Metal 实例类型不在实例系列中。例如，`c5` 不包括 `c5.metal`。

   Amazon Batch 如果您选择以下选项之一，则可以为您选择实例类型：
   + `optimal`根据区域可用性从现代 m、c 和 r 实例系列中选择实例类型。 Amazon Batch 定期用这些家族中的新一代更新资源池。
   + `default_x86_64` 会选择符合作业队列的资源需求的基于 x86 的实例类型（从 m6i、c6i、r6i 和 c7i 实例系列中选择）。
   + `default_arm64`选择与任务队列的资源需求相匹配的 Arm-based c7g实例类型（从m6gc6gr6g、、和实例系列中）。
**注意**  
实例系列的可用性因 Amazon Web Services 区域而异。例如，有些 Amazon Web Services 区域可能没有任何第四代实例家族，但有第五代和第六代实例家族。
使用`default_x86_64`或`default_arm64`实例捆绑包时，应根据成本效益和性能的平衡来 Amazon Batch 选择实例系列。虽然新一代实例通常具有更好的性价比，但如果较早一代的实例系列为您的工作负载提供了可用性、成本和性能的最佳组合，则 Amazon Batch 可以选择前一代的实例系列。例如，在 c6i 和 c7i 实例均可用的 Amazon Web Services 区域 情况下，如果 c6i 实例可以更好地满足您的特定任务要求，则 Amazon Batch 可以选择 c6i 实例。有关 Amazon Batch 实例类型和 Amazon Web Services 区域 可用性的更多信息，请参阅[实例类型计算表](instance-type-compute-table.md)。
Amazon Batch 定期将默认捆绑包中的实例更新为更新、更具成本效益的选项。这些更新会自动完成，无需您执行任何操作。您的工作负载会在更新期间继续运行，不会出现中断 
**注意**  
在创建一个计算环境时，为该计算环境选择的实例类型必须共享同一架构。例如，您不能在同一个计算环境中混用 x86 和 ARM 实例。
**注意**  
Amazon Batch 将根据任务队列中所需的数量扩展 GPU。要使用 GPU 调度功能，计算环境包含的实例类型必须为 `p6`, `p3`, `p4`, `p5`, `g3`, `g3s`, `g4`、`g5` 或 `g6` 系列。

1. （可选）展开**其他配置**。

   1. （可选）对于**置放群组**，输入置放群组名称以对计算环境中的资源进行分组。

   1. 对于**分配策略**，选择 **BEST\_FIT\_PROGRESSIVE**。

   1. （可选）对于**亚马逊机器映像（AMI）配置**，请选择**添加亚马逊机器映像（AMI）配置**。

      您可以使用亚马逊 EKS-optimized 亚马逊 Linux AMI 或自定义 AMI。

      1. 要使用[ EKS-optimized 亚马逊 Linux AMI](https://docs.amazonaws.cn/eks/latest/userguide/eks-optimized-ami.html)，请执行以下操作：

         1. 对于**映像类型**，请选择下列选项之一：
            + [Amazon Linux 2](https://docs.amazonaws.cn/eks/latest/userguide/eks-optimized-ami.html)：所有 Amazon Graviton-based 实例系列（例如`C6g`、`M6g``R6g`、和`T4g`）的默认值，可用于所有非 GPU 实例类型。
            + [Amazon Linux 2（加速）](https://docs.amazonaws.cn/eks/latest/userguide/eks-optimized-ami.html)：所有 GPU 实例系列（例如`P4`和`G4`）的默认设置，并且可用于所有非 Amazon Graviton-based实例类型。
            + [亚马逊 Linux 2023](https://docs.amazonaws.cn/eks/latest/userguide/eks-optimized-ami.html)： Amazon Batch 支持亚马逊 Linux 2023 (AL2023)。AL2023
            + [亚马逊 Linux 2023（加速）](https://docs.amazonaws.cn/eks/latest/userguide/eks-optimized-ami.html)：GPU 实例系列，可用于所有非 Amazon Graviton-based 实例类型。

         1. 对于 **Kubernetes 版本**，输入一个 [Kubernetes 版本号](supported_kubernetes_version.md)。

      1. 使用自定义 AMI：

         1. 对于**映像类型**，选择自定义 AMI 所基于的 AMI 类型：
            + [Amazon Linux 2](https://docs.amazonaws.cn/eks/latest/userguide/eks-optimized-ami.html)：所有 Amazon Graviton-based 实例系列（例如`C6g`、`M6g``R6g`、和`T4g`）的默认值，可用于所有非 GPU 实例类型。
            + [Amazon Linux 2（加速）](https://docs.amazonaws.cn/eks/latest/userguide/eks-optimized-ami.html)：所有 GPU 实例系列（例如`P4`和`G4`）的默认设置，并且可用于所有非 Amazon Graviton-based实例类型。
            + [亚马逊 Linux 2023](https://docs.amazonaws.cn/eks/latest/userguide/eks-optimized-ami.html)： Amazon Batch 支持 AL2023。AL2023
            + [亚马逊 Linux 2023（加速）](https://docs.amazonaws.cn/eks/latest/userguide/eks-optimized-ami.html)：GPU 实例系列，可用于所有非 Amazon Graviton-based 实例类型。

         1. 对于**映像 ID 覆盖**，输入自定义 AMI ID。

         1. 对于 **Kubernetes 版本**，输入一个 [Kubernetes 版本号](supported_kubernetes_version.md)。

   1. （可选）对于**启动模板**，选择一个现有的[启动模板](eks-launch-templates.md)。

   1. （可选）对于**启动模板版本**，输入 **$Default**、**$Latest** 或版本号码。

   1. （可选）对于**覆盖启动模板**，选择**添加覆盖启动模板**以添加覆盖：

      1. （可选）对于**启动模板**，选择要添加该覆盖的启动模板。

      1. （可选）对于**启动模板版本**，选择启动模板的版本号、`$Default` 或 `$Latest`。

      1. （可选）对于**目标实例类型**，选择将应用此覆盖的实例类型或系列。这只能是**允许的实例类型**中包含的实例类型和系列。

      1. （可选）对于 **userdataType**，选择 EKS 节点初始化。只有在启动模板中指定了 AMI 或将其作为启动模板覆盖时，才使用此字段。对于基于 `EKS_AL2023` 或 `EKS_AL2023_NVIDIA` 的自定义 AMI，请选择 **EKS\_NODEADM**；对于 `EKS_AL2` 和 `EKS_AL_NVIDIA`，请选择 **EKS\_BOOSTRAP\_SH**。默认值为 **EKS\_BOOSTRAP\_SH**。

         当你有一个[混合环境，在同一个计算环境](mixed-ami-environments.md)中同时使用 AL2 和 AL2023-based 自定义 AMI 时，你可以使用 **userDataTyp** e。

1. 选择**下一页**。

1. 对于**虚拟私有云（VPC）ID**，选择要启动实例的 VPC。

1. 对于**子网**，选择要使用的子网。默认情况下，选定的 VPC 中的所有子网都可用。
**注意**  
Amazon Batch 在亚马逊上，EKS 支持 Local Zones。有关更多信息，请参阅《[亚马逊 EKS 用户指南》中的 Amazon EKS 和 L Amazon ocal](https://docs.amazonaws.cn/eks/latest/userguide/local-zones.html) *Zones*。

1. （可选）对于**安全组**，选择要附加到实例的安全组。默认情况下，将选择您的 VPC 的默认安全组。

1. 选择**下一页**。

1. 对于**查看**，请查看配置步骤。如果需要进行更改，请选择 **Edit**（编辑）。完成后，选择**创建计算环境**。