Kubernetes部署Zookeeper协调服务教程

老瑶吖_7551

老瑶吖_7551

2026-09-10

479人浏览

原创

helm 部署 bitnami/zookeeper 是最稳方案,省去手写 statefulset、myid 和 zoo.cfg 配置;需设 replicacount=3、persistence.enabled=true、storageclass 及合理 resources;验证须进容器用 zkcli.sh 连各节点测试 quorum。

kubernetes部署zookeeper协调服务教程

直接用 Helm 部署 bitnami/zookeeper 是当前最稳、最省事的方案,不用手写 StatefulSet、不用调 myid、不碰 zoo.cfg 里一堆端口配置——除非你有强定制需求或审计硬性要求。

为什么别从头写 StatefulSet 配置

官方推荐的 StatefulSet YAML 看似规范,但实际踩坑点密集:

  • server.1=zk-0.zk-hs:2888:3888 这类静态配置必须和 Pod 名、Headless Service 名、DNS 解析严格对齐,任意一环错(比如改了 serviceName 却漏改 command 中的 --servers 参数),集群就卡在 Waiting for server being ready
  • dataDirdataLogDir 若没分开挂载,高并发写日志时会触发磁盘 I/O 争抢,ZK 节点频繁 Connection loss
  • Pod 反亲和策略写成 preferredDuringScheduling 而非 requiredDuringSchedulingIgnoredDuringExecution,三个副本可能被调度到同一节点,失去容错意义

helm install 时必须显式设的参数

Bitnami Chart 默认值对生产环境偏保守,这几个参数不覆盖基本跑不起来:

  • --set replicaCount=3:ZooKeeper 奇数节点是法定人数(quorum)前提,12 节点无法容忍任何故障
  • --set persistence.enabled=true:禁用持久化等于重启即丢集群状态,leader 选举失败率飙升
  • --set persistence.storageClass=your-storageclass:不能依赖 default StorageClass,NFS/HostPath 类型在多节点间同步延迟会导致 zxid 不一致
  • --set resources.requests.memory=1Gi:ZK JVM 堆默认只配 512Mi,稍大点的 watch 事件堆积就会 OOMKill

验证 ZooKeeper 集群是否真可用

kubectl get pods -n zookeeper 全 Running 不代表服务就通——ZK 的 clientPort 可能监听了,但内部 quorum 没形成。必须进容器实测:

执行:kubectl exec -it zookeeper-0 -n zookeeper -- zkCli.sh -server zookeeper-0.zk-hs:2181

Kubernetes Skills
Kubernetes Skills

针对 Kubernetes 仪表板和 Web UI 的浏览器自动化。适用于与 Kubernetes Dashboard、Grafana、ArgoCD UI 或其他 Web 界面交互。需要设置 MCP_BROWSER_ENABLED=true。

下载

进去后运行:ls /,如果返回 [zookeeper] 且无超时,说明单点连通;再换连 zookeeper-1.zk-hs:2181,能同样返回才确认集群级可用。

常见失败现象:Exception closing session 0x0: org.apache.zookeeper.KeeperException$ConnectionLossException —— 多半是 DNS 解析慢或 tickTime/initLimit 在底层被 Chart 覆盖成过小值(Bitnami 默认 tickTime=2000 安全,但若你覆盖了 zookeeper.extraEnvVars 误设为 500 就会崩)。

应用连接 ZooKeeper 的 endpoint 写法

客户端代码里填的地址不是 zookeeper:2181 这种 ClusterIP Service 地址,而是 Headless Service 的 DNS 名:

  • 集群内访问:用 zookeeper-0.zk-hs.zookeeper.svc.cluster.local:2181(单点)或拼接全部三个:zookeeper-0.zk-hs,zookeeper-1.zk-hs,zookeeper-2.zk-hs:2181
  • Java 客户端(Curator/ZKClient)会自动解析并轮询,但必须确保传入的是逗号分隔的完整列表,少一个节点名,初始化阶段就报 Unable to connect to server
  • 千万别把 zk-hs(Headless Service)和 zk-cs(ClusterIP Service)混用——后者只做负载均衡,ZK 协议本身不支持后端多实例共享连接,会直接断连

真正麻烦的从来不是部署动作本身,而是确认「三个 Pod 都能互相握手成功」这件事——它藏在 DNS、网络策略、JVM 参数、甚至底层 storageclass 的 sync 模式里,任何一个环节松动,ZK 就退化成单点伪集群。

相关文章

keep
keep

Keep是一款健身安排,无论是想减肥塑形或增肌,还是寻找健身跑步瑜伽计步等训练计划,你可以随时随地选择课程进行训练!权威教练视频教学,健身干货自由分享!有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
dubbo和zookeeper有什么区别
dubbo和zookeeper有什么区别

dubbo和zookeeper的区别:1、功能定位;2、使用场景;3、数据存储与协调;4、集成与关系;5、性能与可靠性;6、扩展性与灵活性;7、社区与生态系统。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

536

5

Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

2025.12.22

96

5

Go云原生应用与Kubernetes服务部署实战
Go云原生应用与Kubernetes服务部署实战

本专题围绕 Go 语言在云原生环境中的应用展开,讲解容器化部署、Kubernetes 编排、服务发现、健康检查与弹性扩缩容机制。通过真实云端案例,帮助开发者构建可扩展的云原生微服务架构。

2026.06.29

148

19

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

2026.09.21

0

20

NumPy随机数文件读写与dtype数据类型
NumPy随机数文件读写与dtype数据类型

本专题整理 NumPy 随机数、文件读写与 dtype 数据类型相关教程,覆盖 Generator/random、随机数种子、正态分布采样、npy/npz/CSV/TXT 保存读取、loadtxt/savetxt、memmap、大文件处理、astype 类型转换、结构化 dtype、整数溢出和精度丢失等场景。

2026.09.21

0

24

NumPy矩阵运算与线性代数计算
NumPy矩阵运算与线性代数计算

本专题整理 NumPy 矩阵运算与线性代数计算相关教程,覆盖矩阵乘法、dot 与 @ 运算符、逆矩阵、行列式、特征值与特征向量、SVD、线性方程组、欧氏距离、矩阵分解和大规模矩阵性能优化等内容,帮助读者掌握 np.linalg 与矩阵计算实战。

2026.09.21

0

20

NumPy广播机制数学运算与统计分析
NumPy广播机制数学运算与统计分析

本专题整理 NumPy 广播机制、数组数学运算与统计分析相关教程,覆盖广播规则、维度对齐、矩阵与数组加减除法、向量化计算、均值方差、分位数、中位数、直方图和 unique 频次统计等场景,帮助读者掌握 ndarray 高效计算与统计处理方法。

2026.09.21

0

17

NumPy数组创建索引切片与数据选择
NumPy数组创建索引切片与数据选择

本专题整理 NumPy 数组创建、索引、切片与数据选择相关教程,覆盖 np.array、zeros/ones、多维数组形状、基础切片、花式索引、布尔索引、条件筛选、视图与副本等常用场景,帮助读者系统掌握 ndarray 数据构造与高效提取方法。

2026.09.21

0

12

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

20

13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kubernetes官方教程手册
Kubernetes官方教程手册

共0课时 | 0人学习

Kubernetes官方中文文档
Kubernetes官方中文文档

共0课时 | 0人学习