

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

# Amazon EKS 计算环境
<a name="eks"></a>

[亚马逊 EK AWS Batch S 入门](getting-started-eks.md)提供了创建 EKS 计算环境的简短指南。本节提供了有关 Amazon EKS 计算环境的更多详细信息。

![\[AWS Batch workflow diagram showing integration with Amazon EKS, ECS, Fargate, and EC2.\]](http://docs.aws.amazon.com/zh_cn/batch/latest/userguide/images/batch-on-eks.png)


AWS Batch 通过提供托管批处理功能，简化您在 Amazon EKS 集群上的批处理工作负载。这包括队列、依赖关系跟踪、托管作业重试次数和优先级、Pod 管理和节点扩展。 AWS Batch 可以处理多个可用区和多个 Amazon EC2 实例类型和大小。 AWS Batch 集成了多个 Amazon EC2 Spot 最佳实践，以容错方式运行您的工作负载，从而减少中断。您可以使用 AWS Batch 来放心地运行少量夜间作业或数百万个关键任务作业。

![\[AWS Batch workflow on Amazon EKS, showing job queue, compute environment, and EC2 instances.\]](http://docs.aws.amazon.com/zh_cn/batch/latest/userguide/images/batch-on-eks-detail.png)


AWS Batch 是一项托管服务，用于协调Kubernetes集群中的批量工作负载，这些工作负载由亚马逊 Elastic Kubernetes Service (Amazon EKS) 管理。 AWS Batch 使用 “叠加” 模型在集群外部进行这种编排。由于 AWS Batch 是托管服务，因此无需在集群中安装或管理任何Kubernetes组件（例如，操作员或自定义资源）。 AWS Batch 只需要将您的集群配置为允许 AWS Batch 与 API 服务器通信的基于角色的访问控制 (RBAC)。Kubernetes AWS Batch 调Kubernetes APIs 用创建、监控和删除 Kubernetes Pod 和节点。

AWS Batch 具有内置的扩展逻辑，可根据任务队列负载扩展Kubernetes节点，并在作业容量分配方面进行了优化。当任务队列为空时，将节点 AWS Batch 缩小到您设置的最小容量，默认情况下为零。 AWS Batch 管理这些节点的整个生命周期，并用标签和污点装饰节点。这样，其他Kubernetes工作负载就不会放在由管理的节点上 AWS Batch。唯一的例外是`DaemonSets`，它可以将 AWS Batch 节点作为目标，以提供正确执行作业所需的监控和其他功能。此外， AWS Batch 不会在集群中它不管理的节点上运行作业，特别是 pod。这样，您就可以为集群上的其他应用程序使用单独的扩展逻辑和服务。

要向提交作业 AWS Batch，您可以直接与 AWS Batch API 进行交互。 AWS Batch 将任务转换为 Amazon EKS 集群中由管理的节点，`podspecs`然后创建请求以将 Pod 放置在 Amazon EKS 集群 AWS Batch 中由管理的节点上。您可以使用诸如 `kubectl` 之类的工具查看正在运行的容器组（pod）和节点。当 Pod 完成执行后， AWS Batch 会删除其创建的 Pod，以保持较低的Kubernetes系统负载。

您可以先将有效的 Amazon EKS 集群与连接起来 AWS Batch。然后将 AWS Batch 任务队列附加到该队列，并使用`podspec`等效属性注册 Amazon EKS 任务定义。最后，使用引用作业定义的 [SubmitJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html)API 操作提交作业。有关更多信息，请参阅 [亚马逊 EK AWS Batch S 入门](getting-started-eks.md)。

AWS Batch 在 Amazon 上，EKS 支持 Amazon EC2 实例（按需实例和竞价实例）作为计算资源。要将 Fargate 与 Fargate 配合使用 AWS Batch，请改用 Amazon ECS 计算环境。有关更多信息，请参阅 [Fargate 计算环境](fargate.md)。

## Amazon EKS
<a name="compute-environments-eks"></a>

**Topics**
+ [Amazon EKS](#compute-environments-eks)
+ [Amazon EKS 默认 AMI](eks-ce-ami-selection.md)
+ [混合 AMI 环境](mixed-ami-environments.md)
+ [支持的Kubernetes版本](supported_kubernetes_version.md)
+ [更新计算环境的 Kubernetes 版本](updating-k8s-version-ce.md)
+ [Kubernetes节点的共同责任](eks-ce-shared-responsibility.md)
+ [DaemonSet在 AWS Batch 托管节点上运行](daemonset-on-batch-eks-nodes.md)
+ [自定义 Amazon EKS 启动模板](eks-launch-templates.md)
+ [如何从 EKS 升级 AL2 到 EKS AL2023](eks-migration-2023.md)