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

協助改進此頁面

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

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

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

  • AL2023 採用預設安全的方式,具備預配置的安全政策、處於容許模式的 SELinux、預設啟用的僅 IMDSv2 模式、最佳化的開機時間以及增強的套件管理功能,可提升安全性與效能,適用於需要大量自訂 (如直接存取作業系統層或大量節點變更) 的基礎架構。

  • Bottlerocket 憑藉其專為容器最佳化的設計,實現了增強的安全性、更快的啟動時間和更小的受攻擊面,以提高效率,非常適合具有最少節點自訂的容器原生方法。

或者,您可在 EOS 日期 (2025 年 11 月 26 日) 之前使用 建立自訂 Amazon Linux AMI,或在 Amazon Linux 2 EOS 日期 (2026 年 6 月 30 日) 之前,以 Amazon Linux 2 基礎執行個體建置自訂 AMI。有關更多資訊,請造訪 AL2023 常見問題Bottlerocket 常見問題,或參閱 從 Amazon Linux 2 升級到 Amazon Linux 2023使用最佳化的 Bottlerocket AMI 建立節點 文件以獲取詳細的移轉指南。

移轉和支援常見問題

如何從 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,您必須使用非 AL2 Linux 發行版的 (例如 Ubuntu 22.04、Amazon Linux 2023 等) Neuron 支援容器將應用程式容器化,然後在已安裝 Neuron 驅動程式 (aws-neuronx-dkms) 的基於 AL2 的 AMI 上部署這些容器。

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

切換到裸機 Amazon Linux 2 基礎執行個體缺乏官方 EKS AL2 最佳化和 AL2 加速 AMI 提供的特定最佳化、容器執行時期組態和自訂。相反,如果您必須繼續使用基於 AL2 的解決方案,我們建議使用位於 建立自訂 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 日前,透過 建立自訂 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 的 NVIDIA 驅動程式比較

驅動程式分支 Amazon Linux 2 AMI Amazon Linux 2023 AMI Bottlerocket AMI 終止支援日期

R535

不支援

不支援

不支援

2027 年 9 月

R550

支援

支援

不支援

2025 年 4 月

R560

不支援

支援

不支援

2025 年 3 月

R570

不支援

支援

支援

2026 年 2 月

要進一步了解,請參閱 Nvidia 版本文件

AL2、AL2023 與 Bottlerocket AMI 的 NVIDIA CUDA 版本比較

CUDA 版本 AL2 支援 AL2023 支援 Bottlerocket 支援

10.1

支援

不支援

不支援

11.8

支援

支援

支援

12.0

不支援

支援

支援

12.5

不支援

支援

支援

要進一步了解,請參閱 CUDA 版本文件

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

元件 AL2 AMI 來源 AL2023 AMI 來源 Bottlerocket AMI 來源

基本作業系統相容性

RHEL7/CentOS 7

Fedora/CentOS 9

N/A

CUDA 工具組

CUDA 11.x–12.x

CUDA 12.5+

CUDA 11.x (12.5 即將推出)

NVIDIA GPU 驅動程式

R550

R565

R570

AWS Neuron 驅動程式

2.19

2.19+

2.20

Linux 核心

5.10

6.1、6.12

6.1、6.12

AWS Neuron 與 AL2 AMI 相容性

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 版本的相容性

Amazon Linux 2 (AL2) 會由 AWS 支援至其 EOS 日期 (2026 年 6 月 30 日)。但隨著 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 版本備註