協助改進此頁面
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 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 常見問題
移轉和支援常見問題
如何從 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 AMI 或 Amazon EKS AMI 建置規格
在 EKS AL2 AMI EOS 日期 (2025 年 11 月 26 日) 後,使用 EKS AMI GitHub 儲存庫建置自訂 AL2 AMI 時,哪些支援來自 amzn2-core 和 amzn2extra-docker 等儲存庫的套件?
Amazon EKS AMI 建置規格
為何在 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 AMI 或 Amazon 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 AMIcgroupv1上啟用。若要啟用,請執行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並對cgroupv1API 提供回溯相容性並非同一概念。
警告
不建議繼續使用 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 |
不支援 |
不支援 |
不支援 |
|
|
R550 |
支援 |
支援 |
不支援 |
|
|
R560 |
不支援 |
支援 |
不支援 |
|
|
R570 |
不支援 |
支援 |
支援 |
要進一步了解,請參閱 Nvidia 版本文件
AL2、AL2023 與 Bottlerocket AMI 的 NVIDIA CUDA 版本比較
要進一步了解,請參閱 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.5 即將推出) |
||
|
NVIDIA GPU 驅動程式 |
|||
|
AWS Neuron 驅動程式 |
2.20 |
||
|
Linux 核心 |
6.1、6.12 |
6.1、6.12 |
AWS Neuron 與 AL2 AMI 相容性
從 AWS Neuron 2.20 版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 中未包含或已變更的常見套件包括:
-
Amazon Linux 2 中的部分來源二進制套件在 Amazon Linux 2023 中不再提供
-
Amazon Linux 在 AL2023 中支援不同套件版本的方式發生變更 (例如 amazon-linux-extras 系統
) -
AL2023 不支援 Extra Packages for Enterprise Linux (EPEL)
-
AL2023 中不支援 32 位元應用程式
要進一步了解,請參閱比較 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 版本備註