EKS AL2 和 AL2 加速 AMI 移轉功能指南 - Amazon EKS

協助改進此頁面

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

EKS AL2 和 AL2 加速 AMI 移轉功能指南

警告

Amazon EKS 已於 2025 年 11 月 26 日停止發佈 EKS 最佳化的 Amazon Linux 2 (AL2) AMIs。適用於 Amazon EKS 的 AL2023 和 Bottlerocket 型 AMIs 適用於所有支援的 Kubernetes 版本,包括 1.33 和更新版本。

AWS 將於 20AL2-optimized和 AL2-accelerated AMIs 的支援。雖然您可以在終止支援 (EOS) 日期 (2025 年 11 月 26 日) 之後繼續使用 EKS AL2 AMI,但 EKS 將不再發布任何新的 Kubernetes 版本或對 AL2 AMI 的更新,包括此日期之後的次要版本、修補程式和錯誤修正。我們建議升級至 Amazon Linux 2023 (AL2023) 或 Bottlerocket AMI:

  • AL2023 採用預設安全的方式,具備預配置的安全政策、處於容許模式的 SELinux、預設啟用的僅 IMDSv2 模式、最佳化的開機時間以及增強的套件管理功能,可提升安全性與效能,適用於需要大量自訂 (如直接存取作業系統層或大量節點變更) 的基礎架構。若要進一步了解,請參閱 AL2023 FAQs或檢視詳細的遷移指南,網址為 從 Amazon Linux 2 升級到 Amazon Linux 2023

  • Bottlerocket 憑藉其專為容器最佳化的設計,實現了增強的安全性、更快的啟動時間和更小的受攻擊面,以提高效率,非常適合具有最少節點自訂的容器原生方法。若要進一步了解,請參閱 Bottlerocket FAQs或檢視詳細的遷移指南,網址為 使用最佳化的 Bottlerocket AMI 建立節點

或者,您可以在 EOS 日期建置自訂 EKS 最佳化的 Amazon Linux AMI之前 (2025 年 11 月 26 日)。此外,您可以使用 Amazon Linux 2 基本執行個體建置自訂 AMI,直到 Amazon Linux 2 EOS 日期 (2026 年 6 月 30 日)。

移轉和支援常見問題

如何從 AL2 移轉至 AL2023 AMI?

我們建議制定並實施一個移轉計劃,該計劃包括全面的應用程式工作負載測試和文件化的復原程序,然後按照 EKS 官方文件中從 Amazon Linux 2 升級到 Amazon Linux 2023 的逐步說明進行操作。

我是否可以在 EKS 最佳化 AL2 AMI 的 EKS 終止支援日期 (EOS) 之後建置自訂 AL2 AMI?

雖然我們建議改用官方支援且已發布的 EKS 最佳化 AMI (適用於 AL2023 或 Bottlerocket),但在 AL2 AMI EOS 日期 (2025 年 11 月 26 日) 之前,您仍可建置自訂 EKS AL2 最佳化與 AL2 加速型 AMI。或者,您可在 Amazon Linux 2 EOS 日期 (2026 年 6 月 30 日) 之前,以 Amazon Linux 2 基礎執行個體建置自訂 AMI。如需建置自訂 EKS AL2 最佳化與 AL2 加速型 AMI 的逐步指示,請參閱 EKS 官方文件中的建置自訂 Amazon Linux AMI

EKS Kubernetes 版本支援政策是否適用於 Amazon Linux 發行版本?

不適用。EKS AL2 最佳化和 AL2 加速 AMI 的 EOS 日期獨立於 EKS 對 Kubernetes 版本的標準和延伸支援時間表。即使您使用 EKS 延伸支援,也需要移轉至 AL2023 或 Bottlerocket。

從 cgroupv1 轉向 cgroupv2 對我的移轉有何影響?

Kubernetes 社群已將 cgroupv1 支援 (AL2 使用) 置於維護模式,這意味著不會新增新功能,並且僅提供關鍵安全性和重大錯誤修正。要在 Kubernetes 中採用 cgroupv2,您需要確保作業系統、核心、容器執行時期和 Kubernetes 元件之間的相容性。這需要預設啟用 cgroupv2 的 Linux 發行版本,例如 AL2023、Bottlerocket、Red Hat Enterprise Linux (RHEL) 9+、Ubuntu 22.04+ 或 Debian 11+。這些發行版隨附的核心版本大於等於 5.8,這是 Kubernetes 中 cgroupv2 支援的最低要求。要進一步了解,請參閱關於 cgroup v2

如果我在自訂 AL2 AMI 中需要 Neuron,該怎麼辦?

