过程分析
在异常节点后台使用“ 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不同,日志文件大小不同,删除重建时间有差别
标签:容器,grep,harbor,清理,docker,pod,目录,日志 From: https://www.cnblogs.com/OpenSourceSite/p/18417148