liveBook · Manning

Fluent Operator

As explained in Logs and Telemetry

Fluent Operator is a Kubernetes operator for deploying and managing Fluent Bit configurations and resources.

Fluent Operator manages Fluent Bit in Kubernetes through custom resource definitions (CRDs), complementing kubectl and Helm. It assembles cluster-wide or namespace-level inputs, filters, outputs, and parsers through selectors, while FluentBit defines node monitoring with a DaemonSet. section 4.8

Its configuration model separates operational concerns into named resources:

  • FluentBit identifies the Fluent Bit image and runtime configuration for node monitoring. section 4.8
  • ClusterFluentBitConfig provides cluster-wide plugin configuration, optionally targeting namespaces and storing credentials as secrets. section 4.8
  • FluentBitConfig selects namespace-level Input, Output, Filter, and Parser resources using matching labels or expressions. section 4.8
  • Input resources can bound memory with memBufLimit and skip oversized records with skipLongLines, reducing resource pressure and backpressure risk. section 4.8
Listing 4.10 Helm chart config: fluentbit_v1alpha2_fluentbitconfig.yaml
apiVersion: fluentbit.fluent.io/v1alpha2
kind: FluentBitConfig
metadata:
  name: fluentbitconfig-sample
spec:
  service:                         #1
    flush: 1
    daemon: false
    logLevel: info
    parsersFile: parsers.conf
  inputSelector:       #2
    matchExpressions:        #3
      - key: fluentbit.fluent.io/enabled
        operator: In
        values: ["true"]      #4
  filterSelector:           #5
    matchExpressions:       
      - key: fluentbit.fluent.io/enabled
        operator: In
        values: ["true"]
  outputSelector:
    matchExpressions:
      - key: fluentbit.fluent.io/enabled
        operator: In
        values: ["true"]

A FluentBitConfig selects enabled inputs, filters, and outputs, allowing a conventional Fluent Bit pipeline to be assembled dynamically from Kubernetes resources. section 4.8

How Logs and Telemetry covers it

How deep it goes
Defines CRDs, selectors, resource boundaries, secrets, and input limits, but does not detail the complete configuration-change sequence.
Examples
Uses YAML resources selecting enabled plugins, tailing container logs, limiting buffers, skipping long lines, and forwarding records to Elasticsearch.
What it assumes
Assumes Kubernetes concepts such as namespaces, DaemonSets, Helm, labels, and custom resources while grounding the Fluent Bit configuration model.
What you can do after
Operate/configure Fluent Bit on Kubernetes using declarative CRDs, selectors, namespace scope, secrets, and resource safeguards.
How it connects
Connects Kubernetes, Fluent Bit, Helm, DaemonSets, custom resource definitions, secrets, and namespace-scoped configuration.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Logs and Telemetry. The section links point to the parts of the book it draws on.