Partilhar via


Usar pools de nós de Máquinas Virtuais no Azure Kubernetes Service (AKS)

Neste artigo, você aprenderá sobre o novo tipo de pool de nós de Máquinas Virtuais para AKS.

Nos pools de nós de Máquinas Virtuais, o AKS gere diretamente o provisionamento e a configuração de cada nó. Para pools de nós de Conjuntos de Dimensionamento de Máquinas Virtuais, o AKS gere o modelo dos Conjuntos de Dimensionamento de Máquinas Virtuais e usa-o para garantir a consistência entre todos os nós do conjunto. Os pools de nós de Máquinas Virtuais permitem orquestrar seu cluster com máquinas virtuais que melhor se ajustam às suas cargas de trabalho individuais.

Descrição geral

Como funciona

Um grupo de nós consiste num conjunto de máquinas virtuais, em que diferentes tamanhos de máquinas virtuais são designados para suportar diferentes tipos de cargas de trabalho. Esses tamanhos de máquina virtual, conhecidos como SKUs, são categorizados em diferentes famílias que são otimizadas para fins específicos. Para obter mais informações, consulte SKUs de VM.

Para habilitar o dimensionamento de vários tamanhos de máquina virtual, o tipo de pool de nós Máquinas Virtuais usa um ScaleProfile que contém configurações que indicam como o pool de nós pode ser dimensionado, especificamente a lista desejada de tamanho de máquina virtual e a contagem de cada tamanho. A ManualScaleProfile é um perfil de escalonamento que especifica o tamanho desejado de máquina virtual e a contagem total desse tipo de máquina virtual no pool de nós. Apenas um tamanho de máquina virtual é permitido num ManualScaleProfile. Você precisa criar um separado ManualScaleProfile para cada tamanho de máquina virtual no seu pool de nós. Ao criar um novo pool de nós de Máquinas Virtuais, você adiciona um perfil de escala manual inicial para um tamanho de máquina virtual utilizando o campo vm-size e incluindo node-count, de acordo com as instruções abaixo. Você também pode adicionar perfis de escala manual adicionais seguindo as instruções para adicionar perfis de escala manual.

Nota

Ao criar um novo pool de nós de Máquinas Virtuais, você pode ter vários perfis de escala e precisa de pelo menos um perfil de escala manual em seu pool de nós.

Vantagens

As vantagens do tipo de pool de nós de Máquinas Virtuais incluem:

  • Flexibilidade: As especificações do nó podem ser atualizadas para se adaptarem à sua carga de trabalho e necessidades atuais.
  • Controlo afinado: Os controlos de nível de nó individual permitem especificar e misturar nós de diferentes especificações para aliviar restrições de um único modelo e melhorar a consistência.
  • Eficiência: Pode reduzir a pegada dos nós do seu cluster, simplificando os requisitos operacionais.

Os pools de nós de máquinas virtuais oferecem uma experiência melhor para cargas de trabalho dinâmicas e requisitos de alta disponibilidade. Os grupos de nós de Máquinas Virtuais permitem configurar várias máquinas virtuais da mesma família no mesmo grupo de nós. Sua carga de trabalho será agendada automaticamente nos recursos disponíveis que você configurar.

Comparação de funcionalidades

A tabela a seguir destaca como os pools de nós de Máquinas Virtuais se comparam aos pools de nós de Conjunto de Escala padrão.

Tipo de conjunto de nós Capacidades
Pool de nós de máquinas virtuais Você pode adicionar, remover ou atualizar nós em um pool de nós. Os tipos de máquinas virtuais podem ser qualquer máquina virtual do mesmo tipo de família (por exemplo, série D, série A, etc.).
Pool de nós baseado no conjunto de escalabilidade de máquina virtual Você pode adicionar ou remover nós do mesmo tamanho e digitar um pool de nós. Se for adicionado um novo tamanho de máquina virtual ao cluster, é necessário criar um novo grupo de nós.

Limitações

  • Atualmente, não há suporte para o dimensionador automático de cluster.
  • InifiniBand não está disponível.
  • O instantâneo do pool de nós não é suportado.
  • Todos os tamanhos de VM selecionados num pool de nós precisam ser de uma família de máquinas virtuais similar. Por exemplo, não é possível misturar um tipo de máquina virtual da série N com um tipo de máquina virtual da série D no mesmo pool de nós.
  • Os grupos de nós de Máquinas Virtuais permitem até cinco tamanhos diferentes de máquinas virtuais por grupo de nós.

Pré-requisitos

  • Uma subscrição do Azure. Se não tiver uma, poderá criar uma conta gratuita.
  • Azure CLI versão 2.73.0 ou posterior instalado e configurado. Para localizar a versão, execute az --version. Para obter mais informações sobre como instalar ou atualizar a CLI do Azure, consulte Instalar a CLI do Azure
  • Este recurso requer kubernetes versão 1.27 ou superior. Para atualizar sua versão do kubernetes, consulte Atualizar cluster AKS

Criar um cluster AKS com pools de nodos das Máquinas Virtuais

Nota

Apenas um tamanho de VM é permitido em um perfil de escala, e o limite máximo é de cinco perfis de escala de VM em geral para um pool de nós de Máquinas Virtuais.

  • Crie um cluster AKS com pools de nós de máquinas virtuais usando o comando az aks create com o sinalizador --vm-set-type definido como "VirtualMachines".

    O exemplo a seguir cria um cluster chamado myAKSCluster com um pool de nós de Máquinas Virtuais contendo dois nós, gera chaves SSH, define o SKU do balanceador de carga como padrão e define a versão do Kubernetes como 1.31.0:

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --vm-set-type "VirtualMachines" \
        --vm-sizes "Standard_D4s_v3" 
        --node-count 2 \
        --kubernetes-version 1.31.0
    

