Partilhar via


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

Este artigo descreve a eliminação de pools de nós no Serviço Kubernetes do Azure (AKS), incluindo o que acontece quando se elimina um pool de nós e como eliminar um pool de nós.

O que acontece quando se elimina um pool de nós?

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

  • O conjunto de escala de máquina virtual (VMSS) e máquinas virtuais (VMs) para cada nó no pool de nós
  • Instâncias de nós no pool de nós e quaisquer pods em execução nesses nós

Eliminar um pool de nós

Important

Tenha em mente as seguintes informações ao apagar um pool de nós:

  • Não é possível recuperar um pool de nós 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 az aks nodepool delete comando.

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 êxito, use o kubectl get nodes comando para confirmar se os nós no pool de nós não existem mais.

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

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

  1. Exclua um pool de nós existente sem considerar nenhum PodDisruptionBudgets definido no cluster, utilizando o comando az aks nodepool delete com o parâmetro --ignore-pod-disruption-budget definido para true.

    az aks nodepool delete \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name nodepool1 \
        --ignore-pod-disruption-budget true
    
  2. Para verificar se o pool de nós foi excluído com êxito, use o kubectl get nodes comando 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

Note

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

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

    kubectl get nodes
    

    Sua saída deve ser semelhante à saída de exemplo a seguir:

    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 az aks nodepool delete-machines comando. Certifique-se de substituir os espaços reservados pelos 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 kubectl get nodes comando.

    kubectl get nodes
    

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

Próximos passos

Para obter mais informações sobre como ajustar tamanhos de "node pools" no AKS, consulte Redimensionar node pools.