協助改進此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建置自訂 EKS 最佳化 Amazon Linux AMI
警告
Amazon EKS 已於 2025 年 11 月 26 日停止發佈 EKS 最佳化的 Amazon Linux 2 (AL2) AMIs。適用於 Amazon EKS 的 AL2023 和 Bottlerocket 型 AMIs 適用於所有支援的 Kubernetes 版本,包括 1.33 和更新版本。
Amazon EKS 在 Amazon EKS AMI Build Specificationkubelet、執行時間、適用於 Kubernetes 的 AWS IAM Authenticator,以及從頭開始建置您自己的 AL 型 AMI。
此儲存庫包含適用於 AL2 的專用引導指令碼
使用 EKS 最佳化 AMIs 作為基礎建置自訂 AMIs 時,不建議或支援執行作業系統升級 (即 dnf upgrade) 或升級 EKS 最佳化 AMIs 中包含的任何 Kubernetes 或 GPU 套件,因為這會破壞元件相容性。如果您確實升級 EKS 最佳化 AMIs 中包含的作業系統或套件,建議您在部署到生產環境之前,先在開發或預備環境中徹底測試。
為 GPU 執行個體建置自訂 AMIs 時,建議您為要執行的每個執行個體類型產生和系列分別建置自訂 AMIs。EKS 最佳化加速 AMIs 會根據基礎執行個體類型產生和系列,在執行時間選擇性地安裝驅動程式和套件。如需詳細資訊,請參閱安裝
先決條件
安裝所需 Amazon 外掛程式
packer plugins install github.com/hashicorp/amazon
確認 Packer 已安裝。
packer --version
複製或分支官方 Amazon EKS AMI 儲存庫。
git clone https://github.com/awslabs/amazon-eks-ami.git cd amazon-eks-ami
若要檢視預設值和其他選項,請執行下列命令。要進一步了解可用於自訂 AMI 的組態,請參閱 Amazon Linux 2023
make help
建立自訂 AMI
以下是各種自訂 AMI 的範例命令。
EKS NVIDIA AL2 AMI
make k8s=1.32 os_distro=al2 \ enable_accelerator=nvidia \ nvidia_driver_major_version=580 \ enable_efa=true
EKS NVIDIA AL2023 AMI
make k8s=1.36 os_distro=al2023 \ enable_accelerator=nvidia \ nvidia_driver_major_version=580 \ enable_efa=true
EKS NVIDIA AL2023 AMI 搭配 NVIDIA 驅動程式 595 版
重要
G7 EC2 執行個體類型需要 NVIDIA 驅動程式 595 版或更新版本。EKS 最佳化加速 AMIs 目前包含不支援 G7 執行個體的 NVIDIA 驅動程式 580 版。您必須使用 NVIDIA 驅動程式 595 版建置自訂 AMI,才能將 G7 執行個體與 Amazon EKS 搭配使用。
如果您使用 Karpenter 進行節點佈建和自動擴展,建議您從使用自動 AMI 選擇的 NodePools 中排除g7執行個體系列。如需如何設定 Karpenter NodeClass 以使用g7執行個體的自訂 AMI,請參閱 Karpenter 文件amiSelectorTerms
make k8s=1.36 os_distro=al2023 \ enable_accelerator=nvidia \ nvidia_driver_major_version=595 \ 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