Nodepool di Windows Server non aggiornati a Gen2 durante l'aggiornamento dell'immagine del nodo del cluster
Questo articolo illustra come risolvere uno scenario in cui i nodepool di Windows Server non vengono aggiornati automaticamente dalle macchine virtuali Gen1 a Gen2 quando un'immagine del nodo del cluster viene aggiornata in Microsoft servizio Azure Kubernetes (servizio Azure Kubernetes).
Nota
Questo scenario non si applica alle macchine virtuali gen2 nei nodepool linux.
Prerequisiti
Sintomi
I nodepool 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:
Un intero aggiornamento del cluster (usando il comando az aks upgrade )
Aggiornamento di nodepool specifico (usando il comando az aks nodepool upgrade )
Causa
Causa 1: i pool di nodi esistenti non vengono aggiornati automaticamente alle macchine virtuali di seconda generazione
Per progettazione, l'aggiornamento di un'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. Il set di scalabilità di macchine virtuali associato conterrà macchine virtuali con la stessa macchina virtuale di prima generazione.
Causa 3: Aggiornamento del cluster e creazione di un nuovo pool di nodi tramite Windows Server 2022 senza specificare una dimensione valida della macchina virtuale
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 di una macchina virtuale e le dimensioni predefinite della macchina virtuale nell'area non supportano le macchine virtuali di seconda generazione.
Si specificano le dimensioni di una 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 macchine virtuali 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 di aggiornamento del cluster Kubernetes | Linee guida per la creazione di cluster |
---|---|
1.25 o versione successiva | Quando si esegue il comando az aks create per creare un cluster, impostare il --node-vm-size parametro su una dimensione di macchina virtuale gen2. |
Versione precedente alla 1.25 | Quando si esegue il comando az aks create per creare un cluster, impostare il valore Windows2022 del --os-sku parametro su e impostare il valore del --node-vm-size parametro su una dimensione di macchina virtuale gen2. |
Nota
Se si specificano le dimensioni di una macchina virtuale gen2 e il sistema operativo come Windows Server 2019, viene visualizzato un ErrorCode_Windows2019NotSupportedWithGen2VM
codice di errore accompagnato dal messaggio di errore seguente:
<virtual-machine-size> è una macchina virtuale di sola generazione 2. Windows2019 non supporta le macchine virtuali di seconda generazione. È tuttavia possibile selezionare le dimensioni di una 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 di seconda generazione.
Contattaci per ricevere assistenza
In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.