刪除 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-pod-disruption-budget
設定為 true
來忽略 PodDisruptionBudget 需求。 若要深入了解 PodDisruptionBudgets,請參閱:
刪除現有的節點集區,而不遵循叢集上設定的任何 PodDisruptionBudgets,並使用已將
--ignore-pod-disruption-budget
旗標設定為true
的az aks nodepool delete
命令:az aks nodepool delete \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name nodepool1 --ignore-pod-disruption-budget true
若要確認節點集區已成功刪除,請使用
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 中調整節點集區大小的詳細資訊,請參閱調整節點集區的大小。