Grupos de nodos de Windows Server no actualizados a Gen2 durante la actualización de la imagen de nodo del clúster

En este artículo se describe cómo solucionar un escenario en el que los grupos de nodos de Windows Server no se actualizan automáticamente de Máquinas virtuales (VM) Gen1 a Gen2 cuando se actualiza una imagen de nodo de clúster en Microsoft Azure Kubernetes Service (AKS).

Nota:

Este escenario no se aplica a las máquinas virtuales Gen2 en grupos de nodos linux.

Requisitos previos

Síntomas

Los grupos de nodos de Windows Server existentes no se actualizan de Gen1 a Gen2 al actualizar la imagen de nodo mediante uno de los métodos siguientes en la CLI de Azure:

Causa

Causa 1: Los grupos de nodos existentes no se actualizan automáticamente a máquinas virtuales Gen2

Por diseño, una actualización de imagen de nodo no admite la actualización o actualización de grupos de nodos existentes. Los az aks upgrade comandos y az aks nodepool upgrade actualizan solo la imagen de nodo (a una versión posterior de la imagen de nodo). Esos comandos no actualizan la generación de máquina virtual correspondiente.

Causa 2: La actualización del clúster a kubernetes versión 1.25 o una versión posterior actualiza solo el sistema operativo.

Al actualizar el clúster a kubernetes versión 1.25 o una versión posterior, solo se actualiza el sistema operativo (SO) (a Windows Server 2022). Los grupos de nodos existentes no se ven afectados. El conjunto de escalado de máquinas virtuales asociado contendrá máquinas virtuales que tengan la misma máquina virtual Gen1.

Causa 3: Clúster actualizado y nuevo grupo de nodos creado mediante Windows Server 2022 sin especificar un tamaño de máquina virtual válido

Después de actualizar el clúster a kubernetes versión 1.25 o una versión posterior, especifique Windows Server 2022 como el sistema operativo que se usará en las máquinas virtuales del grupo de nodos. Sin embargo, las máquinas virtuales no usan una referencia de imagen de nodo Gen2 debido a una de las siguientes razones:

  • No especifica un tamaño de máquina virtual y el tamaño de máquina virtual predeterminado de la región no admite máquinas virtuales Gen2.

  • Especifique un tamaño de máquina virtual de solo Gen1.

Al actualizar el sistema operativo predeterminado de Windows Server 2019 (Windows2019) a Windows Server 2022 (Windows2022), los grupos de nodos existentes no se actualizan automáticamente a otra generación de máquinas virtuales.

Solución

Actualice el clúster y, a continuación, cree un nuevo grupo de nodos de Windows Server que admita tamaños de máquina virtual Gen2 en ese clúster según las siguientes directrices.

Versión de actualización del clúster de Kubernetes Directrices para la creación de clústeres
1.25 o una versión posterior Al ejecutar el comando az aks create para crear un clúster, establezca el --node-vm-size parámetro en un tamaño de máquina virtual Gen2.
Versión anterior a la 1.25 Al ejecutar el comando az aks create para crear un clúster, establezca el valor Windows2022del --os-sku parámetro en y establezca el valor del --node-vm-size parámetro en un tamaño de máquina virtual Gen2.

Nota:

Si especifica un tamaño de máquina virtual Gen2 y el sistema operativo como Windows Server 2019, recibirá un ErrorCode_Windows2019NotSupportedWithGen2VM código de error que va acompañado del siguiente mensaje de error:

<el tamaño> de máquina virtual es una máquina virtual de solo Gen 2. Windows2019 no admite máquinas virtuales gen 2. Sin embargo, puede seleccionar un tamaño de máquina virtual gen 1 o establecer os_sku en 2022.

Para evitar este problema, elija una de las siguientes opciones al crear el clúster:

  • Elija un tamaño de máquina virtual Gen1 para usarlo junto con Windows Server 2019.

  • Establezca la SKU del sistema operativo en Windows Server 2022 para usarla junto con la máquina virtual Gen2.

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.