Usar o modo de redução para excluir/desalocar nós no AKS (Serviço de Kubernetes do Azure)

Por padrão, as operações de expansão que são executadas manualmente ou pelo dimensionador automático do cluster exigem a alocação e o provisionamento de novos nós, e as operações de redução excluem nós. O modo de redução permite que você decida se deseja excluir ou desalocar os nós no cluster AKS (Serviço de Kubernetes do Azure) no momento da redução.

Quando uma VM do Azure estiver no estado Stopped (desalocado), você não será cobrado pelos recursos de computação da VM. No entanto, você ainda precisará pagar por quaisquer discos de SO e de armazenamento de dados anexados à VM. Isso também significa que as imagens de contêiner serão preservadas nesses nós. Para obter mais informações, consulte Estados e cobrança de Máquinas Virtuais do Azure. Esse comportamento permite velocidades de operação mais rápidas, uma vez que sua implantação utiliza imagens armazenadas em cache. O modo de redução remove a necessidade de provisionar nós previamente e extrair previamente imagens de contêiner, economizando o custo de computação.

Antes de começar

Aviso

Para preservar quaisquer VMs desalocadas, você deve definir o modo de redução para Desalocar. Isso inclui as VMs que foram desalocadas usando APIs de IaaS (APIs do conjunto de dimensionamento de máquinas virtuais). Definir o modo de redução para Excluir removerá quaisquer VMs desalocadas. Depois de aplicado o modo desalocado e a operação de redução vertical, esses nós se mantêm registrados no APIserver e aparecem como estado NotReady.

Este artigo considera que já existe um cluster do AKS. Se você não tiver um cluster do AKS, para obter diretrizes sobre como criar uma implementação em escala empresarial do AKS, consulte Planejar o design do AKS.

Limitações

  • Discos de SO efêmeros não têm suporte. Certifique-se de especificar os discos do sistema operacional gerenciado incluindo o argumento --node-osdisk-type Managed ao criar um cluster ou pool de nós.

Observação

Anteriormente, enquanto o modo de redução vertical estava na versão prévia, os pools de nós especiais não tinham suporte. Agora que o modo de redução vertical está disponível, essa limitação não se aplica mais.

Usar o modo de redução para desalocar nós na redução

Pela configuração --scale-down-mode Deallocate, os nós serão desalocados durante uma redução do seu pool de nós/cluster. Todos os nós desalocados são interrompidos. Quando o pool de nós/cluster precisar ser escalado verticalmente, os nós desalocados serão iniciados primeiro antes que quaisquer novos nós sejam provisionados.

Neste exemplo, criamos um novo pool de nós com 20 nós e especificamos que, na redução vertical, os nós devem ser desalocados usando o argumento --scale-down-mode Deallocate.

az aks nodepool add --node-count 20 --scale-down-mode Deallocate --node-osdisk-type Managed --max-pods 10 --name nodepool2 --cluster-name myAKSCluster --resource-group myResourceGroup

Ao dimensionar o pool de nós e alterar a contagem de nós para 5, iremos desalocar 15 nós.

az aks nodepool scale --node-count 5 --name nodepool2 --cluster-name myAKSCluster --resource-group myResourceGroup

Para desalocar nós do Windows durante a redução vertical, execute o comando a seguir. O comportamento padrão é consistente com nós do Linux, em que os nós são excluídos durante a redução vertical.

az aks nodepool add --node-count 20 --scale-down-mode Deallocate --os-type Windows --node-osdisk-type Managed --max-pods 10 --name npwin2 --cluster-name myAKSCluster --resource-group myResourceGroup

Excluir nós desalocados anteriormente

Para excluir seus nós desalocados, você pode alterar o modo de redução para Delete configurando --scale-down-mode Delete. Agora os 15 nós desalocados serão excluídos.

az aks nodepool update --scale-down-mode Delete --name nodepool2 --cluster-name myAKSCluster --resource-group myResourceGroup

Observação

Alterar o modo de redução de Deallocate para Delete e, em seguida, de volta para Deallocate, excluirá todos os nós desalocados e, ao mesmo tempo, manterá o pool de nós no modo de redução Deallocate.

Usar o modo de redução para excluir nós na redução

O comportamento padrão de AKS sem usar o modo de redução é excluir seus nós quando você reduz o cluster. Com o modo de redução, esse comportamento pode ser obtido explicitamente configurando --scale-down-mode Delete.

Neste exemplo, criamos um novo pool de nós e especificamos que nossos nós serão excluídos na redução vertical usando o argumento --scale-down-mode Delete. As operações de escala serão manipuladas usando o dimensionador automático do cluster.

az aks nodepool add --enable-cluster-autoscaler --min-count 1 --max-count 10 --max-pods 10 --node-osdisk-type Managed --scale-down-mode Delete --name nodepool3 --cluster-name myAKSCluster --resource-group myResourceGroup

Próximas etapas