内容纲要
概要描述
本文描述在TDC2.2.1之前版本遇到 docker 盘被 chart 文件占满的情况处理方法
详细描述
当前解决方案是重启对应的 container,释放占用的空间
问题描述
tdc 2.1.1 集群的其中一个节点的 /var/lib/docker 目录使用率过高,占用大概135G
该路径下是各个服务的chart文件,且可以看到该路径下文件数量高达 472 万
然后通过 overlay 的路径排查对应的 container
docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep bff25099a59b0fc8addd06f9223872f2904256f0432b3c3c47b58faef167115f
其中 grep 后的为 docker 路径下 overlay 的路径信息,通过以上可以排查出,该路径是walm容器生成的。
问题原因
该问题是TDC2.2.1之前版本的已知问题,是由于 walm pull chart 到缓存目录后, load chart 后没有删除掉缓存目录,进而导致 docker 盘被占满。
解决方案
1 重启kube-system命名空间下walm的pod
2 如果重启 pod 无法释放空间,可能是因为 pod 调度到其他节点重新部署了,本地服务器如果资源没有释放,此时可以查看 pod 对应的 container 的状态是否 up ,如下图所示
如果容器是存活(up)的,可以先停止 container,然后删除 container
docker stop [container-id]
docker rm [container-id]
此时可以观察到 /var/lib/docker 磁盘占用被慢慢释放了