

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

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

完成以下步骤，使用亚马逊 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. 配置环境。

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

   1. 对于**编排类型**，请选择**非托管**。

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

1. 对于 **EKS 集群**，选择现有的 Amazon EKS 集群。要创建新的 EKS 集群，请按照[创建 Amazon EKS 集群页面](https://docs.amazonaws.cn/eks/latest/userguide/create-cluster.html)上的步骤进行操作。
**注意**  
Amazon Batch 目前不在 [Amazon EKS 自动模式](https://docs.amazonaws.cn/eks/latest/userguide/automode.html)工作节点上运行作业 — 非托管 Amazon Batch的 Amazon EKS 计算环境需要带有客户标签的永久节点，而自动模式则根据待处理的 pod 压力通过 Karpenter 动态配置节点。  
非托管的 Amazon EKS 计算环境可以与为其他工作负载启用自动模式的 Amazon EKS 集群共存，前提是该 Amazon Batch 计算环境指向不由自动模式管理的专用节点组。自动模式将继续独立管理非Amazon Batch 工作负载，而不会干扰 Amazon Batch 节点组。

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

1. （可选）对于**最大 vCPU**，请指定预配置容量中可用于作业调度的 vCPU 的最大数量。

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

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

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

**将 Amazon EKS 集群节点分配给非托管计算环境**  
创建非托管计算环境后，您需要使用计算环境 UUID 标记您的 Amazon EKS 节点。  
首先，从 `DescribeComputeEnvironments` API 结果中获取计算环境 UUID：  

```
$ aws batch describe-compute-environments \
    --compute-environments {{unmanagedEksCE}} \
    --query "computeEnvironments[].{name: computeEnvironmentName, uuid: uuid}"
```
获取节点信息：  

```
kubectl get nodes -o name
```
使用 Amazon Batch 计算环境 UUID 标记节点：  

```
kubectl label {{<node-name>}} batch.amazonaws.com/compute-environment-uuid={{uuid}}
```