Kube-fluentd-operator 是由VMware开发的工具,旨在简化Kubernetes环境中Fluentd的配置与管理。该镜像提供了一种声明式方式来配置Fluentd,实现容器日志的自动化收集、处理和转发,适用于Kubernetes集群的日志管理场景。
自动化Fluentd配置
通过Kubernetes自定义资源(CRD)声明式定义Fluentd配置,无需手动编写复杂的Fluentd配置文件。
Kubernetes原生集成
与Kubernetes资源(如Pod、Namespace、ConfigMap)深度集成,支持基于标签选择器筛选日志源。
灵活的日志处理能力
支持日志过滤、转换、结构化处理,可配置多种输出目标(如Elasticsearch、Loki、S3等)。
动态配置更新
配置变更后自动热加载,无需重启Fluentd实例,确保日志收集服务不中断。
多租户支持
支持按Namespace隔离日志配置,满足多团队、多环境的日志管理需求。
1. 安装CRD
bashkubectl apply -f https://raw.githubusercontent.com/vmware/kube-fluentd-operator/master/config/crd/bases/fluentdoperator.vmware.com_fluentdconfigs.yaml
2. 部署Operator
通过kubectl直接部署:
bashkubectl apply -f https://raw.githubusercontent.com/vmware/kube-fluentd-operator/master/config/manager/manager.yaml
或使用Helm(推荐):
bashhelm repo add kube-fluentd-operator https://vmware.github.io/kube-fluentd-operator/helm-charts helm install kube-fluentd-operator kube-fluentd-operator/kube-fluentd-operator --namespace kube-fluentd-operator --create-namespace
创建FluentdConfig自定义资源
以下示例配置将收集所有Namespace的容器日志,并转发至Elasticsearch:
yamlapiVersion: fluentdoperator.vmware.com/v1alpha1 kind: FluentdConfig metadata: name: example-fluentd-config namespace: kube-fluentd-operator spec: sources: - type: tail path: /var/log/containers/*.log posFile: /var/log/fluentd-containers.log.pos tag: kube.* parser: type: docker timeKey: time timeFormat: "%Y-%m-%dT%H:%M:%S.%NZ" filters: - type: kubernetes kubeURL: https://kubernetes.default.svc:443 kubeCAFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt kubeTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token mergeLog: true keepLog: false outputs: - type: elasticsearch host: elasticsearch-master port: 9200 logstashFormat: true logstashPrefix: kube-logs indexName: kube-logs
应用配置:
bashkubectl apply -f example-fluentd-config.yaml
| 环境变量 | 描述 | 默认值 |
|---|---|---|
FLUENTD_LOG_LEVEL | Fluentd日志级别(debug/info/warn/error) | info |
OPERATOR_NAMESPACE | Operator部署的命名空间 | kube-fluentd-operator |
WATCH_NAMESPACE | 监听的命名空间(为空时监听所有命名空间) | "" |
检查Operator Pod状态:
bashkubectl get pods -n kube-fluentd-operator
查看Fluentd配置是否生效:
bashkubectl logs -n kube-fluentd-operator <operator-pod-name>
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务