You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

K8s集群删除节点后,如何移除遗留的DaemonSet Pod?

如何移除已删除节点上残留的DaemonSet Pod

我来帮你搞定这个残留Pod的问题~ 你遇到的情况很常见:因为执行kubectl drain时加了--ignore-daemonsets,所以kube-proxy和Weave这类DaemonSet管理的Pod会被跳过驱逐;而当节点被删除后,K8s没办法和离线节点通信来正常终止这些Pod,所以它们就留在集群里了。

下面是具体的解决步骤:

1. 定位残留的Pod

首先先确认哪些Pod是属于已删除的worker1节点的,执行以下命令:

kubectl get pods -n kube-system -o wide | grep worker1

你会看到类似这样的输出,里面就是需要清理的kube-proxy和Weave Pod:

kube-proxy-xxxxxx   1/1     Unknown   0          3d2h   <none>        worker1   <none>           <none>
weave-net-yyyyyy    2/2     Unknown   0          3d2h   <none>        worker1   <none>           <none>

2. 强制删除残留Pod

因为节点已经不存在了,没法正常优雅终止这些Pod,所以需要用强制删除的方式:

# 替换成你实际的kube-proxy Pod名称
kubectl delete pod kube-proxy-xxxxxx -n kube-system --force --grace-period=0

# 替换成你实际的Weave Pod名称
kubectl delete pod weave-net-yyyyyy -n kube-system --force --grace-period=0
  • --force:告诉K8s强制删除这个Pod,忽略正常的终止流程
  • --grace-period=0:跳过优雅等待时间,直接清理Pod的集群记录

执行完之后,再用第一步的命令检查一下,这些残留的Pod就应该消失了。

额外说明

DaemonSet本身会根据集群中的节点状态来调度Pod,既然worker1已经被彻底删除,DaemonSet不会再往这个不存在的节点上创建新Pod,所以你不用担心后续会再出现类似的残留问题。

内容的提问来源于stack exchange,提问作者sam ngai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 21:22:56