为 GPU 实例使用 EKS 优化版加速 AMI - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

帮助改进此页面

要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。

为 GPU 实例使用 EKS 优化版加速 AMI

Amazon EKS 支持适用于 GPU 实例的 EKS 优化版 Amazon Linux 和 Bottlerocket AMI。EKS 优化版加速 AMI 通过为加速的 Kubernetes 堆栈提供预先构建、经过验证的操作系统映像,简化了 EKS 集群中人工智能和机器学习工作负载的运行。除了标准 EKS 优化版 AMI 中包含的 Kubernetes 核心组件外,EKS 优化版加速 AMI 还包括运行 NVIDIA GPU GP EC2 实例以及 EKS 集群中的 Amazon GPU InferentiaTrainium EC2 实例所需的内核模块和驱动程序。

下表显示了每个 EKS 优化版加速 AMI 变体支持的 GPU 实例类型。有关 AMI 变体的最新更新,请在 GitHub 上查看 EKS 优化版 AL2023 版本Bottlerocket 版本

EKS AMI 变体 EC2 实例类型

AL2023 x86_64 NVIDIA

p6-b300、p6-b200、p5、p5e、p5en、p4d、p4de、p3、p3dn、gr6、g6、g6e、g6f、gr6f、g5、g4dn

AL2023 ARM NVIDIA

p6e-gb200、g5g

AL2023 x86_64 Neuron

inf1、inf2、trn1、trn2

Bottlerocket x86_64 aws-k8s-nvidia

p6-b300、p6-b200、p5、p5e、p5en、p4d、p4de、p3、p3dn、gr6、g6、g6e、g6f、gr6f、g5、g4dn

Bottlerocket aarch64/arm64 aws-k8s-nvidia

G5g

Bottlerocket x86_64 aws-k8s

inf1、inf2、trn1、trn2

EKS 优化版 NVIDIA AMI

使用 Amazon EKS 优化版 NVIDIA AMI,即表明您同意 NVIDIA 云最终用户许可协议(EULA)

要查找最新的 EKS 优化版 NVIDIA AMI,请参阅检索建议的 Amazon Linux AMI ID检索建议的 Bottlerocket AMI ID

将 Amazon Elastic Fabric Adaptor(EFA)与 EKS 优化版 AL2023 或 Bottlerocket NVIDIA AMI 搭配使用时,必须单独安装 EFA 设备插件。有关更多信息,请参阅 使用 Elastic Fabric Adapter 在 Amazon EKS 上运行机器学习训练

EKS AL2023 NVIDIA AMI

NVIDIA GPU 操作器与 EKS 优化版 AL2023 NVIDIA AMI 搭配使用时,必须禁用驱动程序和工具包的操作器安装功能,因为这些驱动程序和工具包已包含在 EKS AMI 中。EKS 优化版 AL2023 NVIDIA AMI 不包括 NVIDIA Kubernetes 设备插件或 NVIDIA DRA 驱动程序,这些插件和驱动程序必须单独安装。有关更多信息,请参阅 安装 NVIDIA Kubernetes 设备插件

除标准 EKS AMI 组件外,EKS 优化版 AL2023 NVIDIA 还包含下列组件。

  • NVIDIA 驱动程序

  • NVIDIA CUDA 用户模式驱动程序

  • Nvidia 容器工具包

  • NVIDIA Fabric Manager

  • NVIDIA 持久化守护进程

  • NVIDIA IMEX 驱动程序

  • NVIDIA NVLink Subnet Manager

  • 最小 EFA(内核模块和 rdma-core)

有关 NVIDIA CUDA 用户模式驱动程序和应用程序容器中使用的 CUDA 运行时/库的详细信息,请参阅 NVIDIA 文档nvidia-smi 显示的 CUDA 版本是安装在主机上的 NVIDIA CUDA 用户模式驱动程序的版本,该驱动程序必须与应用程序容器中使用的 CUDA 运行时/库兼容。

EKS 优化版 AL2023 NVIDIA AMI 支持适用于 Kubernetes 版本 1.33 及更高版本的内核 6.12,以及适用于所有 Kubernetes 版本的 NVIDIA 驱动程序 580 版。需要 NVIDIA 580 驱动程序才能使用 CUDA 13+。

有关 AMI 中包含的组件版本的详细信息,请参阅 GitHub 上的 EKS 优化版 AL2023 版本。有关 EKS AMI 如何配置 NVIDIA 依赖项的详细信息,请参阅 EKS AL2023 NVIDIA AMI 安装脚本内核加载脚本。您可以使用 dnf list installed 命令在正在运行的 EC2 实例上找到已安装的软件包及其版本的列表。

以 EKS 优化版 AMI 为基础构建自定义 AMI 时,不建议且不提供技术支持运行操作系统升级(即 dnf upgrade),亦不建议升级 EKS 优化版 AMI 中预装的任何 Kubernetes 或 GPU 相关软件包,因为此类操作可能破坏组件间的兼容性。若仍选择对 EKS 优化版 AMI 中的操作系统或软件包执行升级操作,建议先在开发或预发布环境中开展全面测试,再部署至生产环境。

