Kubernetes 问题小记(Disk Pressure)

测试环境登录时发现 Master 节点处被加上 Taint,并且提示磁盘资源压力警告:

可知 /var/lib/docker/ 路径下磁盘占用率超过 85% 时将会进行告警,并对该节点标记污点,禁止继续向该节点调度 Pod。

进入对应服务器 /var/lib/docker/containers 路径下,通过命令查看文件大小

du -sh *

,发现有两个镜像文件夹下磁盘占用非常大:

进入文件夹内,占用空间最大的为后缀 -json.log 的日志文件,清空日志内容:

cat /dev/null > *-json.log

警告解除,自动清除污点:

后续解决方案:

  1. 通过定时任务,定时备份 or 清除 docker 产生的日志
  2. 通过在 docker 启动命令或 /etc/docker/daemon.json 中,限制文件大小
    • log-opts max-size 容器日志文件上限大小
    • log-opts max-file 窗口日志文件上限个数