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

Bitnami Zookeeper与Kafka Helm Chart部署失败求助

在Kubernetes部署Bitnami Kafka集群时,Pod因探针检测失败无法就绪

我按照Bitnami官方教程在Kubernetes中部署可扩展的Kafka与Zookeeper集群,安装Kafka Helm Chart后,Zookeeper Pod运行正常,但Kafka Pod始终无法就绪,Pod状态如下:

NAME          READY   STATUS    RESTARTS      AGE
kafka-0       0/1     Running   4 (28s ago)   3m10s
kafka-1       0/1     Running   4 (27s ago)   3m10s
kafka-2       0/1     Running   4 (28s ago)   3m10s
zookeeper-0   1/1     Running   0             13m
zookeeper-1   1/1     Running   0             13m
zookeeper-2   1/1     Running   0             13m

kafka-0的日志输出:

andredemoeller:vscan % kubectl logs kafka-0 -c kafka
kafka 16:54:10.96 
kafka 16:54:10.99 Welcome to the Bitnami kafka container
kafka 16:54:11.01 Subscribe to project updates by watching https://github.com/bitnami/containers
kafka 16:54:11.03 Submit issues and feature requests at https://github.com/bitnami/containers/issues
kafka 16:54:11.05 
kafka 16:54:11.07 INFO  ==> ** Starting Kafka setup **
kafka 16:54:12.35 WARN  ==> You set the environment variable ALLOW_PLAINTEXT_LISTENER=yes. For safety reasons, do not use this flag in a production environment.
kafka 16:54:12.56 INFO  ==> Initializing Kafka...
kafka 16:54:12.71 INFO  ==> No injected configuration files found, creating default config files
kafka 16:54:23.37 INFO  ==> Configuring Kafka for inter-broker communications with PLAINTEXT authentication.
kafka 16:54:23.46 WARN  ==> Inter-broker communications are configured as PLAINTEXT. This is not safe for production environments.
kafka 16:54:23.49 INFO  ==> Configuring Kafka for client communications with PLAINTEXT authentication.
kafka 16:54:23.61 WARN  ==> Client communications are configured using PLAINTEXT listeners. For safety reasons, do not use this in a production environment.
kafka 16:54:23.90 INFO  ==> ** Kafka setup finished! **

kafka 16:54:24.10 INFO  ==> ** Starting Kafka **

Pod事件信息:

Events:
  Type     Reason     Age                  From               Message
  ----     ------     ----                 ----               -------
  Normal   Scheduled  112s                 default-scheduler  Successfully assigned default/kafka-0 to minikube
  Normal   Created    70s (x2 over 111s)   kubelet            Created container kafka
  Normal   Started    70s (x2 over 110s)   kubelet            Started container kafka
  Warning  Unhealthy  31s (x10 over 101s)  kubelet            Readiness probe failed: dial tcp 10.244.0.219:9092: connect: connection refused
  Warning  Unhealthy  31s (x6 over 91s)    kubelet            Liveness probe failed: dial tcp 10.244.0.219:9092: connect: connection refused
  Normal   Killing    31s (x2 over 71s)    kubelet            Container kafka failed liveness probe, will be restarted
  Normal   Pulled     30s (x3 over 111s)   kubelet            Container image "docker.io/bitnami/kafka:3.4.0-debian-11-r2" already present on machine

已确认设置了--set externalZookeeper.servers=ZOOKEEPER-SERVICE-NAME参数,不清楚如何修复探针检测失败的问题。


排查与修复步骤

  1. 验证Kafka与Zookeeper的连通性
    进入任意Kafka Pod,执行telnet命令测试Zookeeper服务的2181端口:

    kubectl exec -it kafka-0 -- telnet <ZOOKEEPER-SERVICE-NAME> 2181
    

    若无法连通,检查Zookeeper的Service名称是否正确,或是否存在网络策略阻断了Pod间访问。

  2. 调整探针的启动延迟与检测周期
    Kafka启动需要一定初始化时间,默认探针可能触发过早。通过Helm参数调整探针配置:

    helm upgrade kafka bitnami/kafka \
      --set livenessProbe.initialDelaySeconds=120 \
      --set livenessProbe.periodSeconds=30 \
      --set readinessProbe.initialDelaySeconds=60 \
      --set readinessProbe.periodSeconds=10
    

    根据实际环境调整延迟数值,给Kafka足够的启动时间。

  3. 检查Kafka的Zookeeper配置注入情况
    查看Kafka Pod的环境变量,确认Zookeeper地址是否正确:

    kubectl exec -it kafka-0 -- env | grep ZOOKEEPER
    

    若地址错误,重新执行Helm安装命令,确保externalZookeeper.servers的值为Zookeeper的Headless Service名称(通常是zookeeper-headless)。

  4. 查看Kafka完整启动日志
    当前日志仅显示启动开始,需追踪后续日志确认是否有启动失败的具体错误:

    kubectl logs -f kafka-0 -c kafka
    

    常见问题包括Zookeeper会话超时、存储卷权限不足、目录无法写入等。

  5. 检查存储卷挂载状态
    确认Kafka Pod的存储卷是否正常挂载:

    kubectl describe pod kafka-0 | grep Volumes -A 10
    

    存储卷挂载失败会导致Kafka无法写入数据目录,进而启动失败。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 04:10:32