Usar máquinas virtuais de geração 2 no Serviço Kubernetes do Azure (AKS)

O Azure suporta máquinas virtuais (VMs) de Geração 2 (Gen 2). As VMs de 2ª geração suportam os principais recursos não suportados nas VMs de Geração 1 (Gen 1), incluindo aumento de memória, Intel Software Guard Extensions (Intel SGX) e memória persistente virtualizada (vPMEM).

As VMs de Geração 2 usam a nova arquitetura de inicialização baseada em UEFI em vez da arquitetura baseada em BIOS usada pelas VMs de Geração 1. Apenas SKUs e tamanhos específicos suportam VMs de Geração 2. Verifique a lista de tamanhos suportados para ver se o seu SKU suporta ou requer a Geração 2.

Além disso, nem todas as imagens de VM suportam VMs de Geração 2. No AKS, as VMs da Geração 2 usam a imagem do AKS Ubuntu 22.04 ou 18.04 ou a imagem do AKS Windows Server 2022. Estas imagens suportam todos os SKUs e tamanhos de Geração 2.

Comportamento padrão para tamanhos de vm suportados

Há três cenários ao criar um pool de nós com um tamanho de VM suportado:

  1. Se o tamanho da VM suportar apenas a Geração 1, o comportamento padrão para os pools de nós do Linux e do Windows é usar a imagem do nó da Geração 1.
  2. Se o tamanho da VM suportar apenas a Geração 2, o comportamento padrão para os pools de nós do Linux e do Windows é usar a imagem do nó da Geração 2.
  3. Se o tamanho da VM suportar a Geração 1 e a Geração 2, o comportamento padrão para Linux e Windows será diferente. O Linux usa a imagem do nó da Geração 2 e o Windows usa a imagem da Geração 1. Para usar a imagem do nó Geração 2, consulte Criar um pool de nós do Windows com uma VM de Geração 2.

Verifique os tamanhos de VM de 2ª geração disponíveis

Verifique os tamanhos de VM de Geração 2 disponíveis usando o az vm list-skus comando.

az vm list-skus --location <location> --size <vm-size> --output table

Criar um pool de nós com uma VM de Geração 2

Por padrão, o Linux usa a imagem do nó da Geração 2, a menos que o tamanho da VM não suporte a Geração 2.

Crie um pool de nós Linux com uma VM de Geração 2 usando o processo de criação do pool de nós padrão.

Atualizar um pool de nós existente para usar uma VM de Geração 2

Se você estiver usando um tamanho de VM que ofereça suporte apenas à Geração 1, poderá atualizar seu pool de nós para um tamanho de VM que ofereça suporte à Geração 2 usando o az aks nodepool update comando. Esta atualização altera a imagem do nó da Geração 1 para a Geração 2.

az aks nodepool update --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name> --vm-size <supported-generation-2-vm-size> --os-type Linux

Verifique se você está usando uma imagem de nó da Geração 2

Verifique a criação bem-sucedida de um pool de nós usando o az aks nodepool show comando e verifique se o nodeImageVersion contém gen2 na saída.

az aks nodepool show --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name>

Próximos passos

Para saber mais sobre VMs de Geração 2, consulte Suporte para VMs de Geração 2 no Azure.