Windows Server-Knotenpools, die während des Upgrades des Clusterknotenimages nicht auf Gen2 aktualisiert wurden
In diesem Artikel wird erläutert, wie Sie probleme mit einem Szenario beheben, in dem Windows Server-Knotenpools nicht automatisch von Gen1 auf virtuelle Gen2-Computer (VMs) aktualisiert werden, wenn ein Clusterknotenimage in Microsoft Azure Kubernetes Service (AKS) aktualisiert wird.
Notiz
Dieses Szenario gilt nicht für Gen2-VMs auf Linux-Knotenpools.
Voraussetzungen
Symptome
Vorhandene Windows Server-Knotenpools werden nicht von Gen1 auf Gen2 aktualisiert, wenn Sie das Knotenimage mithilfe einer der folgenden Methoden in Azure CLI aktualisieren:
Ein vollständiges Clusterupgrade (mithilfe des Befehls "az aks upgrade ")
Ein bestimmtes Nodepool-Upgrade (mithilfe des Befehls "az aks nodepool upgrade ")
Ursache
Ursache 1: Vorhandene Knotenpools werden nicht automatisch auf VMs der Gen2 aktualisiert.
Standardmäßig unterstützt ein Knotenimageupgrade das Aktualisieren oder Aktualisieren vorhandener Knotenpools nicht. Die az aks upgrade
Befehle az aks nodepool upgrade
aktualisieren nur das Knotenimage (auf eine spätere Knotenbildversion). Diese Befehle aktualisieren nicht die entsprechende VM-Generation.
Ursache 2: Clusterupgrade auf Kubernetes, Version 1.25 oder höher, aktualisiert nur das Betriebssystem
Wenn Sie ihr Cluster auf Kubernetes, Version 1.25 oder höher, aktualisieren, wird nur das Betriebssystem (Betriebssystem) aktualisiert (auf Windows Server 2022). Vorhandene Knotenpools sind nicht betroffen. Der zugeordnete VM-Skalierungssatz enthält VMs mit demselben Gen1-virtuellen Computer.
Ursache 3: Clusterupgrade und neuer Knotenpool, der mit Windows Server 2022 erstellt wurde, ohne eine gültige VM-Größe anzugeben
Nachdem Sie den Cluster auf Kubernetes Version 1.25 oder eine höhere Version aktualisiert haben, geben Sie Windows Server 2022 als Betriebssystem an, das auf den VMs des Knotenpools verwendet werden soll. Die virtuellen Computer verwenden jedoch keinen Gen2-Knotenimageverweis aus einem der folgenden Gründe:
Sie geben keine VM-Größe an, und die Standardgröße des virtuellen Computers in der Region unterstützt keine Gen2-VMs.
Sie geben eine Gen1-only VM-Größe an.
Wenn Sie das Standardbetriebssystem von Windows Server 2019 (Windows2019
) auf Windows Server 2022 () aktualisieren,Windows2022
werden die vorhandenen Knotenpools nicht automatisch auf eine andere VM-Generation aktualisiert.
Lösung
Aktualisieren Sie den Cluster, und erstellen Sie dann einen neuen Windows Server-Knotenpool, der gen2 VM-Größen auf diesem Cluster gemäß den folgenden Richtlinien unterstützt.
Kubernetes-Clusterupgradeversion | Richtlinien für die Clustererstellung |
---|---|
1.25 oder eine höhere Version | Wenn Sie den Befehl "az aks create " ausführen, um einen Cluster zu erstellen, legen Sie den --node-vm-size Parameter auf eine Gen2-VM-Größe fest. |
Frühere Version als 1.25 | Wenn Sie den Befehl "az aks create " ausführen, um einen Cluster zu erstellen, legen Sie den --os-sku Parameterwert auf Windows2022 , und legen Sie den --node-vm-size Parameterwert auf eine Gen2-VM-Größe fest. |
Notiz
Wenn Sie eine Gen2-VM-Größe und das Betriebssystem als Windows Server 2019 angeben, erhalten Sie einen ErrorCode_Windows2019NotSupportedWithGen2VM
Fehlercode, der von der folgenden Fehlermeldung begleitet wird:
<Virtual-machine-size> ist eine vm der Generation 2. Windows2019 unterstützt keine VMs der Generation 2. Sie können jedoch eine VM-Größe der Generation 1 auswählen oder os_sku auf 2022 festlegen.
Um dieses Problem zu vermeiden, wählen Sie beim Erstellen des Clusters eine der folgenden Optionen aus:
Wählen Sie eine Gen1-VM-Größe aus, die zusammen mit Windows Server 2019 verwendet werden soll.
Legen Sie die SKU des Betriebssystems auf Windows Server 2022 fest, um sie zusammen mit Ihrer Gen2-VM zu verwenden.
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.