在 AKS 中升級作業系統版本

本文介紹 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 日 起,Azure Kubernetes Service (AKS) 不再支援或提供 Ubuntu 20.04 的安全更新。 所有現有的節點映像檔都會被刪除,且你無法擴展任何運行 Ubuntu 20.04 的節點池。 透過 將節點池升級 到 Kubernetes 的 1.35+ 版本,來遷移到受支援的 Ubuntu 版本。 欲了解更多退休資訊,請參閱 Retirement GitHub issue 及 Azure 更新退休公告 。 欲掌握最新公告與更新,請參考AKS發布說明。

這很重要

自 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 更新為 Ubuntu Kubernetes 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 版本。 遷移到新作業系統版本不需要手動更改。 使用 Ubuntu OS 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 擴充功能

  1. 請使用 az extension add 命令安裝 aks-preview Azure CLI 擴充功能。

    az extension add --name aks-preview
    
  2. 使用 az extension update 指令更新擴充功能,以確保已安裝最新版本。

    az extension update --name aks-preview
    

在建立或更新節點池到 Ubuntu 26.04 之前,先在你的 Azure 訂閱中註冊Ubuntu2604Preview功能旗標。

註冊 Ubuntu2604Preview 功能旗標

  1. 使用Ubuntu2604Preview指令註冊az feature register功能標誌。

    az feature register \
        --namespace Microsoft.ContainerService \
        --name Ubuntu2604Preview
    

    狀態需要幾分鐘的時間才會顯示「已註冊」。

  2. 請使用指令 az feature show 確認註冊狀態。

    az feature show \
        --namespace Microsoft.ContainerService \
        --name Ubuntu2604Preview \
        --query properties.state
    
  3. 當狀態顯示為 已註冊 時,請使用 命令重新整理 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 上的節點映射、節點集區升級和節點組態,請參閱下列資源: