docker会把容器标准日志文件输出到/var/lib/docker/containers/{containerid}/ 目录下,早期SNA Center版本对容器日志输出没有对日志文件大小和日志数量做限制,会导致docker分区——/var/lib/docker/出现分区占满情况。本文介绍通过加上max-size和max-file参数配置,实现对容器日志文件进行大小和数量的限制,防止容器日志文件过大引起磁盘占满。
1、修改集群备节点docker配置文件/etc/docker/daemon.json,添加log-driver相关配置(标红部分为添加的log-driver参数,max-size参数代表保留的单个日志大小,max-file参数代表保留的日志数量):
[root@snac208 ~]# vim /etc/docker/daemon.json
{
"live-restore": true,
"exec-opts": ["native.cgroupdriver=systemd"],
"insecure-registries": ["matrix-registry.h3c.com:8088"],
"bridge": "none",
"log-driver": "json-file",
"log-opts": {"max-size": "50m", "max-file": "3"}
}
2、重启docker服务:
[root@snac208 ~]# systemctl daemon-reload
[root@snac208 ~]# systemctl restart docker
3、重启节点,使配置生效:
[root@snac208 ~]# reboot
4、节点重启完pod正常后查看配置是否生效:
(1)查询集群环境的pod是Running状态(执行下图命令没有查询到pod则说明所有pod状态均是Running):
(2)首先查询任何一个Running状态的容器ID,如下图kube-apiserver pod的容器id为6fb722c361ea:
[root@snac208 ~]# docker ps |grep kube-apiserver
(3)然后执行命令查看log-driver配置是否生效,显示如下绿色的信息表示配置生效:
[root@snac208 ~]# docker inspect -f '{{.HostConfig.LogConfig}}' 6fb722c361ea
{json-file map[max-file:3 max-size:50m]}
5、参考1~4的操作步骤依次完成另一个备节点和主节点的参数修改。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作