本文將概述 Azure Container Linux(ACL),這是一個不可變且以容器優化為基礎的作業系統,專為 Azure Kubernetes Service (AKS)設計。 ACL 源自 Flatcar Container Linux 專案,建立在 Flatcar 經過驗證的容器優先不可變設計基礎上,同時加入 Azure Linux 套件、服務與平台整合。 這讓 ACL 能與上游 Flatcar 創新緊密對齊,同時滿足 Azure 的生產、安全與合規要求。 若要深入瞭解 Flatcar 容器 Linux,請參閱 Flatcar 文件。
ACL 自 AKS v1.34 起正式作為 AKS 的作業系統選項提供使用(GA)。 你可以在新的 AKS 叢集中部署 ACL 節點池,將 ACL 節點池加入現有叢集,並將現有的 Linux 節點池遷移到 ACL。
Note
ACL 是 AKS 平台 Flatcar Container Linux 的通用版本,於 2025 年 11 月進入預覽階段。 OS Guard (預覽版) 功能,例如採用完整性原則強制執行 (IPE) 的程式碼完整性功能,目前尚未受到支援 如果您今天需要 OS Guard 功能,我們建議繼續使用 OS Guard,並在這些功能開放後再遷移至 ACL。
在 AKS 上使用 ACL 的好處
使用 ACL 作為 AKS 節點池的作業系統,能帶來多項提升安全性、可靠性與營運效率的好處:
-
內建不變性以提升安全性:核心強制目錄的不變性
/usr可在開機與執行時驗證作業系統映像的完整性。 此設計有助於在未經授權的變更影響叢集前阻擋,並降低作業系統層級竄改的風險。 - 攻擊面極低:ACL 只運送運行容器所需的元件。 透過縮小作業系統的規模與複雜度,ACL 減少攻擊者可用的套件、服務及潛在入口點數量,並簡化安全管理。
- 自動化節點映像更新:ACL 每週提供基於映像的更新,包含最新的安全修補程式與錯誤修正。 此方法能保持節點作業系統版本在叢集間的一致性與最新性,並有助於降低已知漏洞的風險。
- 供應鏈信任:以 Azure Linux 的已簽署套件和供應鏈流程為基礎,為系統元件提供清楚的來源資訊。
- 與 Azure 安全性功能整合: 信任啟動 和安全開機的原生支援提供測量的開機保護和證明。
- Open-source transparency:Flatcar 以及許多底層技術(dm-verity 和 SELinux)皆屬於上游或開放原始碼,Microsoft 擁有支援這些功能的工具與貢獻。
ACL 的主要功能
以下主要特點使 ACL 成為強化且容器優化的 AKS 作業系統:
- 不可變性:'/usr' 目錄會以唯讀磁碟區掛載,並受 dm-verity 保護。 執行時,核心會驗證一個有署名的根雜湊值,以偵測並阻擋篡改行為
- SELinux 的強制存取控制:ACL 包含 SELinux 以強制執行強制存取控制政策,限制哪些程序可存取敏感系統資源。 請注意, SELinux 預設處於強制模式。SELinux 政策可能會隨時間演變。
- 可信啟動與安全開機:ACL 要求可 信啟動 搭配安全開機與 vTPM,以確保開機鏈在作業系統載入前的完整性。 這是使用統一核心映像 (UKI) 來達成的,它將核心、initramfs 和核心命令列打包組合成一個單一的已簽署成品中。 在啟動過程中,UKI 被測量並記錄在 vTPM 中,從最早階段就確保完整性。
- NVIDIA GPU 節點支援:ACL 支援 AMD 64 架構上的 NVIDIA GPU 節點池,讓您能在 AKS 上運行高效能運算(HPC)及 AI/ML 工作負載,並搭配強化且容器優化的作業系統。 ACL 不支援 GPU 啟用的 ARM64 架構節點池。
- AMD64 與 ARM64 架構支援:ACL 支援 AKS 上的 AMD64 與 ARM64 架構。
- 主權供應鏈安全:ACL 繼承了 Azure Linux 的安全建置流程與已簽署的統一核心映像檔(UKI)。
- 節點自動配置:ACL 支援節點自動配置(NAP)。
Important
如果你在 AKS 上使用 Azure 容器 Linux (ACL),請務必檢視以下考量與限制:
- ACL 通常從 AKS v1.34 開始提供。
- ACL 需要啟用 Trusted Launch,並搭配安全開機和 vTPM。 無法取得非可信啟動變體。
- 在 Arm64 上,ACL 若要啟用 Trusted Launch 相容性,必須使用 Cobalt 型(v6)SKU。
-
NodeImage並且None是唯一支援的 作業系統升級通道。Unmanaged且SecurityPatch因目錄不可變/usr而與 ACL 不相容。 - 不支援工件串流。
- 不支援 Pod 沙箱。
- 不支援機密虛擬機器 (CVM)。
- 第一代虛擬機不被支援。
功能藍圖
欲了解更多資訊,請參閱 Azure Linux 功能路線圖。
作業系統遷移與 ACL 升級
AKS 支援透過原地作業系統 SKU 遷移或建立新的 ACL 節點池,將現有節點池遷移至 ACL。 關於詳細的遷移步驟、考量及回滾指示,請參見 「將現有節點遷移至 ACL」。
用於 AKS 版本管理的 ACL
AKS 的 ACL 每週釋出 AKS 節點映像檔。 版本設定會遵循 AKS 日期型格式 (例如:202506.13.0)。 ACL 目前僅支援全節點映像更新。 欲了解更多資訊,請參閱 Azure 容器 Linux (ACL) 節點映像。
你可以在發行說明中查看可用的節點映像檔,並使用nodeImageVersion指令查看az aks nodepool list正在執行的叢集。 例如:
az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name> --query '[].{name: name, nodeImageVersion: nodeImageVersion}'
輸出範例:
[
{
"name": "nodes",
"nodeImageVersion": "AKSAzureContainerLinux-202606.01.0"
}
]
相關內容
要開始使用 ACL for AKS,請參閱以下資源:
使用 Azure CLI - 使用 ARM 範本部署 ACL 叢集
- 將 ACL 節點池加入現有叢集
- 將現有節點遷移至 ACL