Поделиться через


Удаление пула узлов Служба Azure Kubernetes (AKS)

В этой статье описывается удаление пула узлов в Служба Azure Kubernetes (AKS), включая то, что происходит при удалении пула узлов и как удалить пул узлов.

Что происходит при удалении пула узлов?

При удалении пула узлов удаляются следующие ресурсы:

  • Масштабируемый набор виртуальных машин (VMSS) и виртуальные машины для каждого узла в пуле узлов
  • Все экземпляры узлов в пуле узлов вместе с любыми модулями pod, работающими на этих узлах

Удаление пула узлов

Внимание

При удалении пула узлов следует учитывать следующие сведения:

  • После удаления пула узлов невозможно восстановить. Необходимо создать пул узлов и повторно развернуть приложения.

Удалите пул узлов с помощью az aks nodepool delete команды.

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

Чтобы убедиться, что пул узлов был успешно удален, используйте kubectl get nodes команду, чтобы убедиться, что узлы в пуле узлов больше не существуют.

Игнорировать PodDisruptionBudgets (PDB) при удалении существующего пула узлов

Если в кластере есть PodDisruptionBudgets, которые препятствуют удалению пула узлов, можно игнорировать требования PodDisruptionBudget, установив для него значение --ignore-pod-disruption-budget true. Дополнительные сведения о PodDisruptionBudgets см. в следующем разделе:

  1. Удалите существующий пул узлов без выполнения каких-либо наборов PodDisruptionBudgets в кластере az aks nodepool delete с помощью команды с флагом, заданным --ignore-pod-disruption-budget для trueследующих элементов:

    az aks nodepool delete \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name nodepool1
        --ignore-pod-disruption-budget true
    
  2. Чтобы убедиться, что пул узлов был успешно удален, используйте kubectl get nodes команду, чтобы убедиться, что узлы в пуле узлов больше не существуют.

Удаление определенных виртуальных машин в существующем пуле узлов

Примечание.

При удалении виртуальной машины с помощью этой команды AKS не выполняет кордон и очистку. Чтобы свести к минимуму прерывание планирования модулей pod, работающих в настоящее время на виртуальной машине, которые вы планируете удалить, выполните кордон и очистку на виртуальной машине перед удалением. Дополнительные сведения о кордоне и очистке см. в примере сценария, предоставленного в руководстве по изменение размера пулов узлов.

  1. Перечислить существующие узлы с помощью kubectl get nodes команды.

    kubectl get nodes
    

    Выходные данные должны выглядеть примерно так:

    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. Удалите указанные виртуальные машины с помощью az aks nodepool delete-machines команды. Обязательно замените заполнители собственными значениями.

    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. Убедитесь, что виртуальные машины успешно удалены с помощью kubectl get nodes команды.

    kubectl get nodes
    

    Выходные данные больше не должны включать виртуальные машины, указанные в команде az aks nodepool delete-machines .

Следующие шаги

Дополнительные сведения о настройке размеров пула узлов в AKS см. в разделе "Изменение размера пулов узлов".