帮助改进此页面
要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 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 Specificationkubelet、运行时环境及适用于 Kubernetes 的 Amazon IAM 身份验证器的相关配置,同时也能从头构建基于 AL 的自有 AMI。
此存储库包含适用于 AL2 的专用引导脚本
以 EKS 优化版 AMI 为基础构建自定义 AMI 时,不建议且不提供技术支持运行操作系统升级(即 dnf upgrade),亦不建议升级 EKS 优化版 AMI 中预装的任何 Kubernetes 或 GPU 相关软件包,因为此类操作可能破坏组件间的兼容性。若仍选择对 EKS 优化版 AMI 中的操作系统或软件包执行升级操作,建议先在开发或预发布环境中开展全面测试,再部署至生产环境。
针对 GPU 实例构建自定义 AMI 时,建议为计划运行的各代实例类型及实例系列分别构建独立的自定义 AMI。EKS 优化版加速型 AMI 会在运行时阶段,根据底层实例的代次与系列选择性安装驱动程序及软件包。有关安装
先决条件
快速入门
本快速入门指南将演示在 Amazon 账户中创建自定义 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 组件、驱动程序和配置。在 Amazon 账户中创建 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