Nós do Windows Server não são atualizados para o Gen2 durante a atualização da imagem do nó de cluster

Este artigo discute como solucionar problemas de um cenário em que os nós do Windows Server não são atualizados automaticamente das VMs (máquinas virtuais) Gen1 para Gen2 quando uma imagem de nó de cluster é atualizada no Microsoft Serviço de Kubernetes do Azure (AKS).

Observação

Esse cenário não se aplica às VMs Gen2 em nós do Linux.

Pré-requisitos

Sintomas

Os nós existentes do Windows Server não são atualizados do Gen1 para o Gen2 quando você atualiza a imagem do nó usando um dos seguintes métodos na CLI do Azure:

Motivo

Causa 1: os nós existentes não são atualizados automaticamente para VMs gen2

Por design, uma atualização de imagem de nó não dá suporte à atualização ou atualização de nós existentes. Os az aks upgrade comandos e az aks nodepool upgrade atualizam apenas a imagem do nó (para uma versão de imagem de nó posterior). Esses comandos não atualizam a geração de VM correspondente.

Causa 2: a atualização do cluster para o Kubernetes versão 1.25 ou uma versão posterior atualiza apenas o sistema operacional

Quando você atualiza seu cluster para o Kubernetes versão 1.25 ou uma versão posterior, apenas o sistema operacional (sistema operacional) é atualizado (para o Windows Server 2022). Os nós existentes não são afetados. O conjunto de dimensionamento de VM associado conterá VMs que têm a mesma VM Gen1.

Causa 3: cluster atualizado e novo nodepool criado usando o Windows Server 2022 sem especificar um tamanho de VM válido

Depois de atualizar o cluster para o Kubernetes versão 1.25 ou uma versão posterior, especifique o Windows Server 2022 como o sistema operacional a ser usado nas VMs do nodepool. No entanto, as VMs não usam uma referência de imagem de nó Gen2 devido a um dos seguintes motivos:

  • Você não especifica um tamanho de VM e o tamanho padrão da VM na região não dá suporte a VMs Gen2.

  • Você especifica um tamanho de VM somente Gen1.

Quando você atualiza o sistema operacional padrão do Windows Server 2019 (Windows2019) para o Windows Server 2022 (Windows2022), os nós existentes não são atualizados automaticamente para uma geração de VM diferente.

Solução

Atualize o cluster e crie um novo nodepool do Windows Server que dê suporte aos tamanhos da VM Gen2 nesse cluster de acordo com as diretrizes a seguir.

Versão de atualização do cluster do Kubernetes Diretrizes de criação de cluster
1.25 ou uma versão posterior Ao executar o comando az aks create para criar um cluster, defina o --node-vm-size parâmetro como um tamanho de VM Gen2.
Versão anterior de 1.25 Ao executar o comando az aks create para criar um cluster, defina o valor do --os-sku parâmetro como Windows2022e defina o valor do --node-vm-size parâmetro como um tamanho de VM Gen2.

Observação

Se você especificar um tamanho de VM Gen2 e o sistema operacional como Windows Server 2019, receberá um ErrorCode_Windows2019NotSupportedWithGen2VM código de erro acompanhado da seguinte mensagem de erro:

<O tamanho> da máquina virtual é uma VM somente Gen 2. O Windows2019 não dá suporte a VMs gen 2. No entanto, você pode selecionar um tamanho de VM gen 1 ou definir os_sku para 2022.

Para evitar esse problema, escolha uma das seguintes opções ao criar o cluster:

  • Escolha um tamanho de VM gen1 para usar junto com o Windows Server 2019.

  • Defina o SKU do sistema operacional como Windows Server 2022 para usar junto com sua VM Gen2.

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.