本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Apache ZooKeeper 是一个分布式协调服务,为分布式应用提供可靠的集中式配置数据存储、服务注册与发现、分布式锁及同步机制。Bitnami 提供的 Apache ZooKeeper 镜像基于最佳实践构建,简化了在 Kubernetes 或 Docker 环境中的部署流程,包含安全加固配置、持久化存储支持及监控集成能力,适用于开发和生产环境。
zoo.cfg 配置文件、环境变量调优(如日志级别、JVM 参数)及外部 ConfigMap 挂载。autopurge.snapRetainCount)和清理间隔(autopurge.purgeInterval)。ZOO_LOG_LEVEL)配置日志级别,避免探针连接导致的日志噪音。自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,推出 Bitnami Secure Images 计划,专注于提供安全加固的镜像。过渡期变更如下:
docker.io/bitnami 迁移至 docker.io/bitnamilegacy 仓库,且不再接收更新。详情参见 Bitnami Secure Images 公告。
helm install my-release oci://registry-1.docker.io/bitnamicharts/zookeeper
指定 Helm 仓库及发布名称:
helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/zookeeper
替换
REGISTRY_NAME和REPOSITORY_NAME(Bitnami 官方仓库为registry-1.docker.io和bitnamicharts)。
验证部署:
helm list # 查看所有 Helm 发布 kubectl get pods # 确认 ZooKeeper Pod 运行状态
适用于开发环境,无需身份验证:
docker run -d \ --name zookeeper \ -p 2181:2181 \ # 客户端端口 -p 8080:8080 \ # Admin Server 端口 -e ALLOW_ANONYMOUS_LOGIN=yes \ # 允许匿名登录(开发环境) -v zookeeper-data:/bitnami/zookeeper \ # 持久化数据卷 bitnami/zookeeper:latest
3 节点集群示例(docker-compose.yml):
version: '3' services: zookeeper-1: image: bitnami/zookeeper:latest container_name: zookeeper-1 ports: - "2181:2181" - "8080:8080" environment: - ZOO_SERVER_ID=1 - ZOO_SERVERS=zookeeper-1:2888:3888;zookeeper-2:2888:3888;zookeeper-3:2888:3888 - ALLOW_ANONYMOUS_LOGIN=yes volumes: - zookeeper-data-1:/bitnami/zookeeper zookeeper-2: image: bitnami/zookeeper:latest container_name: zookeeper-2 ports: - "2182:2181" - "8081:8080" environment: - ZOO_SERVER_ID=2 - ZOO_SERVERS=zookeeper-1:2888:3888;zookeeper-2:2888:3888;zookeeper-3:2888:3888 - ALLOW_ANONYMOUS_LOGIN=yes volumes: - zookeeper-data-2:/bitnami/zookeeper zookeeper-3: image: bitnami/zookeeper:latest container_name: zookeeper-3 ports: - "2183:2181" - "8082:8080" environment: - ZOO_SERVER_ID=3 - ZOO_SERVERS=zookeeper-1:2888:3888;zookeeper-2:2888:3888;zookeeper-3:2888:3888 - ALLOW_ANONYMOUS_LOGIN=yes volumes: - zookeeper-data-3:/bitnami/zookeeper volumes: zookeeper-data-1: zookeeper-data-2: zookeeper-data-3:
通过 resources 参数限制 CPU/内存资源(Helm 配置):
resources: requests: cpu: 200m memory: 256Mi limits: cpu: 1000m memory: 1Gi
生产环境建议根据实际负载调整,避免资源竞争。
启用客户端身份验证(Helm values.yaml):
auth: client: enabled: true clientUser: zk-client clientPassword: secure-client-pass serverUsers: zk-server1,zk-server2 serverPasswords: secure-server1-pass,secure-server2-pass
生产环境建议使用
existingSecret引用预先创建的 Secret,避免明文密码。
启用 Prometheus 指标采集:
metrics: enabled: true # 暴露指标端点 serviceMonitor: enabled: true # 创建 ServiceMonitor 供 Prometheus Operator 发现
指标将通过 http://<pod-ip>:9141/metrics 暴露,包含连接数、事务数、快照数等核心指标。
默认日志级别为 ERROR(减少探针日志噪音)。如需调整为 INFO(生产环境建议):
mntr 探针:
metrics: enabled: true
livenessProbe: enabled: false readinessProbe: enabled: false customLivenessProbe: exec: command: ['/bin/bash', '-c', 'curl -s -m 2 http://localhost:8080/commands/ruok | grep ruok'] initialDelaySeconds: 30 periodSeconds: 10 customReadinessProbe: exec: command: ['/bin/bash', '-c', 'curl -s -m 2 http://localhost:8080/commands/ruok | grep error | grep null'] initialDelaySeconds: 5 periodSeconds: 10
logLevel: INFO
容器内数据存储路径为 /bitnami/zookeeper,包含快照、事务日志及配置文件。通过 PVC 持久化:
persistence: enabled: true storageClass: "standard" # 指定存储类 size: 10Gi # 存储容量
将事务日志存储在独立卷(提升性能):
dataLogDir: /bitnami/zookeeper/logs # 日志路径 persistence: enabled: true dataLog: enabled: true # 为日志创建独立 PVC storageClass: "high-iops" # 建议使用高性能存储(如 SSD) size: 5Gi
使用 Velero 备份 ZooKeeper 数据:
velero backup create zookeeper-backup \ --include-resources pvc,pv \ # 备份 PVC 和 PV --selector app.kubernetes.io/name=zookeeper # 选择 ZooKeeper 资源
velero restore create --from-backup zookeeper-backup
| 参数名 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库 | "" |
global.imagePullSecrets | 镜像拉取密钥列表 | [] |
global.defaultStorageClass | 全局默认存储类 | "" |
global.security.allowInsecureImages | 是否允许不安全镜像(跳过校验) | false |
global.compatibility.openshift.adaptSecurityContext | 是否适配 OpenShift 安全上下文 | auto |
| 参数名 | 描述 | 默认值 |
|---|---|---|
nameOverride | 覆盖发布名称前缀 | "" |
fullnameOverride | 完全覆盖发布名称 | "" |
clusterDomain | Kubernetes 集群域名 | cluster.local |
extraDeploy | 额外部署的 Kubernetes 资源(模板格式) | [] |
diagnosticMode.enabled | 启用诊断模式(禁用探针,覆盖命令) | false |
| 参数名 | 描述 | 默认值 |
|---|---|---|
image.registry | 镜像仓库 | REGISTRY_NAME |
image.repository | 镜像名称 | REPOSITORY_NAME/zookeeper |
image.pullPolicy | 镜像拉取策略 | IfNotPresent |
tickTime | 心跳基本时间单位(毫秒) | 2000 |
initLimit | 集群初始化超时(tick 数) | 10 |
syncLimit | leader 同步超时(tick 数) | 5 |
heapSize | JVM 堆大小(MB) | 1024 |
autopurge.snapRetainCount | 保留快照数量 | 10 |
autopurge.purgeInterval | 自动清理间隔(小时) | 1 |
fourlwCommandsWhitelist | 允许的四字命令列表 | srvr, mntr, ruok |
| 参数名 | 描述 | 默认值 |
|---|---|---|
auth.client.enabled | 启用客户端身份验证 | false |
auth.client.clientUser | 客户端认证用户名 | "" |
auth.quorum.enabled | 启用仲裁节点身份验证 | false |
auth.quorum.learnerUser | 仲裁学***者用户名 | "" |
10.6)将迁移至 bitnamilegacy 仓库,不再更新,需及时升级。ALLOW_ANONYMOUS_LOGIN,启用身份验证并使用 existingSecret 管理密码。

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429