针对 GPU 实例构建自定义 AMI 时,建议为计划运行的各代实例类型及实例系列分别构建独立的自定义 AMI。EKS 优化版加速型 AMI 会在运行时阶段,根据底层实例的代次与系列选择性安装驱动程序及软件包。有关安装运行时的详细信息,请参阅 EKS AMI 脚本。

EKS Bottlerocket NVIDIA AMI

NVIDIA GPU 操作器与 EKS 优化版 Bottlerocket NVIDIA AMI 搭配使用时,必须禁用驱动程序、工具包和设备插件的操作器安装功能,因为这些驱动程序、工具包和设备插件已包含在 EKS AMI 中。

除标准 EKS AMI 组件外,EKS 优化型 Bottlerocket NVIDIA AMI 还包含下列组件。所有 Bottlerocket 变体中都安装了 EFA(内核模块和 rdma-core)的最少依赖项。

  • NVIDIA Kubernetes 设备插件

  • NVIDIA 驱动程序

  • NVIDIA CUDA 用户模式驱动程序

  • Nvidia 容器工具包

  • NVIDIA Fabric Manager

  • NVIDIA 持久化守护进程

  • NVIDIA IMEX 驱动程序

  • NVIDIA NVLink Subnet Manager

  • NVIDIA MIG Manager

有关 NVIDIA CUDA 用户模式驱动程序和应用程序容器中使用的 CUDA 运行时/库的详细信息,请参阅 NVIDIA 文档。显示的 CUDA 版本nvidia-smi是安装在主机上的 NVIDIA CUDA 用户模式驱动程序的版本,该驱动程序必须与应用程序容器中使用的 CUDA 运行时/库兼容。

有关已安装软件包及其版本的详细信息,请参阅 Bottlerocket 文档中的 Bottlerocket 版本信息。EKS 优化版 Bottlerocket NVIDIA AMI 支持适用于 Kubernetes 版本 1.33 及更高版本的内核 6.12,以及适用于 Kubernetes 版本 1.34 及更高版本的 NVIDIA 驱动程序 580 版。需要 NVIDIA 580 驱动程序才能使用 CUDA 13+。

EKS 优化版 Neuron AMI

有关如何将 Neuron 与 Amazon EKS 搭配使用来运行训练和推理工作负载的详细信息,请参阅以下参考资料:

要查找最新的 EKS 优化版 Neuron AMI,请参阅检索建议的 Amazon Linux AMI ID检索建议的 Bottlerocket AMI ID

将 Amazon Elastic Fabric Adaptor(EFA)与 EKS 优化版 AL2023 或 Bottlerocket Neuron AMI 搭配使用时,必须单独安装 EFA 设备插件。有关更多信息,请参阅 使用 Elastic Fabric Adapter 在 Amazon EKS 上运行机器学习训练

EKS AL2023 Neuron AMI

EKS 优化版 AL2023 Neuron AMI 不包括 Neuron Kubernetes 设备插件或 Neuron Kubernetes 调度器扩展程序,它们必须单独安装。有关更多信息,请参阅 安装 Neuron Kubernetes 设备插件

除标准 EKS AMI 组件外,EKS 优化版 AL2023 Neuron AMI 还包含下列组件。

  • Neuron 驱动程序 (aws-neuronx-dkms)

  • Neuronx 工具 (aws-neuronx-tools)

  • 最小 EFA(内核模块和 rdma-core)

有关 EKS AMI 如何配置 Neuron 依赖项的详细信息,请参阅 EKS AL2023 Neuron AMI 安装脚本。在 GitHub 上查看 EKS 优化版 AL2023 版本 以及 AMI 中包含的组件版本。您可以使用 dnf list installed 命令在正在运行的 EC2 实例上找到已安装的软件包及其版本的列表。

EKS Bottlerocket Neuron AMI

标准 Bottlerocket 变体 (aws-k8s) 包括在 Amazon Inferentia 或 Trainium EC2 实例上运行时会自动检测和加载的 Neuron 依赖项。

EKS 优化版 Bottlerocket AMI 不包括 Neuron Kubernetes 设备插件或 Neuron Kubernetes 调度器扩展程序,它们必须单独安装。有关更多信息,请参阅 安装 Neuron Kubernetes 设备插件

除标准 EKS AMI 组件外,EKS 优化版 Bottlerocket Neuron AMI 还包含下列组件。

  • Neuron 驱动程序 (aws-neuronx-dkms)

  • 最小 EFA(内核模块和 rdma-core)

在 Neuron 实例中使用 EKS 优化版 Bottlerocket AMI 时,必须在 Bottlerocket 用户数据中配置以下内容。此设置允许容器根据工作负载规范中提供的 runAsUserrunAsGroup 值,获得已挂载 Neuron 设备的所有权。有关 Bottlerocket 中 Neuron 支持的更多信息,请参阅 GitHub 上的 EKS 快速入门自述文件

[settings] [settings.kubernetes] device-ownership-from-security-context = true

有关 EKS 优化版 Bottlerocket AMI 中包含的 Neuron 驱动程序版本的信息,请参阅 Bottlerocket 内核套件更改日志