你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
删除 Azure Kubernetes 服务 (AKS) 节点池
本文概述了 Azure Kubernetes 服务 (AKS) 中的节点池删除,包括删除节点池时会发生什么和如何删除节点池。
在删除节点池时会发生什么?
删除节点池时,将删除以下资源:
- 节点池中每个节点的虚拟机规模集 (VMSS) 和虚拟机 (VM)
- (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)
如果群集具有阻止删除节点池的 PodDisruptionBudget,则可以通过将 --ignore-pod-disruption-budget
设置为 true
来忽略 PodDisruptionBudget 要求。 若要了解有关 PodDisruptionBudgets 的详细信息,请参阅:
使用
az aks nodepool delete
命令将--ignore-pod-disruption-budget
标志设置为true
,删除群集上未设置任何 PodDisruptionBudgets 的现有节点池:az aks nodepool delete \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name nodepool1 --ignore-pod-disruption-budget true
若要验证节点池是否已成功删除,请使用
kubectl get nodes
命令确认节点池中的节点不再存在。
移除现有节点池中的特定 VM
注意
使用此命令删除 VM 时,AKS 不会执行隔离和排出。 若要充分减少对重新计划 Pod(当前正在要删除的节 VM 上运行)的中断,请在删除之前对 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 中的节点池大小的详细信息,请参阅“重设节点池大小”。