共用方式為


刪除 Azure Kubernetes Service (AKS) 節點集區

本文概述 Azure Kubernetes Service (AKS) 中的節點集區刪除,包括刪除節點集區時會發生的情況以及節點集區的刪除方式。

刪除節點集區時會發生什麼情況?

當您刪除節點集區時,下列資源會遭到刪除:

  • 節點集區中每個節點的虛擬機器擴展集 (VMSS) 和虛擬機器 (VM)
  • 節點集區中所有節點執行個體,以及在這些節點上執行的所有 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 阻止節點集區刪除,您可以透過設定--ignore-pdb 來忽略 PodDisruptionBudgets 的要求。 若要深入了解 PodDisruptionBudgets,請參閱:

  1. 使用 az aks nodepool delete 命令搭配 --ignore-pdb 參數,可在不遵循叢集中設定的 PodDisruptionBudgets 的情況下刪除現有節點集區:

    az aks nodepool delete \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name nodepool1 \
        --ignore-pdb
    
  2. 若要確認節點集區已成功刪除,請使用 kubectl get nodes 命令來確認節點集區中的節點已不存在。

拿掉現有節點集區中的特定 VM

注意

當您使用此命令刪除 VM 時,AKS 不會執行警戒線和清空。 若要將計劃刪除的 VM 上目前正在執行的 Pod 重新排程中斷降至最低,請在刪除前先對該 VM 執行隔離和清空操作。 您可以使用調整節點集區大小教學課程中提供的範例案例,深入了解如何封鎖和清空。

  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 命令刪除指定的 VM。 務必以您自己的值取代預留位置。

    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 命令確認 VM 已成功刪除。

    kubectl get nodes
    

    您的輸出不應該再包含您在 az aks nodepool delete-machines 命令中指定的 VM。

下一步

如需有關在 AKS 中調整節點集區大小的詳細資訊,請參閱調整節點集區的大小