日志收集架构
cluster-level-logging:日志独立于节点、Pod 或容器的生命周期,即完全独立于 Kubernetes 系统,需要自己提供单独的日志后端系统、分析和查询工具。
[TOC]
日志收集
在节点上运行一个 agent 来收集日志
在 Pod 中包含一个 sidecar 容器来收集应用日志
直接在应用程序中将日志信息推送到采集后端
节点日志收集

每个节点运行一个 Agent 采集日志数据。
使用 DaemonSet 控制器控制,在每个 Node 上部署。
只适用于收集输出到 stdout 和 stderr 的日志。
以 sidecar 收集日志

日志是输出到容器中的日志文件。
在 Pod 中启动另外一个 sidecar 容器,将应用程序的日志通过这个容器重新输出到 stdout。
存储两份日志,占用磁盘空间
在 Pod 中启动一个 Agent 容器。
导致资源消耗
不受
kubectl logs
控制
直接从应用程序收集

在应用程序中显示的将日志推送到日志后端,但是这种方式需要代码层面的实现。
Last updated
Was this helpful?