您無法在基於 AL2 的 AMI 上原生執行完整的 Neuron 驅動應用程式。若要在 AL2 AMI 上利用 AWS Neuron,您必須使用 Neuron 支援的容器與non-AL2 Linux 發行版本 (例如 Ubuntu 22.04、Amazon Linux 2023 等) 來容器化應用程式,然後在已安裝 Neuron 驅動程式 (aws-neuronx-dkms) 的 AL2-based AMI 上部署這些容器。

在 EKS AL2 AMI EOS 日期 (2025 年 11 月 26 日) 之後,是否應切換至裸機 Amazon Linux 2 基礎執行個體?

切換到裸機 Amazon Linux 2 基礎執行個體缺乏官方 EKS AL2 最佳化和 AL2 加速 AMI 提供的特定最佳化、容器執行時期組態和自訂。相反,如果您必須繼續使用基於 AL2 的解決方案,我們建議使用位於 建置自訂 EKS 最佳化的 Amazon Linux AMIAmazon EKS AMI 建置規格的 EKS AMI 配方,建置自訂 AMI。這確保了與現有工作負載的相容性,並包括 AL2 核心更新,直到 Amazon Linux 2 EOS 日期 (2026 年 6 月 30 日)。

在 EKS AL2 AMI EOS 日期 (2025 年 11 月 26 日) 後,使用 EKS AMI GitHub 儲存庫建置自訂 AL2 AMI 時,哪些支援來自 amzn2-core 和 amzn2extra-docker 等儲存庫的套件?

Amazon EKS AMI 建置規格的 EKS AMI 配方會透過 YUM 從標準 Amazon Linux 2 軟體提取套件,例如 amzn2-coreamzn2extra-docker。在 EKS AL2 AMI EOS 日期 (2025 年 11 月 26 日) 之後,這些軟體仍會持續受到支援,直至 Amazon Linux 2 整體 EOS 日期 (2026 年 6 月 30 日)。請注意,此期間的支援僅限於核心更新,這意味著您需手動管理並套用其他套件更新、安全性修補程式與非核心相依項目,以維持安全性與相容性。

為何在 Amazon EKS 搭配 AL2023 時,使用舊版 JDK8 的 Java 應用程式可能發生記憶體不足 (OOM) 例外與 Pod 重啟?該如何解決?

在搭載 AL2023 的 Amazon EKS 節點上執行時,依賴低於 jdk8u372 版本 JDK 8 的 Java 應用程式,可能因 JVM 與 cgroupv2 不相容而發生 OOM 例外狀況與 Pod 重啟。此問題的核心原因是,JVM 無法透過 Amazon Linux 2023 預設的 cgroupv2 偵測容器記憶體限制。因此,其會依據節點總記憶體而非 Pod 定義的限制來配置堆積記憶體。這是因為 cgroupv2 變更了記憶體限制資料的儲存位置,導致舊版 Java 誤讀可用記憶體,並預設使用節點層級資源。可行的解決方案如下:

  • 升級 JDK 版本:升級至 jdk8u372 或更新版本,或升級至完全 cgroupv2 支援的新版 JDK,可解決此問題。如需完全支援 cgroupv2 的相容 Java 版本清單,請參閱關於 cgroup v2

  • 建置自訂 AMI:若必須繼續使用基於 AL2 的解決方案,可在 2025 年 11 月 26 日前,透過 建置自訂 EKS 最佳化的 Amazon Linux AMIAmazon EKS AMI 建置規格建置自訂 AL2 基底 AMI。例如,可在 2025 年 11 月 26 日前建置基於 AL2 的 v1.33 AMI。Amazon EKS 會在 EKS AL2 EOS 日期 (2025 年 11 月 26 日) 前持續提供基於 AL2 的 AMI。在 EOS 日期 (2025 年 11 月 26 日) 之後,您將需要建置自己的 AMI。

  • 啟用 cgroupv1:如果您必須繼續使用 cgroupv1,可在 EKS AL2023 AMI cgroupv1 上啟用。若要啟用,請執行 sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0" 並重新啟動系統 (例如執行 Amazon Linux 2023 的 EC2 執行個體或節點)。此操作會修改系統開機參數 (例如,在 GRUB 組態中新增核心參數 'systemd.unified_cgroup_hierarchy=0',指示 systemd 使用舊版 cgroupv1 階層),進而啟用 cgroupv1。請注意,當您執行此 grubby 命令時,核心會重新配置為啟用 cgroupv1 並停用 cgroupv2。節點上的作用中資源管理僅會使用其中一個 cgroup 版本。這與執行 cgroupv2 並對 cgroupv1 API 提供回溯相容性並非同一概念。

警告

不建議繼續使用 cgroupv1。相反地,建議移轉至 cgroupv2。Kubernetes 社群已將 cgroupv1 支援 (AL2 使用) 置於維護模式,這意味著不會新增新功能或更新,並且僅提供關鍵安全性和重大錯誤修正。預期未來版本會完全移除 cgroupv1 支援,但目前尚未公佈具體移除日期。如果您遇到 的問題cgroupv1, AWS 將無法提供支援,並建議您升級至 cgroupv2

