首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kubernetes:只将Fluentd安装到名称空间

Kubernetes:只将Fluentd安装到名称空间
EN

Stack Overflow用户
提问于 2020-08-27 03:53:16
回答 3查看 2.2K关注 0票数 5

我从https://github.com/fluent/fluentd-kubernetes-daemonset中获得了流畅的kubernetes-守护进程图表,并将fluentd作为守护集部署到kubernetes命名空间中。它将整个集群日志发送到elasticsearch。我们将csc应用程序部署在csc命名空间中。我们希望只在csc命名空间中部署fluentd,并且只将csc命名空间中的csc日志(csc命名空间中的日志)发送到elasticsearch,而不是以守护进程的形式安装fluentd来收集整个集群日志。有办法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-08-27 07:22:34

您在这里共享的链接有namespace: kube-system,这就是为什么在kube命名空间中创建它的原因。因此,要使用您的命名空间,请编辑yaml文件,并在yaml文件的所有位置替换namepsace: csc,并将其应用于kubernetes。

并且部署为daemonset,这样它就可以在每个节点上运行fluentd。

票数 3
EN

Stack Overflow用户

发布于 2020-08-27 07:36:07

在每个节点上运行DaemonSet并收集日志是日志体系结构的典型解决方案:

因为日志代理必须在每个节点上运行,所以通常将其实现为DaemonSet副本、清单荚或节点上的专用本机进程。然而,后两种方法受到反对,并受到高度劝阻。

相反,您可能希望使用解析器过滤器插件根据需要对日志消息进行形状和解析。

文档展示了解析日志的示例。

票数 1
EN

Stack Overflow用户

发布于 2021-12-30 11:52:52

您需要修复https://github.com/fluent/helm-charts/blob/main/charts/fluentd/values.yaml中的filter conf以从特定的命名空间收集日志,您只需在filters.conf节中禁止所有其他名称空间。

代码语言:javascript
运行
复制
  <match kubernetes.var.log.containers.**_kube-system_**>
    @type null
    @id ignore_kube_system_logs
  </match>
  ......
  <match kubernetes.var.log.containers.**NAMESPACE**>
    @type null
    @id ignore_NAMESPACE_logs
  </match>

我做了这件事,看上去很好

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63608911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档