【发布时间】:2018-03-12 13:42:48
【问题描述】:
我有一些正在运行的 kubernetes 集群,它可能会产生大量日志。 Kubernetes 运行在 docker 之上,所以我想我需要 configure dockerd to rollout logs。
我找到了一些用于 dockerd 日志记录驱动程序的设置:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10k",
"max-file": "2"
}
}
在 docker service restart 的情况下,更改会成功应用。
du /var/lib/docker/containers/container_hash/container_hash* -h
显示按适当大小分割成块的日志文件。
但我不想重启守护进程,所以尝试重新加载配置:
sudo kill -SIGHUP $(pidof dockerd)
在系统日志中我发现:
Mar 12 15:38:16 kso-gl dockerd[5331]: time="2018-03-12T15:38:16.446894155+02:00" level=info msg="Got signal to reload configuration, reloading fr
om: /etc/docker/daemon.json"
所以,我假设配置已重新加载。不幸的是,它没有效果。即使是新容器。 看起来与日志记录驱动程序相关的子系统忽略了重新加载配置。
【问题讨论】:
-
也许您可以在运行容器时通过 --log-opt max-size=10m --log-opt max-file=10 指定日志记录参数
标签: docker logging kubernetes