容器目录清理

过程分析

在异常节点后台使用“ df -h | grep dev”命令查看磁盘使用率,发现/var/lib/docker/目录所在磁盘分区达到了70%以上。
而后通过cd var/lib/docker下执行du -sh * | grep G查看当前路径下子目录的大小,发现containers目录的占用极大。
该情况下的资源利用率异常应该是日志占用较大引起的,需要对容器日志进行清理来临时规避。

解决方法

1、进入containers目录,cd /var/lib/docker/containers/

2、find ./ -type f -size +1G | xargs du -sh | sort -nr,查看大于1G日志(环境区别本例以40M为例)并从大到小排序

3、需要对以上列出的日志判断pod类型后进行清除,以第一个文件为例,docker ps | grep 868a08(取目录前几位),查找对应pod,如下为harbor-master1-bjn6c(介于第二个和第三个下划线之间),如果pod是harbor、influxdb、dashboard、logstash这几种,可以直接执行后面删除;如果是其他pod,请先与二线反馈确认。

4、执行删除rm -rf 868a0874d6c2e7b57a7bf568fc182cb012dd867bac8419168ab4f09576d71254/868a0874d6c2e7b57a7bf568fc182cb012dd867bac8419168ab4f09576d71254-json.log

5、kubectl get pod -Aowide | grep harbor-master1-bjn6c,获取pod状态为Running,namespace为kube-system,部署在当前节点sna01上

6、kubectl delete pod harbor-master1-bjn6c -n kube-system,删除重建pod。Pod不同,日志文件大小不同,删除重建时间有差别

posted @ 2024-09-17 14:32  *一炁化三清*  阅读(7)  评论(0编辑  收藏  举报