专属
文档
插件
助手
邀请
顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单页面收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
ghcr.io/fluent/fluent-operator/fluent-bit

ghcr.io/fluent/fluent-operator/fluent-bit:v4.2-debug

ghcr.iolinux/amd64v4.2-debug大小: 未知更新于 2026年6月6日
让 AI 帮你使用轩辕镜像? · 展开查看说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

简化Kubernetes中Fluent Bit和Fluentd的管理

Fluent Operator

Fluent Operator为基于Fluent Bit和Fluentd构建日志层提供了极大的灵活性。

安装后,Fluent Operator提供以下功能:

  • Fluent Bit管理:自动部署和销毁Fluent Bit DaemonSet。
  • Fluentd管理:自动部署和销毁Fluentd StatefulSet。
  • 自定义配置:通过标签选择输入/过滤/输出插件。
  • 动态重载:无需重启Fluent Bit和Fluentd Pod即可更新配置。
  • 多租户日志隔离:Fluentd通过https://github.com/kube-logging/fluent-plugin-label-router%E6%8F%92%E4%BB%B6%E6%94%AF%E6%8C%81%E5%A4%9A%E7%A7%9F%E6%88%B7%E6%97%A5%E5%BF%97%E9%9A%94%E7%A6%BB%E3%80%82
  • 可插拔部署组件:Fluent Bit或Fluentd可单独部署。

目录

  • Fluent Operator
  • 目录
  • 概述
  • Fluent Bit
  • Fluentd
  • 快速开始
  • 前提条件
  • 安装
  • 使用YAML部署Fluent Operator
  • 使用Helm部署Fluent Operator
  • Fluent Operator演练
  • 收集Kubernetes日志
  • 使用YAML部署Kubernetes日志栈
  • 使用Helm部署Kubernetes日志管道
  • 收集审计日志
  • Fluentd
  • 插件
  • Fluent Bit
  • Fluentd
  • 最佳实践
  • 插件分组
  • 监控
  • 自定义解析器
  • 其他
  • 自定义插件
  • 路线图
  • 开发
  • 要求
  • 运行
  • 贡献
  • 文档
  • 清单
  • 社区
  • 关于社区
  • 联系我们
  • 视频和博客

概述

尽管Fluent Bit和Fluentd都能收集、处理(解析和过滤)日志并将其转发到最终目的地,但它们在不同方面各有优势。

Fluent Bit因其轻量高效,是日志采集器的理想选择;而Fluentd则因其丰富的插件,更擅长对日志进行高级处理。

  • 仅Fluent Bit模式:如果只需收集日志并发送到最终目的地,仅需Fluent Bit。
  • Fluent Bit + Fluentd模式:如果还需对收集的日志进行高级处理或发送到更多目标,还需Fluentd。
  • 仅Fluentd模式:如果需要通过HTTP或Syslog等网络接收日志,然后处理并发送到最终目标,仅需Fluentd。

Fluent Operator包含Fluent Bit和Fluentd的CRD及控制器,允许您根据上述三种模式配置日志处理管道。

Fluent Bit将以DaemonSet形式部署,Fluentd将以StatefulSet形式部署。整体工作流程如下:

Fluent Bit

为Fluent Bit定义了以下CRD:

  • FluentBit:定义Fluent Bit DaemonSet及其配置。需要自定义Fluent Bit镜像ghcr.io/fluent/fluent-operator/fluent-bit以配合FluentBit Operator实现动态配置重载。
  • ClusterFluentBitConfig:选择集群级别的输入/过滤/输出插件,并将最终配置生成到Secret中。
  • FluentBitConfig:选择命名空间级别的过滤/输出/解析器和集群级别的解析器插件,并将最终配置生成到Secret中。
  • ClusterInput:定义集群级别的输入配置段。
  • Parser:定义命名空间级别的解析器配置段。
  • ClusterParser:定义集群级别的解析器配置段。
  • MultilineParser:定义命名空间级别的多行解析器配置段。
  • ClusterMultilineParser:定义集群级别的多行解析器配置段。
  • Filter:定义命名空间级别的过滤配置段。
  • ClusterFilter:定义集群级别的过滤配置段。
  • Output:定义命名空间级别的输出配置段。
  • ClusterOutput:定义集群级别的输出配置段。

每个**ClusterInput、ClusterParser、ClusterFilter、ClusterMultilineParser、ClusterOutput** 都代表一个Fluent Bit配置段,由**ClusterFluentBitConfig**通过标签选择器选择。Fluent Operator监听这些对象,构建最终配置,并创建Secret存储配置,该Secret将挂载到Fluent Bit DaemonSet中。整体工作流程如下:

