Usar pools de nós de Máquinas Virtuais (visualização) no Serviço Kubernetes do Azure (AKS)
Neste artigo, você aprenderá sobre o novo tipo de pool de nós de Máquinas Virtuais (visualização) para AKS.
Com pools de nós de Máquinas Virtuais, o AKS gerencia diretamente o provisionamento e a inicialização de cada nó. Para pools de nós de Conjuntos de Escala de Máquina Virtual, o AKS gerencia o modelo dos Conjuntos de Escala de Máquina Virtual e o usa para obter consistência em todos os nós no pool de nós. 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 pool de nós consiste em um conjunto de máquinas virtuais, onde diferentes tamanhos de máquinas virtuais são designados para dar suporte a 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 e contagem de máquinas virtuais. A ManualScaleProfile
é um perfil de escala que especifica o tamanho e a contagem de máquinas virtuais desejados. Apenas um tamanho de máquina virtual é permitido em um ManualScaleProfile
arquivo . Você precisa criar um separado ManualScaleProfile
para cada tamanho de máquina virtual em seu pool de nós.
Nota
Ao criar um novo pool de nós de Máquinas Virtuais, você precisa de pelo menos um ManualScaleProfile
no ScaleProfile
. Um pool de nós de Máquinas Virtuais pode ter vários perfis de escala manual.
Vantagens
As vantagens do tipo de pool de nós Máquinas Virtuais incluem:
- Flexibilidade: As especificações do nó podem ser atualizadas para se adaptarem à sua carga de trabalho e necessidades atuais.
- Controle ajustado: Os controles de nível de nó único permitem especificar e misturar nós de diferentes especificações para eliminar restrições de um único modelo e melhorar a consistência.
- Eficiência: Você pode reduzir o espaço ocupado pelo nó do 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 pools de nós de Máquinas Virtuais permitem configurar várias máquinas virtuais de família semelhante em um pool 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 pool 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 dimensionamento de máquina virtual | Você pode adicionar ou remover nós do mesmo tamanho e digitar um pool de nós. Se você adicionar um novo tamanho de máquina virtual ao cluster, precisará criar um novo pool de nós. |
Limitações
- Atualmente, não há suporte para o dimensionador automático de cluster.
- InifiniBand não está disponível.
- Não há suporte para pools de nós do Windows.
- Esse recurso não está disponível no portal do Azure. As APIs CLI ou REST do Azure devem ser usadas para executar operações CRUD ou gerenciar o pool.
- Não há suporte para instantâneo do pool de nós.
- Todos os tamanhos de VM selecionados em um pool de nós precisam ser de uma família de máquinas virtuais semelhante. 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 pools de nós de Máquinas Virtuais permitem até cinco tamanhos diferentes de máquinas virtuais por pool de nós.
Pré-requisitos
- Uma subscrição do Azure. Se não tiver uma, poderá criar uma conta gratuita.
- O recurso de pool de nós Máquinas Virtuais está em visualização. Esse recurso só está disponível com as versões de API 2023-10-02-preview e superiores, ou com as versões de extensão da CLI do Azure 2.61.0 ou superiores.
- Se estiver usando a CLI do Azure, registre a
aks-preview
extensão ou atualize a versão existenteaks-preview
para a versão mínima 4.0.0b4. - A versão secundária mínima de lançamento do Kubernetes necessária para esse recurso é a versão 1.26.
Instalar a extensão aks-preview da CLI do Azure
Importante
Os recursos de visualização do AKS estão disponíveis em uma base de autosserviço e opt-in. As visualizações prévias são fornecidas "como estão" e "conforme disponíveis" e são excluídas dos contratos de nível de serviço e da garantia limitada. As visualizações do AKS são parcialmente cobertas pelo suporte ao cliente com base no melhor esforço. Como tal, estas funcionalidades não se destinam a utilização em produção. Para obter mais informações, consulte os seguintes artigos de suporte:
Instale a extensão aks-preview usando o
az extension add
comando:az extension add --name aks-preview
Atualize para a versão mais recente da extensão aks-preview usando o
az extension update
comando.az extension update --name aks-preview
Registrar o sinalizador de VMsAgentPoolPreview
recurso
Selecione a assinatura onde você deseja habilitar o sinalizador de recurso usando o
az account set
comando.az account set --subscription <subscription-name>
Registre o
VMsAgentPoolPreview
sinalizador de recurso usando oaz feature registration create
comando.az feature registration create --namespace Microsoft.ContainerService --name VMsAgentPoolPreview
Leva alguns minutos para que o status mostre Registrado.
Verifique o status do registro usando o
az feature show
comando.az feature show --namespace "Microsoft.ContainerService" --name "VMsAgentPoolPreview"
Quando o status refletir Registrado, atualize o registro do provedor de recursos Microsoft.ContainerService usando o
az provider register
comando.az provider register --namespace "Microsoft.ContainerService"
Criar um cluster AKS com pools de nós de 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
az aks create
comando 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.28.5:
az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --vm-set-type "VirtualMachines" \ --node-count 2 \ --kubernetes-version 1.28.5
Adicionar um pool de nós de Máquinas Virtuais a um cluster existente
Adicione um pool de nós de Máquinas Virtuais a um cluster existente usando o
az aks nodepool add
comando com o sinalizador--vm-set-type
definido como"VirtualMachines"
.O exemplo a seguir adiciona um pool de nós de Máquinas Virtuais chamado myvmpool ao cluster myAKSCluster . O pool de nós tem três nós e um máximo de SKU de VM de Standard_D4s_v3:
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
sinalizador definido--vm-sizes
como"Standard_D2s_v3"
.O exemplo a seguir adiciona um perfil de escala manual ao pool 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 pool de nós usando o
az aks nodepool manual-scale update
comando com o sinalizador--vm-sizes
definido 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, você precisa passar um campo completoagentPoolProfiles.virtualMachinesProfile.scale
ao atualizar o perfil de escala do pool de nós.O exemplo a seguir atualiza um perfil de escala manual para o pool de nós myvmpool no cluster myAKSCluster . 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, passe em um campo completoagentPoolProfiles.virtualMachinesProfile.scale
.O exemplo a seguir exclui 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, você aprendeu como usar pools 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.
Azure Kubernetes Service