Les pools de nœuds Windows Server ne sont pas mis à niveau vers Gen2 pendant la mise à niveau de l’image de nœud de cluster
Cet article explique comment résoudre un scénario dans lequel les pools de nœuds Windows Server ne sont pas mis à niveau automatiquement de Gen1 vers des machines virtuelles Gen2 quand une image de nœud de cluster est mise à niveau dans Microsoft Azure Kubernetes Service (AKS).
Note
Ce scénario ne s’applique pas aux machines virtuelles Gen2 sur des pools de nœuds Linux.
Prerequisites
Symptômes
Les pools de nœuds Windows Server existants ne sont pas mis à niveau de Gen1 vers Gen2 lorsque vous mettez à niveau l’image de nœud à l’aide de l’une des méthodes suivantes dans Azure CLI :
Mise à niveau complète d’un cluster (à l’aide de la commande az aks upgrade )
Mise à niveau de nodepool spécifique (à l’aide de la commande az aks nodepool upgrade )
Cause
Cause 1 : Les pools de nœuds existants ne sont pas automatiquement mis à niveau vers des machines virtuelles Gen2
Par conception, une mise à niveau d’image de nœud ne prend pas en charge la mise à jour ou la mise à niveau des pools de nœuds existants. Les az aks upgrade
commandes et az aks nodepool upgrade
les commandes mettez à niveau uniquement l’image de nœud (vers une version ultérieure de l’image de nœud). Ces commandes ne mettez pas à niveau la génération de machine virtuelle correspondante.
Cause 2 : Mise à niveau du cluster vers Kubernetes version 1.25 ou une version ultérieure met à niveau uniquement le système d’exploitation
Lorsque vous mettez à niveau votre cluster vers Kubernetes version 1.25 ou ultérieure, seul le système d’exploitation est mis à niveau (vers Windows Server 2022). Les pools de nœuds existants ne sont pas affectés. Le groupe de machines virtuelles identiques associé contient des machines virtuelles qui ont la même machine virtuelle Gen1.
Cause 3 : Mise à niveau du cluster et nouveau pool de nœuds créé à l’aide de Windows Server 2022 sans spécifier de taille de machine virtuelle valide
Après avoir mis à niveau le cluster vers Kubernetes version 1.25 ou ultérieure, vous spécifiez Windows Server 2022 comme système d’exploitation à utiliser sur les machines virtuelles du pool de nœuds. Toutefois, les machines virtuelles n’utilisent pas de référence d’image de nœud Gen2 pour l’une des raisons suivantes :
Vous ne spécifiez pas de taille de machine virtuelle et la taille de machine virtuelle par défaut dans la région ne prend pas en charge les machines virtuelles Gen2.
Vous spécifiez une taille de machine virtuelle Gen1 uniquement.
Lorsque vous mettez à niveau le système d’exploitation par défaut de Windows Server 2019 (Windows2019
) vers Windows Server 2022 (Windows2022
), les pools de nœuds existants ne sont pas automatiquement mis à niveau vers une autre génération de machine virtuelle.
Solution
Mettez à niveau le cluster, puis créez un nouveau pool de nœuds Windows Server qui prend en charge les tailles de machine virtuelle Gen2 sur ce cluster en fonction des instructions suivantes.
Version de mise à niveau du cluster Kubernetes | Recommandations en matière de création de cluster |
---|---|
1.25 ou une version ultérieure | Lorsque vous exécutez la commande az aks create pour créer un cluster, définissez le --node-vm-size paramètre sur une taille de machine virtuelle Gen2. |
Version antérieure à la version 1.25 | Lorsque vous exécutez la commande az aks create pour créer un cluster, définissez la valeur Windows2022 du --os-sku paramètre sur , puis définissez la valeur du --node-vm-size paramètre sur une taille de machine virtuelle Gen2. |
Note
Si vous spécifiez une taille de machine virtuelle Gen2 et le système d’exploitation comme Windows Server 2019, vous recevez un ErrorCode_Windows2019NotSupportedWithGen2VM
code d’erreur accompagné du message d’erreur suivant :
<la taille> de la machine virtuelle est une machine virtuelle gen 2 uniquement. Windows2019 ne prend pas en charge les machines virtuelles Gen 2. Toutefois, vous pouvez sélectionner une taille de machine virtuelle Gen1 ou définir os_sku sur 2022.
Pour éviter ce problème, choisissez l’une des options suivantes lorsque vous créez le cluster :
Choisissez une taille de machine virtuelle Gen1 à utiliser avec Windows Server 2019.
Définissez la référence SKU du système d’exploitation sur Windows Server 2022 à utiliser avec votre machine virtuelle Gen2.
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.