1、邮件收到告警信息k8s集群node节点磁盘告警,ssh登陆磁盘告警节点,查看磁盘使用情况
df 命令查看可知磁盘是被节点容器占用,
2、然后查看容器占用具体情况,使用下面命令排序和过滤
du -smh /var/lib/docker/overlay2/* | sort -hr | head
3、可以看出一个容器,居然占用了77G磁盘,这不是正常情况。
然后通过目录名查找容器名。
输出依次为,进程pid、容器ID(前12位为docker ps 容器id)、容器名、存储work路径,即可确定是哪个容器。
[root@izbp18y9ivcwz ~]# docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep cfa68875fc27b17d7e6da9f27b354a9acb103e33944776
2.620122e+06, 4c17d372e40260c0c8724dfd5de08f3f65e133, /k8s_areat-svice_hteat-svice-7d8996b7-m4gh_fd_94f22c1f-21f6-4419-aa4a-d5f51d5c3f51_0, /var/lib/docker/overlay2/cfa68875fc27b17d7e602f0603cec9b21e33944776/work
4、此时,我们可知到底是哪个容器占用了磁盘
5、然后我们进入到此容器日志目录:/var/lib/docker/overlay2/cfa6887515a73edaec9b21e33944776/diff/var/log/sun/foeat
6、查看日志文件占用情况:
可以看到10号一天日志文件为10G,此时,我们清理日志文件即可。
7、删除9号、10号、11号日志,磁盘恢复正常。
网友评论