Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come risolvere uno scenario in cui i pool di nodi di Windows Server non vengono aggiornati automaticamente dalle macchine virtuali Gen1 alle macchine virtuali Gen2 quando un'immagine del nodo del cluster viene aggiornata nel servizio Azure Kubernetes.
Annotazioni
Questo scenario non si applica alle macchine virtuali gen2 nei pool di nodi Linux.
Prerequisiti
- CLI di Azure versione 2.0.81 o successiva. Per istruzioni sull'installazione, vedere Installare l'interfaccia della riga di comando di Azure .
Sintomi
I pool di nodi di Windows Server esistenti non vengono aggiornati da Gen1 a Gen2 quando si aggiorna l'immagine del nodo usando uno dei metodi seguenti nell'interfaccia della riga di comando di Azure:
Aggiornamento di un intero cluster (usando il
az aks upgradecomando )Un aggiornamento specifico del pool di nodi (usando il
az aks nodepool upgradecomando )
Causa
Causa 1: i pool di nodi esistenti non vengono aggiornati automaticamente alle macchine virtuali gen2
Per impostazione predefinita, un aggiornamento dell'immagine del nodo non supporta l'aggiornamento o l'aggiornamento dei pool di nodi esistenti. I az aks upgrade comandi e az aks nodepool upgrade aggiornano solo l'immagine del nodo (a una versione successiva dell'immagine del nodo). Questi comandi non aggiornano la generazione di macchine virtuali corrispondente.
Causa 2: l'aggiornamento del cluster a Kubernetes versione 1.25 o successiva aggiorna solo il sistema operativo
Quando si aggiorna il cluster a Kubernetes versione 1.25 o successiva, viene aggiornato solo il sistema operativo (a Windows Server 2022). I pool di nodi esistenti non sono interessati. I set di scalabilità di macchine virtuali di Azure associati contengono macchine virtuali con la stessa macchina virtuale Gen1.
Causa 3: Cluster aggiornato e nuovo pool di nodi creato usando Windows Server 2022 senza specificare una dimensione di macchina virtuale valida
Dopo aver aggiornato il cluster a Kubernetes versione 1.25 o successiva, specificare Windows Server 2022 come sistema operativo da usare nelle macchine virtuali del pool di nodi. Tuttavia, le macchine virtuali non usano un riferimento all'immagine del nodo Gen2 per uno dei motivi seguenti:
Non si specificano le dimensioni della macchina virtuale e le dimensioni predefinite della macchina virtuale nell'area non supportano le macchine virtuali gen2.
Specificare le dimensioni della macchina virtuale solo Gen1.
Quando si aggiorna il sistema operativo predefinito da Windows Server 2019 (Windows2019) a Windows Server 2022 (Windows2022), i pool di nodi esistenti non vengono aggiornati automaticamente a una generazione di vm diversa.
Soluzione
Aggiornare il cluster e quindi creare un nuovo pool di nodi di Windows Server che supporti le dimensioni delle macchine virtuali gen2 in tale cluster in base alle linee guida seguenti.
| Versione dell'aggiornamento del cluster Kubernetes | Linee guida per la creazione di cluster |
|---|---|
| 1.25 o versione successiva | Quando si esegue il az aks create comando per creare un cluster, impostare il --node-vm-size parametro su una dimensione di macchina virtuale Gen2. |
| Qualsiasi versione precedente alla 1.25 | Quando si esegue il az aks create comando per creare un cluster, impostare il valore del --os-sku parametro su Windows2022e impostare il valore del --node-vm-size parametro su una dimensione di macchina virtuale Gen2. |
Annotazioni
Se si specificano le dimensioni di una macchina virtuale gen2 e si imposta il sistema operativo su Windows Server 2019, viene visualizzato un ErrorCode_Windows2019NotSupportedWithGen2VM codice di errore accompagnato dal messaggio di errore seguente:
<le dimensioni della> macchina virtuale sono una macchina virtuale di sola generazione. Windows2019 non supporta macchine virtuali di seconda generazione. È tuttavia possibile selezionare una dimensione di macchina virtuale di prima generazione o impostare os_sku su 2022.
Per evitare questo problema, scegliere una delle opzioni seguenti quando si crea il cluster:
Selezionare le dimensioni di una macchina virtuale gen1 da usare insieme a Windows Server 2019.
Impostare lo SKU del sistema operativo su Windows Server 2022 da usare insieme alla macchina virtuale Gen2.
Prima di creare un nuovo pool di nodi, verificare che le dimensioni della macchina virtuale supportino le macchine virtuali Gen2 nell'area. A tale scopo, eseguire
az vm list-sizes --___location <region> --query "[?contains(name, 'v2')].name" --output table.Per verificare le versioni correnti e disponibili dell'immagine del nodo, eseguire i comandi seguenti:
- Per controllare la versione corrente:
az aks nodepool show --resource-group <resource-group> --cluster-name <cluster-name> --name <nodepool-name> --query nodeImageVersion - Per verificare la versione più recente disponibile:
az aks nodepool get-upgrades --resource-group <resource-group> --cluster-name <cluster-name> --nodepool-name <nodepool-name> --query latestNodeImageVersion
- Per controllare la versione corrente:
Contattaci per ricevere assistenza
In caso di domande, è possibile porre domande al supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.