DEV.co
Open-Source Observability · fluent

fluent-operator

Fluent Operator is a Kubernetes-native controller that automates the deployment and configuration of Fluent Bit (lightweight log collection agent) and Fluentd (advanced log processing engine). It uses Custom Resource Definitions (CRDs) to manage logging pipelines declaratively without restarting pods when configs change.

Source: GitHub — github.com/fluent/fluent-operator
675
GitHub stars
326
Forks
Go
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryfluent/fluent-operator
Ownerfluent
Primary languageGo
LicenseApache-2.0 — OSI-approved
Stars675
Forks326
Open issues79
Latest releasev3.9.0 (2026-06-09)
Last updated2026-07-02
Sourcehttps://github.com/fluent/fluent-operator

What fluent-operator is

A Go-based Kubernetes operator providing CRDs and controllers for Fluent Bit DaemonSet and Fluentd StatefulSet deployments. It enables dynamic configuration reloading through label-based plugin selection, supports three deployment modes (Bit-only, Bit+Fluentd, Fluentd-only), and requires custom container images for runtime config updates.

Quickstart

Get the fluent-operator source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/fluent/fluent-operator.gitcd fluent-operator# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Centralized Kubernetes cluster logging

Deploy Fluent Bit as a DaemonSet to collect container logs across all nodes and route to multiple destinations (Elasticsearch, S3, cloud log services) with dynamic filter configuration via CRDs.

Multi-tenant log isolation and processing

Use Fluentd with label-router plugin to isolate logs by namespace/tenant while performing advanced processing (parsing, enrichment, buffering) before delivery to final sinks.

GitOps-driven log pipeline management

Define and version control entire logging infrastructure using Kubernetes manifests; declaratively add/remove inputs, filters, and outputs without pod restarts via CRD updates.

Implementation considerations

  • Deploy operator into dedicated namespace (e.g., `fluent`) to isolate from application workloads; update CRDs carefully as Helm does not manage CRD upgrades/deletions.
  • Design CRD label selectors and plugin grouping strategy upfront; selector overlap can cause unexpected config merges and log routing conflicts.
  • Test dynamic config reloading in staging; Fluent Bit watcher restart may cause transient log collection gaps during high-volume scenarios.
  • Plan for resource limits on Fluentd StatefulSet; advanced processing (parsing, enrichment, buffering) can be CPU/memory intensive with large log volumes.
  • Validate custom plugin compatibility with provided container images; unsupported plugins require building custom Fluent Bit/Fluentd images.

When to avoid it — and what to weigh

  • Need Fluent Bit config hot-reload without process restart — Current implementation requires a Fluent Bit watcher to restart the process on config changes (no native reload interface in Fluent Bit itself), which may cause brief log loss.
  • Require Kubernetes < 1.16.13 — Project explicitly requires Kubernetes v1.16.13 or higher; older clusters cannot run this operator.
  • Cannot use custom container images — Operator depends on custom images (`ghcr.io/fluent/fluent-operator/fluent-bit` and `kubesphere/fluentd`) for dynamic reload capability; cannot use stock Fluent Bit/Fluentd images.
  • Need commercial vendor support immediately — Project is community-driven with 675 GitHub stars and 79 open issues; response times and SLA guarantees are unknown; requires vendor evaluation if you need commercial support.

License & commercial use

Licensed under Apache License 2.0 (Apache-2.0), a permissive OSI-approved license permitting commercial use, modification, and distribution with attribution and liability disclaimers.

Apache-2.0 permits commercial use. However, operator is community-maintained; no vendor-backed support, SLA, or indemnification is offered. Evaluate vendor support requirements independently before production deployment.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

No explicit security audit or vulnerability disclosure policy documented. Operator runs with cluster-admin privileges; audit CRD definitions and image sources before production. Custom images required (ghcr.io/fluent/fluent-operator/fluent-bit, kubesphere/fluentd) should be scanned for vulnerabilities. No mention of network policies, RBAC templates, or secret rotation for output credentials.

Alternatives to consider

Filebeat + Logstash (Elastic Stack)

Tighter integration with Elasticsearch; native hot-reload of configs; vendor-backed support available via Elastic. More heavyweight but mature alternative.

Promtail + Loki (Grafana)

Purpose-built for Kubernetes log aggregation with lower resource footprint; excellent Prometheus integration. Better for metric-heavy observability workflows.

Fluentd Standalone (without operator)

Direct Fluentd deployment without CRD abstraction; simpler for non-Kubernetes or mixed environments. Loses declarative config management and dynamic reloading benefits.

Software development agency

Build on fluent-operator with DEV.co software developers

Evaluate Fluent Operator for your cluster or discuss custom logging architecture with our DevOps specialists. We can help design multi-tenant pipelines and production-grade deployments.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

fluent-operator FAQ

Can I use stock Fluent Bit/Fluentd images?
No. Operator requires custom images (ghcr.io/fluent/fluent-operator/fluent-bit and kubesphere/fluentd) for dynamic config reloading. Stock images do not support the watcher mechanism.
Does Fluent Operator support hot-reload without pod restart?
Fluent Bit uses a process restart via watcher on config change (not true hot-reload). Fluentd supports true hot-reload. Both avoid pod restart, but Bit-based configs briefly pause collection.
What Kubernetes versions are supported?
Requires Kubernetes v1.16.13 or higher. No upper-bound version documented; compatibility with latest Kubernetes versions requires community testing.
Is there commercial support available?
No vendor-backed commercial support is mentioned. Community support available via GitHub issues and Slack (600+ members). Requires independent vendor evaluation for production SLA needs.

Software developers & web developers for hire

DEV.co helps companies turn open-source tools like fluent-operator into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source observability stack.

Ready to centralize your Kubernetes logging?

Evaluate Fluent Operator for your cluster or discuss custom logging architecture with our DevOps specialists. We can help design multi-tenant pipelines and production-grade deployments.