k8s更新版本后,老的POD一直出现Terminating,多久都不能删除。

然后,进入具体的节点机器之后,查看日志输出如下类似:

ERROR: driver "overlay" failed to remove root filesystem for 738f492a57f80951b279c3bd82f59b6230275a298ab74d7f26c4564cf3d1cf2c: remove /var/lib/docker/overlay/6031651302dba6053c5fde07937f4fd00dfc063577fa343b12c83f1c26b77887/merged: device or resource busy

然后,docker ps -a输出:

xxx Removal In Progress

然后,查看了网上的帖子,这个最有用:

http://www.jiangjiang.space/2017/09/25/%E8%A7%A3%E5%86%B3docker%E5%AE%B9%E5%99%A8%E5%88%A0%E9%99%A4%E5%90%8E%E5%A4%84%E4%BA%8Eremoval-in-progress-%E7%8A%B6%E6%80%81%E4%B8%8D%E9%87%8A%E6%94%BE/

我的追查的输出一样的。ntpd进程作怪。

解决:

先手工停掉ntpd,清除docker。

# 报错为此docker卷无法umount
/var/lib/docker/devicemapper/mnt/85ced908cf8fcc4704a581fcc84724b5f6de232610b28e40b2be6f1ff159ead7
# 搜索所有进程是否有打开此卷的
grep -l 85ced908cf /proc/*/mountinfo
/proc/18683/mountinfo

# 看这个进程是什么进程

ps -f 18683
UID        PID  PPID  C STIME TTY      STAT   TIME CMD
ntp      18683     1  0 03:33 ?        Ss     0:00 /usr/sbin/ntpd -u ntp:ntp -g

# 很惊讶竟然是ntp
# ntpd 会打开所有挂在的卷,原因和原理还不得而知。但是能确定的是ntpd阻止了容器卷的umount,同时容器删除动作就hang住了
# 停掉ntpd
systemctl stop ntpd

# 卷被释放了
grep -l 85ced908cf /proc/*/mountinfo

# 成功删除
rm -rf/var/lib/docker/devicemapper/mnt/85ced908cf8fcc4704a581fcc84724b5f6de232610b28e40b2be6f1ff159ead7

  

然后,再编辑docker.service文件,重启服务。

#手工编辑
/etc/systemd/system/multi-user.target.wants/docker.service

# 在 Service 段最后加入私有挂在参数
[Service]
MountFlags=private

# 重新加载systemd
systemctl daemon-reload

# 重启docker
systemctl restart docker.service

  