相容性和版本

AL2 AMI 支援的 Kubernetes 版本

Kubernetes 1.32 版是 Amazon EKS 將發行 AL2 (Amazon Linux 2) AMI 的最後一個版本。對於支援的、最高達 1.32 的 Kubernetes 版本,EKS 會在 2025 年 11 月 26 日前持續發布 AL2 AMI (AL2_ARM_64、AL2_x86_64) 與 AL2 加速 AMI (AL2_x86_64_GPU)。在此日期後,EKS 將停止為所有 Kubernetes 版本發布 AL2 最佳化與 AL2 加速型 AMI。請注意,EKS AL2 最佳化和 AL2 加速 AMI 的 EOS 日期獨立於 EKS 對 Kubernetes 版本的標準和延伸支援時間表。

AL2、AL2023 與 Bottlerocket AMI 的支援驅動程式與 Linux 核心版本比較

元件 EKS AL2 AMI EKS AL2023 AMI EKS Bottlerocket AMI

基本作業系統相容性

RHEL7/CentOS 7

Fedora/CentOS 9

N/A

CUDA 使用者模式驅動程式

12.x

12.x、13.x

12.x、13.x

NVIDIA GPU 驅動程式

R570

R580

R570, R580

AWS Neuron 驅動程式

2.20+

2.20+

2.20+

Linux 核心

5.10

6.1、6.12

6.1、6.12

如需 NVIDIA 驅動程式和 CUDA 相容性的詳細資訊,請參閱 NVIDIA 文件

AWS Neuron 與 AL2 AMIs相容性

AWS Neuron 2.20 版開始,EKS 基於 AL 的 AMI 使用的 Neuron 執行時期 (aws-neuronx-runtime-lib) 不再支援 Amazon Linux 2 (AL2)。Neuron 驅動程式 (aws-neuronx-dkms) 現在是唯一支援 Amazon Linux 2 的 AWS Neuron 套件。這意味著您無法在基於 AL2 AMI 上原生執行 Neuron 驅動型應用程式。若要在 AL2023 AMI 上設定 Neuron,請參閱 AWS Neuron 設定指南。

Kubernetes 與 AL2 AMI 的相容性

Kubernetes 社群已將 cgroupv1 支援 (AL2 所使用) 移至維護模式。這意味著不會新增任何功能,僅提供重大安全性與主要錯誤修復。任何依賴 cgroupv2 的 Kubernetes 功能 (如 MemoryQoS 與增強型資源隔離) 均無法在 AL2 上使用。此外,Amazon EKS Kubernetes 1.32 版本是最後一個支援 AL2 AMI 的版本。為了維持與最新 Kubernetes 版本的相容性,建議移轉至 AL2023 或 Bottlerocket,這兩者均預設啟用 cgroupv2

AL2 AMI 與 Linux 版本的相容性

在 2026 年 6 月 30 日end-of-support(EOS) 日期之前, 都支援 Amazon Linux 2 (AL2)。 AWS 但隨著 AL2 逐步老化,廣大 Linux 社群對新應用程式與功能的支援已逐漸受限。AL2 AMI 基於 Linux 核心 5.10,而 AL2023 則使用 Linux 核心 6.1。不同於 AL2023,AL2 獲得的廣大 Linux 社群支援有限。這意味著許多上游 Linux 套件與工具需經過回溯移植才能在 AL2 的舊版核心上運作;部分現代 Linux 功能與安全性改進因核心版本過舊而無法使用;許多開源專案已終止或限制對 5.10 等舊版核心的支援。

AL2023 中未包含的已棄用套件

AL2023 中未包含或已變更的常見套件包括:

要進一步了解,請參閱比較 AL2 與 AL2023

跨 AL2、AL2023 和 Bottlerocket 的 FIPS 驗證比較

Amazon Linux 2 (AL2)、Amazon Linux 2023 (AL2023) 與 Bottlerocket 均支援聯邦資訊處理標準 (FIPS) 合規性。

  • AL2 已通過 FIPS 140-2 認證,AL2023 已通過 FIPS 140-3 認證。若要在 AL2023 上啟用 FIPS 模式,需在 Amazon EC2 執行個體上安裝必要套件,並遵循在 AL2023 上啟用 FIPS 模式中的指示執行組態步驟。要進一步了解,請參閱 AL2023 常見問答集

  • Bottlerocket 提供專為 FIPS 設計的變體,這類變體會限制核心與使用者空間元件,僅使用已提交至 FIPS 140-3 密碼編譯模組驗證計劃的密碼編譯模組。

EKS AMI 驅動程式與版本變更日誌

關於所有 EKS AMI 元件及其版本的完整清單,請參閱 GitHub 上的 Amazon EKS AMI 版本備註