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 l'errore "NodePoolMcVersionIncompatible - Pool di nodi versione 1.x.y e piano di controllo versione 1.a.b non compatibile" che si verifica quando si aggiorna un pool di nodi in un cluster del servizio Azure Kubernetes di Microsoft Azure.
Prerequisiti
Sintomi
Quando si aggiorna un pool di nodi in un cluster del servizio Azure Kubernetes, viene visualizzato uno dei messaggi di errore seguenti:
BadRequest - NodePoolMcVersionIncompatible
Errore: il pool di nodi versione 1.x.y e il piano di controllo versione 1.a.b non sono compatibili. La versione secondaria del pool di nodi non può essere inferiore di più di 2 versioni rispetto alla versione del piano di controllo. La versione secondaria del pool di nodi è x e quella del piano di controllo è a. Per altre informazioni, vedere https://aka.ms/version-skew-policy.
ID risorsa: /subscriptions/<subscription_id>/resourcegroups/<aks_cluster_resource_group>/providers/Microsoft.ContainerService/managedClusters/<aks_cluster_name>.
BadRequest - NodePoolMcVersionIncompatible
Errore: il pool di nodi versione 1.x.y e il piano di controllo versione 1.a.b non sono compatibili. La versione minore del pool di nodi x è superiore alla versione del piano di controllo a. Per altre informazioni, vedere https://aka.ms/version-skew-policy.
ID risorsa: /subscriptions/<subscription_id>/resourcegroups/<aks_cluster_resource_group>/providers/Microsoft.ContainerService/managedClusters/<aks_cluster_name>.
Motivo
Questi problemi si verificano se si tenta di aggiornare un pool di nodi arretrato di oltre due versioni rispetto alla versione del piano di controllo di AKS, o se si tenta di aggiungere un pool di nodi di una versione più recente rispetto al piano di controllo.
Quando si aggiorna un pool di nodi, è necessario soddisfare le condizioni seguenti:
La versione del pool di nodi non può essere maggiore del controllo <principale>.<minore>.<versione patch> .
La versione del pool di nodi deve trovarsi all'interno di due versioni secondarie della versione del piano di controllo.
Per ulteriori informazioni, vedere le regole di convalida di AKS per l'upgrade.
Soluzione 1: assicurarsi che la versione del pool di nodi si trova all'interno di due versioni secondarie della versione del piano di controllo
Ottenere la versione del piano di controllo eseguendo il comando az aks get-upgrades nell'interfaccia della riga di comando di Azure.
Di seguito è riportato un esempio di uso del comando . La
MasterVersioncolonna di output contiene la versione del control plane.az aks get-upgrades --resource-group aksrg --name testcluster1 --output tableName ResourceGroup MasterVersion Upgrades ------- --------------- --------------- ----------------------- default aksrg 1.23.12 1.23.15, 1.24.6, 1.24.9Aggiornare il pool di nodi eseguendo il comando az aks nodepool upgrade dell'interfaccia della riga di comando di Azure e specificare una versione di Kubernetes all'interno di due versioni secondarie della versione del piano di controllo.
Ad esempio, se la versione del piano di controllo è
1.23.12, è possibile specificare la versione Kubernetes del pool di nodi come1.23.8o1.23.12.Di seguito è riportato un esempio di uso del comando :
az aks nodepool upgrade \ --resource-group aksrg \ --cluster-name testcluster1 \ --name mynodepool \ --kubernetes-version 1.23.8 \ --no-wait
Soluzione 2: Assicurarsi che la versione del pool di nodi non sia maggiore della versione del piano di controllo
Ottenere la versione del piano di controllo eseguendo il comando az aks get-upgrades nell'interfaccia della riga di comando di Azure.
Di seguito è riportato un esempio di uso del comando . La
MasterVersioncolonna di output contiene la versione del control plane.az aks get-upgrades --resource-group aksrg --name testcluster1 --output tableName ResourceGroup MasterVersion Upgrades ------- --------------- --------------- ----------------------- default aksrg 1.23.12 1.23.15, 1.24.6, 1.24.9Aggiornare il pool di nodi eseguendo il comando az aks nodepool upgrade dell'interfaccia della riga di comando di Azure e fornire una versione di Kubernetes minore o uguale alla versione del piano di controllo.
Di seguito è riportato un esempio di uso del comando :
az aks nodepool upgrade \ --resource-group aksrg \ --cluster-name testcluster1 \ --name mynodepool \ --kubernetes-version 1.23.12 \ --no-wait
Contattaci per ricevere assistenza
In caso di domande, è possibile porre domande al supporto della community di Azure. È anche possibile inviare commenti e suggerimenti sul prodotto alla community di commenti e suggerimenti di Azure.