Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment résoudre l’erreur « NodePoolMcVersionIncompatible - Node pool version 1.x.y et plan de contrôle version 1.a.b incompatible » qui se produit lorsque vous mettez à niveau un pool de nœuds dans un cluster Microsoft Azure Kubernetes Service (AKS).
Conditions préalables
Symptômes
Lorsque vous mettez à niveau un pool de nœuds dans un cluster AKS, vous recevez l’un des messages d’erreur suivants :
BadRequest - NodePoolMcVersionIncompatible
Erreur : Le pool de nœuds version 1.x.y et le plan de contrôle version 1.a.b sont incompatibles. La version mineure du pool de nœuds ne peut pas être inférieure de plus de 2 versions par rapport à celle du plan de contrôle. La version mineure du pool de nœuds est x et le plan de contrôle est un. Pour plus d’informations, consultez https://aka.ms/version-skew-policy.
ID de ressource : /subscriptions/<subscription_id>/resourcegroups/<aks_cluster_resource_group>/providers/Microsoft.ContainerService/managedClusters/<aks_cluster_name>.
BadRequest - NodePoolMcVersionIncompatible
Erreur : Le pool de nœuds version 1.x.y et le plan de contrôle version 1.a.b sont incompatibles. La version mineure du pool de nœuds x est supérieure à la version du plan de contrôle a. Pour plus d’informations, consultez https://aka.ms/version-skew-policy.
ID de ressource : /subscriptions/<subscription_id>/resourcegroups/<aks_cluster_resource_group>/providers/Microsoft.ContainerService/managedClusters/<aks_cluster_name>.
La cause
Ces problèmes se produisent si vous essayez de mettre à niveau un pool de nœuds qui est supérieur à deux versions derrière la version du plan de contrôle AKS, ou si vous essayez d’ajouter un pool de nœuds situé à une version plus récente que la version du plan de contrôle.
Vous devez respecter les conditions suivantes lorsque vous mettez à niveau un pool de nœuds :
La version du pool de nœuds ne peut pas être supérieure à la principale< du contrôle>.<mineure>.<version corrective>.
La version du pool de nœuds doit se trouver dans deux versions mineures de la version du plan de contrôle.
Pour plus d’informations, consultez les règles de validation AKS pour la mise à niveau.
Solution 1 : Assurez-vous que la version du pool de nœuds se trouve dans un intervalle de deux versions mineures de celle du plan de contrôle.
Obtenez la version du plan de contrôle en exécutant la commande az aks get-upgrades dans Azure CLI.
Voici un exemple d’utilisation de la commande. La
MasterVersioncolonne de sortie contient la version du plan de contrôle.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.9Mettez à niveau le pool de nœuds en exécutant la commande Azure CLI az aks nodepool et fournissez une version Kubernetes qui se trouve dans deux versions mineures de la version du plan de contrôle.
Par exemple, si la version du plan de contrôle est
1.23.12, vous pouvez spécifier la version Kubernetes du pool de nœuds en tant que1.23.8ou1.23.12.Voici un exemple d’utilisation de la commande :
az aks nodepool upgrade \ --resource-group aksrg \ --cluster-name testcluster1 \ --name mynodepool \ --kubernetes-version 1.23.8 \ --no-wait
Solution 2 : Vérifiez que la version du pool de nœuds n’est pas supérieure à la version du plan de contrôle
Obtenez la version du plan de contrôle en exécutant la commande az aks get-upgrades dans Azure CLI.
Voici un exemple d’utilisation de la commande. La
MasterVersioncolonne de sortie contient la version du plan de contrôle.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.9Mettez à niveau le pool de nœuds en exécutant la commande Azure CLI az aks nodepool et fournissez une version Kubernetes inférieure ou égale à la version du plan de contrôle.
Voici un exemple d’utilisation de la commande :
az aks nodepool upgrade \ --resource-group aksrg \ --cluster-name testcluster1 \ --name mynodepool \ --kubernetes-version 1.23.12 \ --no-wait