You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fluent Bit官方Helm Chart启动20个Pod,replicaCount设1如何配置为单实例?

问题根因

Fluent Bit官方Helm Chart默认使用DaemonSet类型的工作负载部署,DaemonSet的运行逻辑是在集群的每个节点上都启动一个Pod,你当前出现的20个Pod,数量正好对应你集群的节点总数。
而你修改的replicaCount参数,仅在切换为Deployment部署模式时才会生效,DaemonSet模式下该参数不生效,所以修改后不会改变Pod数量。

解决方案

根据你的使用场景选择对应配置即可:

场景1:需要单实例全局运行(不需要每个节点采集日志)

直接切换部署类型为Deployment即可,修改你的values.yaml文件,新增/修改以下两个配置项:

# 切换部署类型为Deployment
kind: Deployment
# 配置单副本
replicaCount: 1

修改完成后重新执行部署命令即可:

helm upgrade -i fluent-bit helm/efk/fluent-bit --namespace some-ns

部署完成后原有DaemonSet会被自动删除,只会保留1个由Deployment管理的Fluent Bit Pod。

场景2:仍然需要使用DaemonSet模式,仅需限定在单个节点运行

可以通过节点选择器限制DaemonSet的调度范围,修改values.yaml的nodeSelector配置:

nodeSelector:
  # 自定义标签,仅调度到带有该标签的节点
  run-fluent-bit: "true"

然后给你需要运行Fluent Bit的节点打对应标签:

kubectl label nodes <你指定的节点名称> run-fluent-bit=true

重新执行helm upgrade命令后,DaemonSet只会在你打了标签的节点上创建Pod,仅打1个节点标签的情况下就只会有1个Pod运行。

验证方法

部署完成后执行以下命令确认结果:

# 确认Pod数量为1
kubectl get pods -n some-ns
# 场景1下可以确认原有DaemonSet已被删除
kubectl get daemonset -n some-ns

内容的提问来源于stack exchange,提问作者Simon Liu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:57:04