叢集節點映射升級期間未升級至 Gen2 的 Windows Server 節點集區

本文討論如何針對在 Microsoft Azure Kubernetes Service (AKS) 中升級叢集節點映射時,Windows Server 節點集區不會從 Gen1 自動升級至 Gen2 虛擬機 (VM) 的案例進行疑難解答。

注意事項

此案例不適用於Linux節點集區上的 Gen2 VM。

必要條件

徵狀

當您在 Azure CLI 中使用下列其中一種方法 升級節點映射 時,現有的 Windows Server 節點集區不會從 Gen1 升級至 Gen2:

  • 使用 az aks upgrade 命令 (整個叢集升級)

  • 使用 az aks nodepool upgrade 命令 (特定的 nodepool 升級)

原因

原因 1:現有的 nodepool 不會自動升級至 Gen2 VM

根據設計,節點映射升級不支援更新或升級現有的節點集區。 和 az aks upgradeaz aks nodepool upgrade 命令只會將節點映射升級 (至更新的節點映射版本) 。 這些命令不會升級對應的 VM 產生。

原因 2:叢集升級至 Kubernetes 1.25 版或更新版本只會升級 OS

當您將叢集升級至 Kubernetes 1.25 版或更新版本時,只有作業系統 (OS) 會升級 (至 Windows Server 2022) 。 現有的 nodepool 不會受到影響。 相關聯的 VM 擴展集將包含具有相同 Gen1 VM 的 VM。

原因 3:叢集升級和使用 Windows Server 2022 建立的新節點集區,但未指定有效的 VM 大小

將叢集升級至 Kubernetes 1.25 版或更新版本之後,您可以將 Windows Server 2022 指定為要在節點集區 VM 上使用的 OS。 不過,VM 不會使用 Gen2 節點映像參考,因為下列其中一個原因:

  • 您未指定 VM 大小,且區域中的預設 VM 大小不支援 Gen2 VM。

  • 您可以指定僅限 Gen1 的 VM 大小。

當您將預設 OS 從 Windows Server 2019 (Windows2019) 升級至 Windows Server 2022 () Windows2022 時,現有的節點集區不會自動升級至不同的 VM 世代。

解決方案

升級叢集,然後根據下列指導方針,建立支援該叢集上 Gen2 VM 大小 的新 Windows Server nodepool。

Kubernetes 叢集升級版本 叢集建立指導方針
1.25 或更新版本 當您執行 az aks create 命令來建立叢集時,請將 參數設定 --node-vm-sizeGen2 VM 大小
早於 1.25 版 當您執行 az aks create 命令來建立叢集時,請將 參數值設定 --os-skuWindows2022,並將參數值設定 --node-vm-sizeGen2 VM 大小

注意事項

如果您將 Gen2 VM 大小和作業系統指定為 Windows Server 2019,您會收到 ErrorCode_Windows2019NotSupportedWithGen2VM 伴隨下列錯誤訊息的錯誤碼:

<virtual-machine-size> 是 Gen 2 專用 VM。 Windows2019 不支援第 2 代 VM。 不過,您可以選取第 1 代 VM 大小,或將os_sku設定為 2022。

若要避免這個問題,請在建立叢集時選擇下列其中一個選項:

  • 挑選要與 Windows Server 2019 搭配使用的 Gen1 VM 大小。

  • 將操作系統 SKU 設定為 Windows Server 2022 ,以與您的 Gen2 VM 搭配使用。

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以將產品意見反應提交給 Azure 意應見反社群