叢集節點映射升級期間未升級至 Gen2 的 Windows Server 節點集區
本文討論如何在 Azure Kubernetes Service (AKS) 中升級叢集節點 Microsoft映射時,將 Windows Server 節點集區自動從 Gen1 升級至 Gen2 虛擬機 (VM) 的案例進行疑難解答。
注意
此案例不適用於Linux節點集區上的 Gen2 VM。
必要條件
徵兆
當您 在 Azure CLI 中使用下列其中一種方法升級節點映射 時,現有的 Windows Server 節點集區不會從 Gen1 升級至 Gen2:
整個叢集升級 (使用 az aks upgrade 命令)
特定 nodepool 升級 (使用 az aks nodepool upgrade 命令)
原因
原因 1:現有的節點集區不會自動升級至 Gen2 VM
根據設計,節點映射升級不支援更新或升級現有的 nodepools。 az aks upgrade
和 az aks nodepool upgrade
命令只會升級節點映像(至更新的節點映像版本)。 這些命令不會升級對應的 VM 產生。
原因 2:叢集升級至 Kubernetes 1.25 版或更新版本只會升級 OS
當您將叢集升級至 Kubernetes 1.25 版或更新版本時,只會將操作系統 (OS) 升級至 Windows Server 2022。 現有的節點集區不會受到影響。 相關聯的 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 世代。
解決方案
升級叢集,然後根據下列指導方針,建立新的 Windows Server 節點集區,以支援 該叢集上的 Gen2 VM 大小 。
Kubernetes 叢集升級版本 | 叢集建立指導方針 |
---|---|
1.25 或更新版本 | 當您執行 az aks create 命令來建立叢集時,請將 --node-vm-size 參數設定為 Gen2 VM 大小。 |
1.25 之前的版本 | 當您執行 az aks create 命令來建立叢集時,請將 --os-sku 參數值設定為 Windows2022 ,並將參數值設定 --node-vm-size 為 Gen2 VM 大小。 |
注意
如果您將 Gen2 VM 大小和作業系統指定為 Windows Server 2019,您會收到 ErrorCode_Windows2019NotSupportedWithGen2VM
錯誤碼,並出現下列錯誤訊息:
<虛擬機大小> 是僅限第 2 代 VM。 Windows2019 不支援第 2 代 VM。 不過,您可以選取 Gen 1 VM 大小,或將os_sku設定為 2022。
若要避免此問題,請在建立叢集時選擇下列其中一個選項:
挑選要與 Windows Server 2019 搭配使用的 Gen1 VM 大小。
將操作系統 SKU 設定為 Windows Server 2022 ,以與您的 Gen2 VM 搭配使用。
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。