手动删除vcjob后Pod一直处于Terminating状态
2023/06/13
116
问题信息
问题来源 | 产品大类 | 关键字 |
---|---|---|
官方 | 集群调度 | vcjob、Terminating、Pod、NFS挂载路径 |
问题现象描述
使用kubectl delete -f xxx.yaml删除vcjob后Pod一直处于Terminating状态。
原因分析
无
解决措施
- 方法一:卸载Pod的NFS挂载路径
- 执行以下命令,查看Pod的NFS挂载路径。
mount|grep NFS共享IP地址
图1 查询结果如图,xxx.xxx.xxx.xxx:/data/k8s/run和xxx.xxx.xxx.xxx:/data/k8s/dls_data/public/dataset/resnet50即为该Pod的NFS挂载路径。
- 执行以下命令,卸载该Pod的所有NFS挂载路径。
umount -f NFS挂载路径
- 执行以下命令,查看Pod的NFS挂载路径是否已卸载。
mount|grep NFS共享IP地址
- 是,任务结束。
- 否,请执行方法二。
- 方法二:删除Pod所属的docker进程
- 执行以下命令,查看Pod所属的Docker进程。
docker ps |grep pod名称
- 执行以下命令,查看Docker进程占用的文件。
ll /var/lib/docker/containers |grep Docker进程号
查询结果示例如下。
root@ubuntu:/data/k8s/run# ll /var/lib/docker/containers |grep 95aeeafe2db8 drwx------ 4 root root 4096 Jun 24 16:00 95aeeafe2db898065094dd34dbfbeca04734d5248316aa802d43a36b4d8b99df/
- 执行以下命令,删除Docker进程占用的文件。
rm -rf /var/lib/docker/container/95aeeafe2db898065094dd34dbfbeca04734d5248316aa802d43a36b4d8b99df/
- 执行以下命令,查询Docker占用文件的进程ID。
lsof |grep 95aeeafe2db8
图2 查询结果 - 执行以下命令,结束进程。
kill -9 进程ID
- 执行以下命令,查看进程是否已删除。
ps -ef | grep 进程ID
- 是,请执行7。
- 否,请参考4再次查询并结束进程后执行7。
- 执行以下命令,删除Pod所属的Docker。
docker rm 95aeeafe2db8
删除之后需要等待约1分钟才能再次查看Pod信息。
本页内容