bitnamicharts/fluentdFluentd 是一个开源的数据收集器,旨在统一日志收集和消费流程。它能够从多种数据源(如应用程序、服务器、容器等)收集事件日志,并将其转发至文件、关系型数据库、NoSQL 数据库、云服务、Hadoop 等多种目标系统。Bitnami 提供的此 Helm Chart 用于在 Kubernetes 集群上通过 Helm 包管理器快速部署和配置 Fluentd,实现集群内日志的集中收集、处理与分发。
注意:默认情况下,forwarder 组件以 root 用户(
forwarder.securityContext.runAsUser=0)运行,因需访问节点的hostPath卷读取日志文件(多数 Kubernetes 节点中日志文件仅 root 可读取)。
使用以下命令安装 Chart,发布名称为 my-release:
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/fluentd
说明:若使用私有镜像仓库,需替换
registry-1.docker.io/bitnamicharts为实际仓库地址(格式:REGISTRY_NAME/REPOSITORY_NAME)。
生产环境中建议显式配置容器资源请求和限制,避免使用预设值(resourcesPreset)。示例:
yamlaggregator: resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi forwarder: resources: requests: cpu: 200m memory: 256Mi limits: cpu: 500m memory: 512Mi
默认 aggregator 输出日志至标准输出,可通过挂载自定义配置文件转发至外部服务(如 Elasticsearch)。步骤如下:
yamlapiVersion: v1 kind: ConfigMap metadata: name: elasticsearch-output data: fluentd.conf: | <source> @type forward bind 0.0.0.0 port 24224 </source> <match **> @type elasticsearch host "#{ENV['ELASTICSEARCH_HOST']}" port "#{ENV['ELASTICSEARCH_PORT']}" logstash_format true <buffer> @type file path /opt/bitnami/fluentd/logs/buffers/logs.buffer flush_interval 5s </buffer> </match>
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/fluentd \ --set aggregator.configMap=elasticsearch-output \ --set aggregator.extraEnvVars[0].name=ELASTICSEARCH_HOST \ --set aggregator.extraEnvVars[0].value=elasticsearch-service \ --set aggregator.extraEnvVars[1].name=ELASTICSEARCH_PORT \ --set aggregator.extraEnvVars[1].value=9200
启用 Prometheus 集成:
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/fluentd \ --set metrics.enabled=true \ --set metrics.serviceMonitor.enabled=true # 若使用 Prometheus Operator
metrics.enabled=true:暴露 Prometheus 指标端点(默认端口 24231),并创建带注解的 Service,支持 Prometheus 自动发现。metrics.serviceMonitor.enabled=true:部署 ServiceMonitor 资源,需集群已安装 Prometheus Operator CRDs。使用 Velero 工具备份 Fluentd 的持久卷数据:
consolevelero backup create fluentd-backup --include-resources pvc,pv --selector app.kubernetes.io/name=fluentd
consolevelero restore create --from-backup fluentd-backup
详细步骤参见 Bitnami 备份恢复指南。
通过 ConfigMap 或 Secret 挂载自定义初始化脚本(如日志目录权限配置):
创建包含脚本的 ConfigMap:
yamlapiVersion: v1 kind: ConfigMap metadata: name: fluentd-init-scripts data: setup.sh: | #!/bin/sh chmod 755 /opt/bitnami/fluentd/logs
安装时引用:
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/fluentd \ --set aggregator.initScriptsCM=fluentd-init-scripts
默认配置:forwarder 以 root 用户运行,以访问节点 hostPath 日志文件。若节点日志文件权限允许,可配置非 root 用户运行:
yamlforwarder: daemonUser: fluentd daemonGroup: fluentd securityContext: runAsUser: 1001 runAsGroup: 1001 fsGroup: 1001
启用 TLS 以加密 forwarder 与 aggregator 间的日志传输:
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/fluentd \ --set tls.enabled=true \ --set tls.autoGenerated=true # 自动生成证书(生产环境建议使用 existingSecret 指定自定义证书)
| 名称 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库 | "" |
global.imagePullSecrets | 全局镜像拉取密钥数组 | [] |
global.defaultStorageClass | 持久卷默认 StorageClass | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 适配 OpenShift 安全上下文(auto/force/disabled) | auto |
| 名称 | 描述 | 默认值 |
|---|---|---|
kubeVersion | 目标 Kubernetes 版本(未设置则使用 Helm 自动检测) | "" |
nameOverride | 覆盖资源名称前缀 | "" |
fullnameOverride | 完全覆盖资源全名 | "" |
commonAnnotations | 所有资源的通用注解 | {} |
commonLabels | 所有资源的通用标签 | {} |
clusterDomain | 集群域名 | cluster.local |
diagnosticMode.enabled | 启用诊断模式(禁用探针,覆盖命令为 sleep infinity) | false |
| 名称 | 描述 | 默认值 |
|---|---|---|
image.registry | Fluentd 镜像仓库 | REGISTRY_NAME |
image.repository | Fluentd 镜像路径 | REPOSITORY_NAME/fluentd |
image.pullPolicy | 镜像拉取策略 | IfNotPresent |
image.debug | 启用镜像调试模式 | false |
varlog.readonly | 设置 /var/log 卷为只读 | true |
forwarder.enabled | 启用 forwarder DaemonSet | true |
forwarder.daemonUser | forwarder 运行用户 | root |
forwarder.daemonGroup | forwarder 运行组 | root |
forwarder.podSecurityContext.enabled | 启用 forwarder Pod 安全上下文 | true |
forwarder.podSecurityContext.fsGroupChangePolicy | 文件系统组变更策略 | Always |
aggregator.enabled | 启用 aggregator StatefulSet | true |
aggregator.replicaCount | aggregator 副本数 | 1 |
注:完整参数列表请参见 Bitnami Fluentd Helm Chart 文档。
自 2025 年 8 月 28 日起,Bitnami 将启动 Bitnami Secure Images 计划,主要变更包括:
docker.io/bitnami)将仅提供安全加固的 latest 标签镜像(用于开发),逐步移除非加固的 Debian 基础镜像及历史版本标签。docker.io/bitnamilegacy 仓库,且不再更新。更多详情参见 官方公告。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务