本文概述 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,請參閱:
使用
az aks nodepool delete命令搭配--ignore-pdb參數,可在不遵循叢集中設定的 PodDisruptionBudgets 的情況下刪除現有節點集區:az aks nodepool delete \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name nodepool1 \ --ignore-pdb若要確認節點集區已成功刪除,請使用
kubectl get nodes命令來確認節點集區中的節點已不存在。
拿掉現有節點集區中的特定 VM
注意
當您使用此命令刪除 VM 時,AKS 不會執行警戒線和清空。 若要將計劃刪除的 VM 上目前正在執行的 Pod 重新排程中斷降至最低,請在刪除前先對該 VM 執行隔離和清空操作。 您可以使用調整節點集區大小教學課程中提供的範例案例,深入了解如何封鎖和清空。
使用
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使用
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>使用
kubectl get nodes命令確認 VM 已成功刪除。kubectl get nodes您的輸出不應該再包含您在
az aks nodepool delete-machines命令中指定的 VM。
下一步
如需有關在 AKS 中調整節點集區大小的詳細資訊,請參閱調整節點集區的大小。