K8S集群中驱逐node节点
下面以驱逐节点上的GPU节点为例:
1.驱逐节点上的资源
使用以下命令从节点上驱逐 GPU 资源:
kubectl drain <node-name> --delete-local-data --force --ignore-daemonsets
说明:
- <node-name> 是要驱逐 GPU 的节点名称。
- --delete-local-data 会删除节点上的本地数据。
- --force 强制执行节点驱逐操作,即使节点上有未被调度的 Pod。
- --ignore-daemonsets 忽略 DaemonSet 的 Pod,允许驱逐进行。
示例:
kubectl drain gpu-node --delete-local-data --force --ignore-daemonsets
2.等待节点驱逐完成
Kubernetes 将会将节点上的 Pod 调度到其他节点上,等待所有 Pod 成功调度到其他节点后,节点才会完全驱逐完成。
kubectl delete pod gpu-node
1.验证驱逐
使用以下命令确认节点已经成功驱逐,并且节点上的 GPU 资源不再被使用:
kubectl get nodes
确保节点状态为 Ready,并且没有任何 Pod 在其上运行。