Criar um cluster ativado para Windows e um pool de nós de máquinas virtuais do Windows

Os pools de nós da Máquina Virtual estão disponíveis em clusters habilitados para Windows. O exemplo a seguir cria um cluster chamado myAKSCluster com um pool de nós de Máquinas Virtuais. Essas etapas criam um pool de sistemas Linux em primeiro lugar.

  1. Crie um nome de usuário para usar como credenciais de administrador para os nós do Windows Server em seu cluster. Os comandos a seguir solicitam um nome de usuário e o definem como WINDOWS_USERNAME para uso em um comando posterior.

    echo "Please enter the username to use as administrator credentials for Windows Server nodes on your cluster: " && read WINDOWS_USERNAME
    
  2. Crie uma senha para o nome de usuário de administrador que você criou na etapa anterior. A senha deve ter no mínimo 14 caracteres e atender aos requisitos de complexidade de senha do Windows Server.

    echo "Please enter the password to use as administrator credentials for Windows Server nodes on your cluster: " && read WINDOWS_PASSWORD
    
  3. Crie um cluster AKS com o Windows ativado e pools de nós do tipo Máquinas Virtuais, usando o comando az aks create com a flag --vm-set-type definida para "VirtualMachines".

    az aks create \ 
       --resource-group myResourceGroup \
       --name myAKSCluster \
       --node-count 2 \
       --enable-addons monitoring \
       --generate-ssh-keys \
       --windows-admin-username $WINDOWS_USERNAME \
       --windows-admin-password $WINDOWS_PASSWORD \
       --vm-set-type "VirtualMachines" \
       --network-plugin azure
    
  4. Adicione um pool de nós de Máquinas Virtuais a um cluster ativado para Windows existente usando o comando az aks nodepool add com o sinalizador --vm-set-type definido para "VirtualMachines". O exemplo a seguir adiciona um pool de nós de Máquinas Virtuais chamado npwin ao cluster myAKSCluster :

    az aks nodepool add
       --resource-group myResourceGroup \
       --cluster-name myAKSCluster \
       --os-type Windows \
       --name npwin \
       --vm-sizes "Standard_D2s_V3" \
       --node-count 1
       --vm-set-type "VirtualMachines"
    

Adicionar um pool de nós de Máquinas Virtuais a um cluster existente

  • Adicione um pool de Máquinas Virtuais a um cluster existente usando o comando az aks nodepool add com o parâmetro --vm-set-type definido para "VirtualMachines".

    O exemplo a seguir adiciona um pool de nós de Máquinas Virtuais chamado myvmpool ao cluster myAKSCluster . O agrupamento de nós cria um ManualScaleProfile com --vm-sizes definido como Standard_D4s_v3 e um --node-count de 3:

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myvmpool \
        --vm-set-type "VirtualMachines" \
        --vm-sizes "Standard_D4s_v3" \
        --node-count 3
    

Adicionar um perfil de escala manual a um pool de nós

  • Adicione um perfil de escala manual a um pool de nós usando o az aks nodepool manual-scale add com a flag --vm-sizes definida como "Standard_D2s_v3" e o node-count definido como 2.

    O exemplo a seguir adiciona um perfil de escala manual ao agrupamento de nós myvmpool no cluster myAKSCluster. O pool de nós inclui dois nós com uma SKU de VM de Standard_D2s_v3:

    az aks nodepool manual-scale add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myvmpool \
        --vm-sizes "Standard_D2s_v3" \
        --node-count 2
    

Atualizar um perfil de escala manual existente

  • Atualize um perfil de escala manual existente em um agrupamento de nós usando o comando az aks nodepool manual-scale update com a flag --vm-sizes definida como "Standard_D2s_v3".

    Nota

    Use o --current-vm-sizes parâmetro para especificar o tamanho do pool de nós existente que você deseja atualizar. Você pode atualizar --vm-sizes e/ou --node-count. Ao usar outras ferramentas ou APIs REST, é necessário passar o campo completo agentPoolProfiles.virtualMachinesProfile.scale ao atualizar o perfil de escala do pool de nós.

    O exemplo a seguir atualiza um perfil manual de escala do myvmpool pool de nós no myAKSCluster cluster. O comando atualiza o número de nós para cinco e altera a SKU da VM de Standard_D4s_v3 para Standard_D8s_v3:

    az aks nodepool manual-scale update \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myvmpool \
        --current-vm-sizes "Standard_D4s_v3" \
        --vm-sizes "Standard_D8s_v3" \
        --node-count 5
    

Excluir um perfil de escala manual

  • Exclua um perfil de escala manual existente usando o az aks nodepool manual-scale delete comando.

    Nota

    O --current-vm-sizes parâmetro especifica o tamanho do pool de nós existente a ser excluído. Ao usar outras ferramentas ou APIs REST para atualizar o perfil de escala do pool de nós, insira um campo completo agentPoolProfiles.virtualMachinesProfile.scale.

    O exemplo a seguir elimina o perfil de escala manual para o SKU de VM Standard_D8s_v3 no pool de nós myvmpool.

    az aks nodepool manual-scale delete \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myvmpool \
        --current-vm-sizes "Standard_D8s_v3"
    

Próximos passos

Neste artigo, aprendeste como usar conjuntos de nós de Máquinas Virtuais no AKS. Para saber mais sobre pools de nós no AKS, consulte Criar pools de nós.