ClusterLogConfig

Cluster级别CRD,可用于:

  • 采集任意Namespace的Pod日志
  • 采集Node节点上的日志
  • 将Pipeline配置下发至指定Loggie集群

Example

  1. apiVersion: loggie.io/v1beta1
  2. kind: ClusterLogConfig
  3. metadata:
  4. name: test
  5. spec:
  6. selector:
  7. type: node
  8. nodeSelector:
  9. nodepool: test
  10. pipeline:
  11. sources: |
  12. - type: file
  13. name: messages
  14. paths:
  15. - /var/log/messages
  16. sinkRef: default

spec.selector

表示Pipeline配置适用的范围

type: pod

通过Pipeline配置选择一批Pod进行日志采集

字段类型是否必填默认值含义
labelSelectormap必填通过该label来匹配Pods,支持使用来匹配所有的value,比如app:

Example

  1. spec:
  2. selector:
  3. type: pod
  4. labelSelector:
  5. app: nginx

表示采集带有标签 app: nginx的所有Pod的日志。

Warning

type: pod时,下面的Pipeline只能使用file source,此时的场景只能是采集日志。

type: node

下发Pipeline配置至该批节点。

字段类型是否必填默认值含义
nodeSelectormap必填通过label选择下发配置的node

Example

  1. spec:
  2. selector:
  3. type: node
  4. nodeSelector:
  5. nodepool: test

表示将配置的Pipelines下发至带有nodepool: test的所有node上。

type: cluster

下发Pipeline配置至某个Loggie集群,通常需要配合cluster字段指定集群名使用。

Example

  1. spec:
  2. selector:
  3. cluster: aggregator
  4. type: cluster

表示将配置的Pipelines下发至cluster为aggregator的Loggie集群。

cluster

字段类型是否必填默认值含义
clusterstring非必填“”表示配置指定下发的Loggie集群。当部署多套Loggie时,和全局系统配置discovery.kubernetes.cluster配套使用

spec.pipeline

配置和LogConfig一致。