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
