下载
EN
注册
手动删除vcjob后Pod一直处于Terminating状态

手动删除vcjob后Pod一直处于Terminating状态

2023/06/13

116

暂无评分
我要评分

问题信息

问题来源产品大类关键字
官方集群调度vcjob、Terminating、Pod、NFS挂载路径

问题现象描述

使用kubectl delete -f xxx.yaml删除vcjob后Pod一直处于Terminating状态。

原因分析

解决措施

  • 方法一:卸载Pod的NFS挂载路径
  1. 执行以下命令,查看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挂载路径。

  2. 执行以下命令,卸载该Pod的所有NFS挂载路径。

    umount -f NFS挂载路径

  3. 执行以下命令,查看Pod的NFS挂载路径是否已卸载。

    mount|grep NFS共享IP地址
    • 是,任务结束。
    • 否,请执行方法二。

  • 方法二:删除Pod所属的docker进程
  1. 执行以下命令,查看Pod所属的Docker进程。

    docker ps |grep pod名称

  2. 执行以下命令,查看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/

  3. 执行以下命令,删除Docker进程占用的文件。

    rm -rf /var/lib/docker/container/95aeeafe2db898065094dd34dbfbeca04734d5248316aa802d43a36b4d8b99df/

  4. 执行以下命令,查询Docker占用文件的进程ID。

    lsof |grep 95aeeafe2db8
    图2 查询结果

  5. 执行以下命令,结束进程。

    kill -9 进程ID

  6. 执行以下命令,查看进程是否已删除。

    ps -ef | grep 进程ID
    • 是,请执行7。
    • 否,请参考4再次查询并结束进程后执行7。

  7. 执行以下命令,删除Pod所属的Docker。

    docker rm 95aeeafe2db8

    删除之后需要等待约1分钟才能再次查看Pod信息。

本页内容