k8s删除pod时,docker服务出现挂载点泄漏问题的解决的更多相关文章

  1. k8s删除pod一直处于terminating状态

    我这里的pod是与nfs有关,nfs挂载有问题导致pod有问题,执行完删除命令以后看到pod一直处于terminating的状态. 这种情况下可以使用强制删除命令: kubectl delete po ...

  2. 删除文件时提示“找不到该项目”,怎么解决? 转摘自:http://jingyan.baidu.com/article/e4d08ffdf5ab470fd2f60df4.html

    故障现象:在使用Windows系统删除文件或者文件夹的时候,有时会出现“找不到该项目”的错误提示,可能再次“重试”也无济于事. 那么,接下来T库小编就为库友们简单概括一下出现该问题的原因. 故障原因: ...

  3. k8s的Pod状态和生命周期管理

    Pod状态和生命周期管理   一.什么是Pod? 二.Pod中如何管理多个容器? 三.使用Pod 四.Pod的持久性和终止 五.Pause容器 六.init容器 七.Pod的生命周期 (1)Pod p ...

  4. 使用kuboard界面管理k8s集群时使用ConfigMap挂载挂载到pod容器中,映射成一个文件夹

    将 ConfigMap 作为一个数据卷(在挂载时不指定数据卷内子路径,需要指定ConfigMap的子路径)挂载到容器,此时 ConfigMap 将映射成一个文件夹,每一个 KEY 是文件夹下的文件名, ...

  5. kubernetes/k8s CRI分析-kubelet删除pod分析

    关联博客<kubernetes/k8s CRI 分析-容器运行时接口分析> <kubernetes/k8s CRI分析-kubelet创建pod分析> 之前的博文先对 CRI ...

  6. k8s中删除pod后仍然存在问题

    分析: 是因为删除了pod,但是没有删除对应的deployment,删除对应的deployment即可 实例如下: 删除pod [root@test2 ~]# kubectl get pod -n j ...

  7. K8s QoS Pod资源服务质量控制

    Kubernetes 中如果一个 Node 节点上的 Pod 占用资源过多并且不断飙升导致 Node 节点资源不足,可能会导致为了保证节点可用,将容器被杀掉.在遇见这种情况时候,我们希望先杀掉那些不太 ...

  8. k8s系列---pod介绍

    # yaml格式的pod定义文件完整内容: apiVersion: v1 #必选,版本号,例如v1 kind: Pod #必选,Pod metadata: #必选,元数据 name: string # ...

  9. 使用 Skywalking 对 Kubernetes(K8s)中的微服务进行监控

    1. 概述 老话说的好:任何成功都不是轻易得来的,是不断地坚持与面对的结果. 言归正传,之前我们聊了 SpringCloud 开发的微服务是如何部署在  Kubernetes(K8s)集群中的,今天我 ...

随机推荐

  1. [LeetCode] 89. Gray Code 格雷码

    The gray code is a binary numeral system where two successive values differ in only one bit. Given a ...

  2. Java Servlet:服务器小程序

    servlet:服务器小程序 servlet是一个接口,接口是一种规范,因此servlet是一种规范 一个类声明为抽象类的原因: 不包含抽象方法,不想被实例化 包含抽象方法,子类有对抽象方法的不同实现 ...

  3. 并行编程架构(指令流水、进程、线程、多核,Pipe and Filter)

    最近在进行DSP软件优化时,查阅文献,看到了几种并行机制,下面予以总结: 关键词一:指令流水 关键词二:多进程 关键词三:多线程 关键词四:多核(多处理器.超线程结构.多核结构.多核超线程架构) 在体 ...

  4. Qt deletelater函数分析(1)

               生活的全部意义在于无穷地探索尚未知道的东西,在于不断地增加更多的知识.--左拉 该函数是QObject类的函数:                             ---- ...

  5. Markdown 测试用例

    标题 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 字体 *斜体文本* ...

  6. 协议——IIC

    I²C即Inter-Integrated Circuit(集成电路总线),它是一种串行通信总线,使用多主从架构,由飞利浦公司在1980年代设计出来的一种简单.双向.二线制总线标准.多用于主机和从机在数 ...

  7. 使用Git管理版本

    原文地址:廖雪峰的网站 Git 是目前世界上最先进的分布式版本控制系统 Git 的历史 集中式 vs 分布式 集中式的版本库是集中存放在中央服务器的.缺点是必须联网.网速慢的情况就会让人抓狂. 分布式 ...

  8. 我的Vue朝圣之路2

    1.创建第一个Vue案例 1. 引入Vue.js   2. 创建Vue对象      el : 指定根element(选择器)      data : 初始化数据(页面可以访问)  3. 双向数据绑定 ...

  9. java之struts2的数据处理

    这里的数据处理,指的是页面上的数据与Action中的数据的处理. struts2中有3种方式来接收请求提交的数据.分别是:属性驱动方式.对象驱动方式.模型驱动方式 1. 属性驱动方式 要求页面中的表单 ...

  10. centos7.5 离线安装ntp服务

    安装 #检查rpm包 rpm -qa | grep ntp #从https://pkgs.org/download/ntp 下载rpm包 ntp-4.2.6p5-28.el7.centos.x86_6 ...