为使Fluent Bit在配置更改时能获取并使用最新配置,添加了名为Fluent Bit watcher的包装器,用于在检测到Fluent Bit配置更改时立即重启Fluent Bit进程。这样无需重启Fluent Bit Pod即可重载新配置。采用这种方式是因为Fluent Bit本身没有重载接口,更多详情请参考此https://github.com/fluent/fluent-bit/issues/365%E3%80%82

Fluentd

为Fluentd定义了以下CRD:

  • Fluentd:定义Fluentd StatefulSet及其配置。需要自定义Fluentd镜像kubesphere/fluentd以配合Fluentd Operator实现动态配置重载。
  • FluentdConfig:选择集群级别或命名空间级别的输入/过滤/输出插件,并将最终配置生成到Secret中。
  • ClusterFluentdConfig:选择集群级别的输入/过滤/输出插件,并将最终配置生成到Secret中。
  • Filter:定义命名空间级别的过滤配置段。
  • ClusterFilter:定义集群级别的过滤配置段。
  • Output:定义命名空间级别的输出配置段。
  • ClusterOutput:定义集群级别的输出配置段。

快速开始

前提条件

运行Fluent Operator需要Kubernetes v1.16.13+。

安装

使用YAML部署Fluent Operator

安装最新稳定版本

kubectl create namespace fluent
kubectl apply -f https://github.com/fluent/fluent-operator/releases/latest/download/setup.yaml

# 您可以在 manifests/setup/kustomization.yaml 中修改命名空间
# 然后使用以下命令安装到其他命名空间
# kubectl kustomize manifests/setup/ | kubectl apply -f -

安装开发版本

使用 Helm 部署 Fluent Operator

[!NOTE] 需要 Helm v3.2.1 或更高版本。

标准安装(CRD 包含在图表中):

helm repo add fluent https://fluent.github.io/helm-charts
helm repo update

helm install fluent-operator fluent/fluent-operator \
--create-namespace -n fluent

默认容器运行时为 containerd。如果集群使用不同的运行时,请设置 --set containerRuntime=docker 或 --set containerRuntime=crio。

Helm 在首次安装时会安装 CRD,但在后续的 helm upgrade 或 helm uninstall 调用中不会升级或删除它们。要在升级图表时更新 CRD:

helm pull fluent/fluent-operator --untar
kubectl apply --server-side --force-conflicts -f fluent-operator/crds/
helm upgrade fluent-operator fluent/fluent-operator -n fluent

高级安装 — 通过单独的 fluent-operator-fluent-bit-crds 和 fluent-operator-fluentd-crds 图表实现 CRD 的完整 Helm 生命周期管理:

# 步骤 1:将 Fluent Bit CRD 作为单独管理的发布版本安装
helm install fluent-operator-fluent-bit-crds fluent/fluent-operator-fluent-bit-crds -n fluent --create-namespace

# 步骤 2:将 Fluentd CRD 作为单独管理的发布版本安装(可选)
helm install fluent-operator-fluentd-crds fluent/fluent-operator-fluentd-crds -n fluent

# 步骤 3:安装操作员,跳过 CRD(已在上面安装)
helm install fluent-operator fluent/fluent-operator -n fluent --skip-crds

通过这种方法,可以使用 helm upgrade fluent-operator-fluent-bit-crds / helm upgrade fluent-operator-fluentd-crds 升级 CRD,并可以通过 --set additionalAnnotations."helm\.sh/resource-policy"=keep 防止删除。

有关从 v3.x 升级的更多信息,请参见 MIGRATION-v4.md 指南。

Fluent Operator 演练

有关 Fluent Operator 的各种用例的更多信息,请参考 https://github.com/kubesphere-sigs/fluent-operator-walkthrough%E3%80%82

收集 Kubernetes 日志

本指南提供了一个日志管道,包括 Fluent Bit DaemonSet 及其日志输入/过滤/输出配置,用于收集 Kubernetes 日志,包括容器日志和 kubelet 日志。

[!NOTE] 开始之前,您需要一个运行中的 Elasticsearch v5+ 集群来接收日志数据。请记住根据您自己的 es 设置调整 output-elasticsearch.yaml。Kafka 和 Fluentd 输出是可选的,默认情况下处于关闭状态。

使用 YAML 部署 Kubernetes 日志栈

kubectl apply -f manifests/logging-stack

