我从https://github.com/fluent/fluentd-kubernetes-daemonset中获得了流畅的kubernetes-守护进程图表,并将fluentd作为守护集部署到kubernetes命名空间中。它将整个集群日志发送到elasticsearch。我们将csc应用程序部署在csc命名空间中。我们希望只在csc命名空间中部署fluentd,并且只将csc命名空间中的csc日志(csc命名空间中的日志)发送到elasticsearch,而不是以守护进程的形式安装fluentd来收集整个集群日志。有办法吗?
发布于 2020-08-27 07:22:34
您在这里共享的链接有namespace: kube-system,这就是为什么在kube命名空间中创建它的原因。因此,要使用您的命名空间,请编辑yaml文件,并在yaml文件的所有位置替换namepsace: csc,并将其应用于kubernetes。
并且部署为daemonset,这样它就可以在每个节点上运行fluentd。
发布于 2020-08-27 07:36:07
发布于 2021-12-30 11:52:52
您需要修复https://github.com/fluent/helm-charts/blob/main/charts/fluentd/values.yaml中的filter conf以从特定的命名空间收集日志,您只需在filters.conf节中禁止所有其他名称空间。
<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>我做了这件事,看上去很好
https://stackoverflow.com/questions/63608911
复制相似问题