清理Kubernetes组件后仍有kube进程残留,咨询组件安装位置及问题原因
清理Kubernetes组件后仍有kube进程残留,咨询组件安装位置及问题原因
看起来你遇到了清理K8s组件后进程还残留的小麻烦,我来帮你拆解下问题根源和解决方向~
首先注意到你进程里的关键参数:--provider-id=kind://docker/kind/kind-control-plane,这说明你看到的这些kube进程根本不是宿主机上通过apt安装的组件,而是来自你之前用kind搭建的集群——kind是把K8s节点封装在Docker容器里运行的,这些进程其实是在kind的控制平面容器内部运行的,所以你在宿主机上执行的apt purge和autoremove根本碰不到它们。
关于组件位置的说明
这些组件的安装位置不在你的宿主机系统里,而是在kind的Docker容器内部:
- 从进程信息能直接看到kubelet的路径是容器内的
/usr/bin/kubelet - 像kube-controller-manager这类控制平面组件,默认也在容器内的
/usr/bin/目录下。你可以通过以下步骤确认:- 先在宿主机上执行
docker ps,找到名字带kind-control-plane的容器 - 进入容器:
docker exec -it <容器名称/ID> bash - 在容器内用
which kube-controller-manager或者find / -name kube-controller-manager就能准确定位
- 先在宿主机上执行
彻底清理的方法
要干掉这些残留进程,你需要直接清理kind集群:
- 最推荐的方式是用kind官方命令:
kind delete cluster,这会自动删除对应的Docker容器和相关资源,进程自然就消失了 - 如果你不想用kind命令,也可以直接删除容器:
docker rm -f <kind容器名称/ID>,同样能解决问题
备注:内容来源于stack exchange,提问作者Xu Shijie
相关产品推荐
相关产品推荐