# 您可以在 manifests/logging-stack/kustomization.yaml 中更改命名空间
# 然后使用以下命令安装到另一个命名空间
# kubectl kustomize manifests/logging-stack/ | kubectl apply -f -

使用 Helm 部署 Kubernetes 日志管道

Kubernetes 日志管道(通过 Fluent Bit 收集容器日志)默认启用(Kubernetes: true)。要同时部署 Fluentd 作为日志聚合层:

helm upgrade fluent-operator fluent/fluent-operator -n fluent --set fluentd.enable=true

几分钟后,您应该会看到一个可用的索引:

$ curl localhost:9200/_cat/indices
green open ks-logstash-log-2020.04.26 uwQuoO90TwyigqYRW7MDYQ 1 1 99937 0 31.2mb 31.2mb

成功!

收集审计日志

Linux 审计框架提供了一个符合 CAPP(受控访问保护配置文件)的审计系统,可可靠地收集系统上任何与安全相关(或非安全相关)事件的信息。参考 manifests/logging-stack/auditd,它支持从 Linux 审计框架收集审计日志的方法。

kubectl apply -f manifests/logging-stack/auditd

# 您可以在 manifests/logging-stack/auditd/kustomization.yaml 中更改命名空间
# 然后使用以下命令安装到另一个命名空间
# kubectl kustomize manifests/logging-stack/auditd/ | kubectl apply -f -

几分钟后,您应该会看到一个可用的索引:

$ curl localhost:9200/_cat/indices
green open ks-logstash-log-2021.04.06 QeI-k_LoQZ2h1z23F3XiHg 5 1 404879 0 298.4mb 149.2mb

Fluentd

Fluentd 作为日志转发层,通过网络从 Fluent Bit 或其他应用接收日志。

有关 Fluent Operator Fluentd CRD 的各种用例的更多信息,请参考 https://github.com/kubesphere-sigs/fluent-operator-walkthrough#fluent-bit--fluentd-mode%E3%80%82

插件

Fluent Bit

此处可找到支持的 Fluent Bit 插件。

Fluentd

此处可找到支持的 Fluentd 插件。

最佳实践

插件分组

此处可找到插件组信息。

监控

此处可使用 Fluent Bit 中的内置 HTTP 服务器。

自定义解析器

此处可在 Fluent Bit 中自定义解析器。

其他

如果您想了解更多关于 Fluent-Operator 的信息,请参考 其他。

自定义插件

此处可了解如何在 FluentBit 和 Fluentd 中使用自定义插件。

路线图

  • 支持 containerd 日志格式
  • 添加 Fluentd CRD 作为日志聚合层,组名称为 fluentd.fluent.io
  • 添加 FluentBit 集群 CRD,新组名称为 fluentbit.fluent.io
  • 将整个项目重命名为 Fluent Operator
  • 支持更多 Fluentd 和 FluentBit 插件

开发

要求

  • golang v1.16+。
  • kubectl v1.19.2+。
  • kubebuilder v3.1+(项目使用 v3.1.0 构建)
  • 可访问 Kubernetes 集群 v1.19.2+

运行

确保为本地开发 Kubernetes 集群加载了 KUBECONFIG 文件。

  1. 安装 CRD:make install
  2. export NAMESPACE=something 设置操作员的命名空间
  3. 运行:make run

贡献

文档

API 文档是自动生成的。要修改它,请编辑结构体字段上方的注释,然后运行 go run cmd/doc-gen/main.go。

清单

manifests/setup 文件夹下的大多数文件是从 config 自动生成的。不要直接编辑它们,而是运行 make manifests,然后相应地替换这些文件。

社区

视频和博客

  • 从 FluentBit Operator 到 Fluent Operator:漫长的发展之路 - Benjamin Huo
  • 什么是 Fluent Operator 以及如何使用它 - Henrik Rexed
  • 深入了解 Fluent Bit Operator:Kubernetes 原生日志处理器 - Feynman Zhou 与 Dhruv Kela
  • 快速入门:5 分钟了解 Fluent Operator(中文)- Dehao Cheng

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

需要其他帮助?请查看我们的 常见问题 Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

排错

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

DNS 超时

DNS 解析 · 网络超时

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
ghcr.io/fluent/fluent-operator/fluent-bit
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
教程轩辕镜像功能与使用教程
安装一键安装 Docker 并配置镜像源
官方公众号:源码跳动|官方技术交流群:13763429
官方公众号:源码跳动|官方技术交流群:|问题咨询请:提交工单
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.