Fluent Bit挂载varlibdockercontainers卷的原因是什么?
Fluent Bit挂载/var/lib/docker/containers目录的作用
/var/lib/docker/containers是Docker运行时的默认容器日志存储目录,挂载该目录的核心作用是让Fluent Bit能读取到节点上所有容器的运行日志,具体逻辑如下:
- Docker默认会将所有容器的标准输出(stdout)、标准错误(stderr)日志,以JSON Lines格式持久化存放在
/var/lib/docker/containers/<容器ID>/<容器ID>-json.log路径下,容器的日志轮转配置、历史日志文件也存储在对应容器ID的子目录中。 - Fluent Bit的DaemonSet模式会在每个Kubernetes节点上运行一个采集实例,容器本身默认隔离了宿主机的文件系统,如果不挂载宿主机的该目录,Fluent Bit容器内部无法访问到节点上其他容器的日志文件。
- 部分部署清单中同时挂载的
/var/log/containers目录下的日志文件均为软链接,最终指向的实际日志文件就存放在/var/lib/docker/containers目录下,仅挂载软链接目录会导致Fluent Bit读取日志时找不到实际文件。
内容的提问来源于stack exchange,提问作者Maksim
相关产品推荐
相关产品推荐

