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.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | fluent/fluent-operator |
| Owner | fluent |
| Primary language | Go |
| License | Apache-2.0 — OSI-approved |
| Stars | 675 |
| Forks | 326 |
| Open issues | 79 |
| Latest release | v3.9.0 (2026-06-09) |
| Last updated | 2026-07-02 |
| Source | https://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.
Get the fluent-operator source
Clone the repository and explore it locally.
git clone https://github.com/fluent/fluent-operator.gitcd fluent-operator# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
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.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Strong |
| Assessment confidence | High |
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.
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.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
fluent-operator FAQ
Can I use stock Fluent Bit/Fluentd images?
Does Fluent Operator support hot-reload without pod restart?
What Kubernetes versions are supported?
Is there commercial support available?
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.