Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
- Azure CLI version 2.0.81 eller senare. Se Installera Azure CLI för installationsinstruktioner.
 
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 (genom att använda kommandot
az aks upgrade)En specifik uppgradering av nodpoolen
az aks nodepool upgrade(med hjälp av kommandot)
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 
- Så här kontrollerar du den aktuella versionen: 
 
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.