本文介紹 Azure Kubernetes Service (AKS) 節點可用的作業系統版本,以及測試與升級作業系統版本的最佳實務。
這很重要
自 2026 年 12 月 10 日起,Azure Kubernetes Service (AKS) 不再支援 Azure Linux 搭配 OS Guard for AKS(預覽版)。 此時,AKS 將不再生產新的 Azure Linux 搭配 OS Guard 節點映像檔,也不再提供安全修補程式,且你也無法再用 Azure Linux 搭配 OS Guard 建立新的節點池。 2027 年 3 月 10 日,AKS 移除所有現有的 Azure Linux 與 OS Guard 節點映像,導致擴展與修復(重映像化與重新部署)操作失敗。 為避免中斷,請遷移至 Azure Container Linux(ACL)。 欲了解更多關於退休的資訊,請參閱退休 GitHub 議題及 Azure 更新退休公告。 想隨時掌握公告與更新,請參考 AKS 發布說明。
這很重要
自 2027 年 3 月 17 日
這很重要
自 2027 年 6 月 30 日 起,Azure Kubernetes Service (AKS) 不再支援或提供 Ubuntu 22.04 的安全更新。 為避免中斷,請在該日期 前轉換 至 Ubuntu 24.04 或更新版本。 從現在到 2027 年 6 月 30 日,你可以繼續在 AKS 上使用 Ubuntu 22.04,不會中斷。 如果你在 2027 年 6 月 30 日前沒有遷移,你將無法建立新的節點池,AKS 也不會產生新的節點映像檔,且你將不再收到現有節點池的安全修補程式。 如果你想啟用 Kubernetes 1.33 或更新版本的長期支援(LTS),請先將節點池更新到 Ubuntu 24.04。 2028 年 4 月 30 日,AKS 將移除 Ubuntu 22.04 節點映像檔及現有程式碼,導致擴展與修復作業失敗。 為避免安全漏洞、節點映像升級失敗及擴展失敗等服務中斷,請於 2027 年 6 月 30 日前 遷移 至 Ubuntu 24.04 或更新版本。 您的遷移選項包括:
-
預設作業系統 SKU(OSSku):如果你使用
Ubuntu,當你將 Kubernetes 版本升級到 1.35 或更新版本時,會自動遷移到 Ubuntu 24.04。 -
版本化 OSSku:如果你正在使用
Ubuntu2204,請將 OSSku 更新為UbuntuKubernetes 1.35 或更新版本,或Ubuntu2404是 Kubernetes 1.32 或更新版本。
欲了解更多退休資訊,請參閱 Retirement GitHub issue 及 Azure 更新文章。 欲掌握最新公告與更新,請參考AKS發布說明。
這很重要
自2025 年 11 月 30 日起,Azure Kubernetes Service (AKS) 將不再支援或提供 Azure Linux 2.0 的安全更新。 Azure Linux 2.0 節點映像已凍結在202512.06.0發行版本。 自 2026 年 10 月 31 日起,節點映像將被移除,且你將無法擴展你的節點池。 遷移到支援的 Azure Linux 版本時,可以升級你的節點池到 支援的 Kubernetes 版本,或遷移到 osSku AzureLinux3。 欲了解更多資訊,請參閱 退休GitHub議題 及 Azure 更新退休公告。 欲掌握最新公告與更新,請參考AKS發布說明。
支援的 OS 版本
每個 節點映像 都會對應至一個作業系統版本,您可以使用作業系統 SKU 來指定。 您可以在建立叢集與節點集區時指定下列參數:
- --os-type:作業系統類型,包括 Linux 或 Windows。 你無法在叢集層級建立或更新時指定 Windows 作業系統類型。
- --os-sku:用來指定 OS 版本或 OS 變體。 你無法在叢集層級建立或更新時指定 Windows 作業系統的 SKU。 對於 Windows 節點池,新增節點池時請指定作業系統 SKU。 欲了解更多支援的作業系統 SKU 選項,請參閱 Azure AKS CLI 或 API。
- --kubernetes-version:用來建立節點集區或叢集的 Kubernetes 版本。
最佳做法指導方針
預設 OS 版本是最新的已驗證版本。
- 針對 Ubuntu,建議您在指定
--os-type Linux和--os-sku Ubuntu的情況下,建立叢集和節點集區。 這會根據 Kubernetes 版本,自動將您更新為最新的預設 Ubuntu 版本。- 對於Azure Linux,我們建議建立叢集和節點池,並指定
--os-type Linux和--os-sku AzureLinux。 這會根據你的 Kubernetes 版本,自動將你更新到最新的預設 Azure Linux 版本。- 對於Azure容器 Linux(ACL),我們建議在指定
--os-type Linux和--os-sku AzureContainerLinux的情況下建立叢集和節點池。 這會自動更新你到基於 Kubernetes 版本的最新預設 ACL 版本。- 若為 Windows,請在建立節點集區時指定
--os-type Windows、--os-sku Windows2025和--enable-fips-image(Windows Server 2025 需要已啟用 FIPS 的映像)。 當新作業系統版本發行時,您需要手動將節點集區更新到該版本。
| OS 類型 | 作業系統 SKU | 支援的 Kubernetes 版本 | 預設版本設定 |
|---|---|---|---|
| Linux | Ubuntu | 所有 Kubernetes 版本都支援此 OS SKU。 | 此 OS SKU 的 OS 版本會根據您的 Kubernetes 版本變更。 Ubuntu 22.04 是 Kubernetes 1.25 到 1.34 版本的預設版本。 Ubuntu 24.04 是 Kubernetes 1.35+ 版本的預設版本。 |
| Linux | Ubuntu2604 | 此作業系統 SKU 在 Kubernetes 1.36 版本及更新版本的預覽版中獲得支援。 | 如果你想遷移到新作業系統版本而不升級 Kubernetes 版本,我們推薦這個版本化作業系統 SKU。 需要啟用 Ubuntu2604Preview 功能旗標。 |
| Linux | Ubuntu2404 | 此 OS SKU 僅在 Kubernetes 1.32 至 1.38 中受支援。 | 如果你想遷移到新作業系統版本而不升級 Kubernetes 版本,我們推薦這個版本化作業系統 SKU。 在 Kubernetes 1.35+ 版本中使用 --os-sku Ubuntu 時,Ubuntu 24.04 是預設。 |
| Linux | Ubuntu2204 | 此作業系統 SKU 支援於 Kubernetes 1.25 至 1.36 版本。 | 如果您需要復原到 Ubuntu 22.04,我們建議使用此版本化 OS SKU。 在 Kubernetes 1.25 到 1.35 版本中使用 --os-sku Ubuntu 時,Ubuntu 22.04 是預設。 |
| Linux | AzureLinux | 所有 Kubernetes 版本都支援此 OS SKU。 | 此 OS SKU 的 OS 版本會根據您的 Kubernetes 版本變更。 Azure Linux 2.0 是 Kubernetes 1.27 至 1.31 版本的預設版本。 Azure Linux 3.0 是 Kubernetes 1.32+ 版本的預設版本。 在 AKS 1.31 上啟用功能旗標時 AzureLinuxV3Preview , --os-sku AzureLinux 預設為 3.0。 |
| Linux | AzureLinux3 | Kubernetes 1.28 至 1.36 支援此 OS SKU。 | 如果您想要測試新的 OS 版本而不升級 Kubernetes 版本,建議您使用此 OS SKU。 你也可以用這個作業系統 SKU 從 Azure Linux 2.0 遷移到 Azure Linux 3.0。 |
| Linux | AzureLinuxOSGuard | Kubernetes 1.32 版和更新版本支援此 OS SKU。 | Azure Linux 搭配 OS Guard 版本是透過節點映像升級來進行升級。 欲了解更多資訊,請參閱 Azure Linux with OS Guard for AKS。 |
| Linux | 平板車 | 所有 Kubernetes 版本都支援此 OS SKU。 | Flatcar 版本透過節點映像升級進行升級。 如需詳細資訊,請參閱適用於 AKS 的 Flatcar 容器 Linux。 |
| Linux | AzureContainerLinux | 此作業系統 SKU 支援於 Kubernetes 1.34 及以上版本。 | Azure Container Linux 版本是透過節點映像更新來升級。 |
| Windows | Windows2022 | 1.23 到 1.36 | Kubernetes 1.25 至 1.35 版中的 Windows 作業系統類型預設值 |
| Windows | Windows2025 | 1.32 及以上 | 在 Kubernetes 版本 1.36 及以上的 Windows 作業系統類型中,預設為此。 需要已啟用 FIPS 的映像檔(--enable-fips-image)。 |
移轉至新的作業系統版本
當 AKS 發布新作業系統版本時,預覽版初期會被支援。 經過幾個月的預覽測試後,AKS 會將新作業系統版本正式開放(GA),並將預設作業系統 SKU(Ubuntu 或 AzureLinux)更新為最新的 GA 作業系統版本。 此預設更新會隨著 Kubernetes 新版本版本發佈而發生。
建議您在預覽中推出時,使用新的 OS 版本來測試非生產工作負載。 若要存取預覽功能,請確定您已安裝預覽擴充功能。 您可以使用命令 az extension add --name aks-preview 安裝擴充功能。
遷移到新作業系統版本有兩種方式:
-
預設作業系統 SKU:如果你使用像
Ubuntu或AzureLinux這樣的預設作業系統 SKU,升級 Kubernetes 版本時會自動獲得最新的 GA 版本。 遷移到新作業系統版本不需要手動更改。 使用UbuntuOS SKU 的叢集與節點池,在將 Kubernetes 版本升級至 1.35 或更高版本時,會自動遷移到 Ubuntu 24.04。 -
版本控制的作業系統 SKU:如果你使用的是版本限制的作業系統 SKU,如
Ubuntu2604、Ubuntu2404AzureLinux3、 或Windows2025,你需要手動遷移到新的作業系統版本,以避免被阻擋的 Kubernetes 升級。 如果你用的是 Linux 作業系統,可以更新現有節點池的作業系統 SKU 來原地遷移。 在 Windows 上,僅支援從 Windows Server 2022 原地移轉至 Windows Server 2025。
更新現有節點集區上的 OS SKU
使用 os-sku 命令更新現有節點集區上的 az aks nodepool update。 如果預覽版中有新的 OS 版本可用,這項功能可讓您將節點集區移轉至新的 OS 版本,而不需要升級 Kubernetes 版本。
備註
以下 Windows 值不支援節點池更新指令。 支援從 Windows Server 2022 遷移到 Windows Server 2025。
--os-sku Windows2022
相反地,您需要將節點集區新增至您的叢集,並指定您打算使用的對應 --os-sku。
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--os-sku Ubuntu \
--name $NODE_POOL_NAME
您可以使用命令 az aks nodepool update 在任何支援的 Linux os-sku之間移轉。 如果目標 OS 沒有受支援的節點映像適用於您的 Kubernetes 版本、VM 大小或 FIPS 啟用,則該命令可能會失敗。
遷移到 Ubuntu 26.04(預覽版)
這很重要
AKS 預覽功能以自助方式提供,並採選擇加入制。 預覽版本係依「現狀」及「可用情況」提供,且不適用於服務等級協定與有限保固。 客戶支援部門會盡最大努力,部分支援 AKS 預覽。 因此,這些功能不適合實際執行用途。 如需詳細資訊,請參閱下列支援文章:
Ubuntu 26.04 已在 Kubernetes 1.36 及更新版本中提供預覽版。 使用 Ubuntu 26.04 時,請指定 --os-sku Ubuntu2604。
備註
移轉至 --os-sku Ubuntu2604時,請記住下列資訊:
- 在建立或更新節點池到 Ubuntu 26.04 之前,先註冊
Ubuntu2604Preview功能旗標。 - Ubuntu 26.04 需要支援第二代虛擬機的虛擬機大小。
- Ubuntu 26.04 針對 AMD64 和 Arm64 使用最小化節點映像檔。
- FIPS、 機密虛擬機和 可信啟動 都不被支援。
- 你需要安裝並設定預覽版 Azure CLI 21.0.0b14 或更新版本。 若要尋找您的 CLI 版本,請執行
az --version。 若要安裝或升級,請參閱安裝 Azure CLI。
安裝 aks-preview Azure CLI 擴充功能
請使用
az extension add命令安裝aks-previewAzure CLI 擴充功能。az extension add --name aks-preview使用
az extension update指令更新擴充功能,以確保已安裝最新版本。az extension update --name aks-preview
在建立或更新節點池到 Ubuntu 26.04 之前,先在你的 Azure 訂閱中註冊Ubuntu2604Preview功能旗標。
註冊 Ubuntu2604Preview 功能旗標
使用
Ubuntu2604Preview指令註冊az feature register功能標誌。az feature register \ --namespace Microsoft.ContainerService \ --name Ubuntu2604Preview狀態需要幾分鐘的時間才會顯示「已註冊」。
請使用指令
az feature show確認註冊狀態。az feature show \ --namespace Microsoft.ContainerService \ --name Ubuntu2604Preview \ --query properties.state當狀態顯示為 已註冊 時,請使用 命令重新整理
az provider register資源提供者的註冊。az provider register --namespace Microsoft.ContainerService
將現有節點池更新到 Ubuntu 26.04
使用 --os-sku Ubuntu2604 指令,將現有節點集區更新至 az aks nodepool update。
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--os-sku Ubuntu2604 \
--name $NODE_POOL_NAME
復原您的 OS 版本
在支援多個作業系統版本的 Kubernetes 版本中,您可以使用命令 az aks nodepool update 復原至先前的作業系統版本。
在下列情況中,您可能想要回退作業系統版本:
- 如果您正在測試新的作業系統版本,並且遇到任何問題。
- 升級至預設支援新 OS 版本的 Kubernetes 版本之後,您可能想要復原至預設
UbuntuAzureLinux或 OS SKU。 這可讓您在 Kubernetes 升級過程中取得未來的作業系統版本,而不需要節點集區更新。
將 OS 版本復原至預設 OS SKU
您可以使用 az aks nodepool update 命令來更新現有節點集區上的 os-sku。 如果您的 Kubernetes 版本支援先前的作業系統版本,此功能可讓您復原作業系統版本。
備註
節點集區更新命令不支援下列值:
--os-sku Windows2022--os-sku Windows2025
改為使用你要使用的對應 --os-sku,將節點集區新增至叢集。 欲了解更多關於升級 Windows FIPS 節點池作業系統版本的資訊,請參閱升級 Windows OS 版本。
| 作業系統 SKU | 預設作業系統版本 |
|---|---|
| Ubuntu | 當您有 OS SKU Ubuntu時,如果您的 Kubernetes 版本為 1.25 到 1.34,則 Ubuntu 22.04 是預設的作業系統版本。 Ubuntu 24.04 是 Kubernetes 1.35 到 1.37 中 Ubuntu 的預設值。 |
| AzureLinux | 當您具備作業系統 SKU AzureLinux 時,在 Kubernetes 1.26 到 1.31 中,AzureLinux 的預設版本是 Azure Linux 2.0。 Azure Linux 3.0 是 Kubernetes 1.32 到 1.36 版本中 AzureLinux 的預設版本。 |
在現有節點集區上將您的 OS SKU 更新為 Ubuntu
更新節點集區以使用 OS SKU Ubuntu 時,您將根據 Kubernetes 版本取得預設的 OS 版本。 如果作業系統版本在節點集區更新命令期間變更,這可能會觸發自動重新映像。
使用 --os-sku Ubuntu 命令對現有節點集區上的 az aks nodepool update 進行更新。
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--os-sku Ubuntu \
--name $NODE_POOL_NAME
您可以使用命令 az aks nodepool update 在任何支援的 Linux os-sku之間移轉。 如果目標 OS 沒有受支援的節點映像適用於您的 Kubernetes 版本、VM 大小或 FIPS 啟用,則該命令可能會失敗。
在現有的節點池上將作業系統 SKU 更新為 Azure Linux
更新節點集區以使用 OS SKU AzureLinux 時,您將根據 Kubernetes 版本取得預設的 OS 版本。 如果作業系統版本在節點集區更新命令期間變更,這可能會觸發自動重新映像。
使用 --os-sku AzureLinux 命令對現有節點集區上的 az aks nodepool update 進行更新。
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--os-sku AzureLinux \
--name $NODE_POOL_NAME
後續步驟
若要深入瞭解 AKS 上的節點映射、節點集區升級和節點組態,請參閱下列資源:
- 若要瞭解節點和節點組態,請參閱 AKS 核心概念。
- 設定 自動節點映射升級, 並使用 計劃性維護來排程它們。
- 套用 自定義節點組態 以修改OS或 kubelet 設定。
- 有關最新節點映像檔的資訊,請參閱 AKS 發布說明。
- 自動套用 GitHub Actions 的叢集與節點池升級。
- 瞭解如何使用 AKS 修補程式和升級指引來升級最佳做法。