Compartilhar via


Excluir um pool de nós do Serviço de Kubernetes do Azure (AKS)

Este artigo descreve a exclusão de pools de nós no Azure Kubernetes Service (AKS), incluindo o que ocorre quando você exclui um pool de nós e como realizar essa exclusão.

O que acontece quando você exclui um pool de nós?

Quando você exclui um pool de nós, os seguintes recursos são excluídos:

  • O conjunto de dimensionamento de máquinas virtuais (VMSS) e as máquinas virtuais (VMs) de cada nó no pool de nós
  • Todas as instâncias do nó no pool de nós, juntamente com os pods em execução nesses nós

Excluir um pool de nós

Importante

Lembre-se das seguintes informações ao excluir um pool de nós:

  • Você não pode recuperar um cluster depois que ele é excluído. Você precisa criar um novo pool de nós e reimplantar seus aplicativos.

Exclua um pool de nós usando o comando az aks nodepool delete.

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

Para verificar se o pool de nós foi excluído com sucesso, use o comando kubectl get nodes para confirmar se os nós no pool de nós não existem mais.

Ignorar os PDBs (PodDisruptionBudgets) ao remover um pool de nós existente

Se o cluster tiver PodDisruptionBudgets que estão impedindo a exclusão do pool de nós, você poderá ignorar os requisitos de PodDisruptionBudget definindo --ignore-pdb. Para saber mais sobre PodDisruptionBudgets, consulte:

  1. Exclua um pool de nós existente, sem seguir os PodDisruptionBudgets definidos no cluster, usando o comando az aks nodepool delete com o sinalizador --ignore-pdb.

    az aks nodepool delete \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name nodepool1 \
        --ignore-pdb
    
  2. Para verificar se o pool de nós foi excluído com sucesso, use o comando kubectl get nodes para confirmar se os nós no pool de nós não existem mais.

Remover VMs específicas em um pool de nós existente

Observação

Quando você exclui uma VM com esse comando, o AKS não executa isolamento e drenagem. Para minimizar a interrupção do reagendamento de pods atualmente em execução na VM que você planeja excluir, execute um isolamento e esvaziamento na VM antes de excluir. Você pode saber mais sobre como isolar e drenar usando o cenário de exemplo fornecido no tutorial sobre redimensionamento de pools de nós.

  1. Liste os nós existentes usando o comando kubectl get nodes.

    kubectl get nodes
    

    Seu resultado deve ser semelhante ao seguinte exemplo de saída:

    NAME                                 STATUS   ROLES   AGE   VERSION
    aks-mynodepool-20823458-vmss000000   Ready    agent   63m   v1.21.9
    aks-mynodepool-20823458-vmss000001   Ready    agent   63m   v1.21.9
    aks-mynodepool-20823458-vmss000002   Ready    agent   63m   v1.21.9
    
  2. Exclua as VMs especificadas usando o comando az aks nodepool delete-machines. Certifique-se de substituir os espaços reservados por seus próprios valores.

    az aks nodepool delete-machines \
        --resource-group <resource-group-name> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --machine-names <vm-name-1> <vm-name-2>
    
  3. Verifique se as VMs foram excluídas com êxito usando o comando kubectl get nodes.

    kubectl get nodes
    

    Sua saída não deve mais incluir as VMs especificadas no comando az aks nodepool delete-machines.

Próximas etapas

Para obter mais informações sobre como ajustar os tamanhos do pool de nós no AKS, consulte Redimensionar os pools de nós.