Docker + Fluentd在K8s中进行日志轮换:Docker是否需要知道Fluentd的存在?

问题描述

我正在尝试了解K8s集群中Docker和Fluentd之间的交互。我已经看到了需要配置Docker才能输出到日志记录驱动程序的地方,并且Fluentd可以用作日志记录驱动程序,例如here

另一方面,我看到过一些帖子(例如thisthis),其中Docker不知道Fluentd作为DaemonSet的存在。

我的全部意图是进行日志轮换,但是我不确定在位的Fluentd是否真的轮换Docker写入的日志,因此我不会以日志占用的节点中的整个存储空间为最终结果随着时间的推移。在不知道Docker是否存在Fluentd的情况下使用FluentD DaemonSet是否足够?我还需要通过某种驱动程序以某种方式将Docker连接到Fluentd吗?

解决方法

每个official k8s logging architecture码头工人(或任何其他运行时)都不需要了解FluentBit,Fluentd,Filebeat或您使用的任何其他日志收集器。实际上,您一次可以使用多个日志收集器!

enter image description here

同一文档指出k8s不负责日志轮换,因此您可以自己设置日志轮换。另一端的Fluentd / FluentBit守护程序也不会旋转日志文件,但是它能够跟踪日志旋转并相应地调整尾光标(默认情况下)。

到目前为止,最容易实现该体系结构的方法是

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...