Dela via


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:

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. De associerade skalningsuppsättningarna för virtuella Azure-datorer innehåller virtuella datorer som har samma virtuella Gen1-dator.

Orsak 3: Klusteruppgraderad och ny nodpool som 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-nodbildsreferens 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 i klustret enligt följande riktlinjer.

Kubernetes-klusteruppgraderingsversion Riktlinjer för att skapa kluster
1.25 eller senare version När du kör az aks create kommandot för att skapa ett kluster anger du parametern --node-vm-size till storlek på en virtuell Gen2-dator.
Alla tidigare versioner än 1.25 När du kör az aks create kommandot för att skapa ett kluster anger du --os-sku parametervärdet till Windows2022och anger --node-vm-size parametervärdet till en storlek på en virtuell Gen2-dator.

Kommentar

Om du anger en storlek på en virtuell Gen2-dator och anger 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.

  • Innan du skapar en ny nodpool kontrollerar du att vm-storleken stöder virtuella Gen2-datorer i din region. Gör detta genom att köra az vm list-sizes --location <region> --query "[?contains(name, 'v2')].name" --output table.

  • Kör följande kommandon för att verifiera de aktuella och tillgängliga nodbildversionerna:

    • Så här kontrollerar du den aktuella versionen: az aks nodepool show --resource-group <resource-group> --cluster-name <cluster-name> --name <nodepool-name> --query nodeImageVersion
    • Så här kontrollerar du den senaste tillgängliga versionen: az aks nodepool get-upgrades --resource-group <resource-group> --cluster-name <cluster-name> --nodepool-name <nodepool-name> --query latestNodeImageVersion

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.