本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

日志架构

本节总结了Rancher日志应用程序的架构。

有关日志操作员如何工作的更多详细信息,请参见 官方文档。

日志操作员的工作原理

日志操作员自动化Kubernetes日志管道的部署和配置。它在每个节点上部署和配置Fluent Bit DaemonSet,以从节点文件系统收集容器和应用程序日志。

Fluent Bit查询Kubernetes API,并用关于Pod的元数据丰富日志,然后将日志和元数据传输到Fluentd。Fluentd接收、过滤并将日志传输到多个`Outputs`。

以下自定义资源用于定义日志如何被过滤和发送到它们的`Outputs`:

  • Flow`是一个名称空间自定义资源,使用过滤器和选择器将日志消息路由到适当的`Outputs

  • `ClusterFlow`用于路由集群级别的日志消息。

  • `Output`是一个名称空间资源,定义日志消息发送到何处。

  • ClusterOutput`定义一个`Output,该可以从所有`Flows`和`ClusterFlows`访问。

每个`Flow`必须引用一个`Output`,每个`ClusterFlow`必须引用一个`ClusterOutput`。

以下来自 日志操作员文档的图示显示了新的日志架构:

日志操作员如何与Fluentd协同工作
Figure 1. 日志操作员如何与Fluentd和Fluent Bit协同工作