Windows Server-nodpooler har inte uppgraderats till Gen2 under uppgraderingen av klusternodavbildningen
I den här artikeln beskrivs hur du felsöker ett scenario där Windows Server-nodpooler inte uppgraderas automatiskt från virtuella Datorer i Gen1 till Gen2 när en klusternodavbildning uppgraderas i Microsoft Azure Kubernetes Service (AKS).
Kommentar
Det här scenariot gäller inte för virtuella Gen2-datorer i Linux-nodpooler.
Förutsättningar
Symptom
Befintliga Windows Server-nodpooler uppgraderas inte från Gen1 till Gen2 när du uppgraderar nodbilden med någon av följande metoder i Azure CLI:
En hel klusteruppgradering (med kommandot az aks upgrade )
En specifik nodepool-uppgradering (med hjälp av kommandot az aks nodepool upgrade )
Orsak
Orsak 1: Befintliga nodpooler uppgraderas inte automatiskt till virtuella Gen2-datorer
En nodbilduppgradering stöder inte uppdatering eller uppgradering av befintliga nodpooler. Kommandona az aks upgrade
och az aks nodepool upgrade
uppgraderar endast nodbilden (till en senare nodbildversion). Dessa kommandon uppgraderar inte motsvarande VM-generering.
Orsak 2: Klusteruppgradering till Kubernetes version 1.25 eller senare uppgraderar endast operativsystemet
När du uppgraderar klustret till Kubernetes version 1.25 eller senare uppgraderas endast operativsystemet (OS) (till Windows Server 2022). Befintliga nodpooler påverkas inte. Den associerade VM-skalningsuppsättningen innehåller virtuella datorer som har samma virtuella Gen1-dator.
Orsak 3: Klustret har uppgraderats och en ny nodpool har skapats med hjälp av Windows Server 2022 utan att ange en giltig VM-storlek
När du har uppgraderat klustret till Kubernetes version 1.25 eller senare anger du Windows Server 2022 som det operativsystem som ska användas på nodpoolens virtuella datorer. De virtuella datorerna använder dock inte en Gen2-nodbildreferens på grund av någon av följande orsaker:
Du anger ingen VM-storlek och standardstorleken för virtuella datorer i regionen stöder inte virtuella Gen2-datorer.
Du anger en storlek för endast Gen1-vm.
När du uppgraderar standardoperativsystemet från Windows Server 2019 (Windows2019
) till Windows Server 2022 (Windows2022
) uppgraderas inte de befintliga nodpoolerna automatiskt till en annan VM-generation.
Lösning
Uppgradera klustret och skapa sedan en ny Windows Server-nodpool som stöder Gen2 VM-storlekar på klustret enligt följande riktlinjer.
Kubernetes-klusteruppgraderingsversion | Riktlinjer för att skapa kluster |
---|---|
1.25 eller senare version | När du kör kommandot az aks create för att skapa ett kluster anger du parametern --node-vm-size till storlek på en virtuell Gen2-dator. |
Tidigare version än 1.25 | När du kör kommandot az aks create för att skapa ett kluster anger du --os-sku parametervärdet till Windows2022 och anger --node-vm-size parametervärdet till en vm-storlek för Gen2. |
Kommentar
Om du anger storleken på en virtuell Gen2-dator och operativsystemet som Windows Server 2019 får du en ErrorCode_Windows2019NotSupportedWithGen2VM
felkod som åtföljs av följande felmeddelande:
<virtual-machine-size> är en virtuell Gen 2-dator. Windows2019 stöder inte virtuella Gen 2-datorer. Du kan dock välja storlek på en virtuell Gen 1-dator eller ange os_sku till 2022.
Undvik det här problemet genom att välja något av följande alternativ när du skapar klustret:
Välj en storlek på en virtuell Gen1-dator som ska användas tillsammans med Windows Server 2019.
Ange operativsystemets SKU till Windows Server 2022 som ska användas tillsammans med din virtuella Gen2-dator.
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.