View a markdown version of this page

构建自定义 EKS 优化版 Linux AMI - Amazon EKS

帮助改进此页面

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

构建自定义 EKS 优化版 Linux AMI

警告

Amazon EKS 已于 2025 年 11 月 26 日停止发布 EKS 优化型 Amazon Linux 2(AL2)AMI。基于 AL2023 和 Bottlerocket 的 Amazon EKS AMI 适用于所有支持的 Kubernetes 版本(包括 1.33 和更高版本)。

Amazon EKS 在 Amazon EKS AMI Build Specification 存储库中提供开源构建脚本,您可通过这些脚本查看 kubelet、运行时环境及适用于 Kubernetes 的 AWS IAM 身份验证器的相关配置,同时也能从头构建基于 AL 的自有 AMI。

此存储库包含适用于 AL2 的专用引导脚本,以及在开机阶段运行的适用于 AL2023 的 nodeadm 工具。这些脚本可配置实例的证书数据、控制面板端点、集群名称等内容。这些脚本是 Amazon EKS 优化版 AMI 生成的可信来源,因此您可关注 GitHub 存储库以监控对 AMI 所做的更改。

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

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

先决条件

快速入门

本快速入门指南将演示在 AWS 账户中创建自定义 AMI 所需执行的命令。要了解有关可用于自定义 AMI 的配置的更多信息,请参阅 Amazon Linux 2023 页面上的模板变量。

先决条件

安装所需的 Amazon Q 插件。例如:

packer plugins install github.com/hashicorp/amazon

步骤 1:设置您的环境

克隆或复刻 Amazon EKS AMI 官方存储库。例如:

git clone https://github.com/awslabs/amazon-eks-ami.git cd amazon-eks-ami

确认已安装 Packer:

packer --version

步骤 2:创建自定义 AMI

以下是用于各种自定义 AMI 的示例命令。

基本 NVIDIA AL2 AMI:

make k8s=1.31 os_distro=al2 \ enable_accelerator=nvidia \ nvidia_driver_major_version=560 \ enable_efa=true

基本 NVIDIA AL2023 AMI:

make k8s=1.31 os_distro=al2023 \ enable_accelerator=nvidia \ nvidia_driver_major_version=560 \ enable_efa=true

符合 STIG 标准的 Neuron AL2023 AMI:

make k8s=1.31 os_distro=al2023 \ enable_accelerator=neuron \ enable_fips=true \ source_ami_id=ami-0abcd1234efgh5678 \ kms_key_id=alias/aws-stig

运行这些命令后,Packer 将执行以下操作:* 启动临时 Amazon EC2 实例。* 安装 Kubernetes 组件、驱动程序和配置。在 AWS 账户中创建 AMI。

预期输出应如下所示:

==> Wait completed after 8 minutes 42 seconds ==> Builds finished. The artifacts of successful builds are: --> amazon-ebs: AMIs were created: us-west-2: ami-0e139a4b1a7a9a3e9 --> amazon-ebs: AMIs were created: us-west-2: ami-0e139a4b1a7a9a3e9 --> amazon-ebs: AMIs were created: us-west-2: ami-0e139a4b1a7a9a3e9

步骤 3:查看默认值

要查看默认值和其他选项,请运行以下命令:

make help