Kubernetes部署zookeeper集群
下载helm模板
helm search repo zookeeper
helm pull bitnami/zookeeper
编辑部署values.yaml
下载到本地目录后解压,得到如下文件
将values.yaml复制一份名为values-uat.yaml,编辑values-uat.yaml,根据需要修改以下位置
global:
storageClass: "sfsturbo-zk"
namespaceOverride: "ns"
replicaCount: 3
persistence:
size: 100Gi
dataLogDir:
size: 100Gi
- namespace可以提前创建;
- storageClass必须是支持动态PVC的类型,例如NFS,GlusterFS,Ceph等
部署
helm install zk-uat -f .\zookeeper-11.1.6\zookeeper\values-uat.yaml bitnami/zookeeper
验证
kubectl exec -it pod/zk-uat-zookeeper-0 -n ns -- /opt/bitnami/zookeeper/bin/zkServer.sh status
# /opt/bitnami/java/bin/java
# ZooKeeper JMX enabled by default
# Using config: /opt/bitnami/zookeeper/bin/../conf/zoo.cfg
# Client port found: 2181. Client address: localhost. Client SSL: false.
# Mode: follower
kubectl exec -it pod/zk-uat-zookeeper-1 -n ns -- /opt/bitnami/zookeeper/bin/zkServer.sh status
# /opt/bitnami/java/bin/java
# ZooKeeper JMX enabled by default
# Using config: /opt/bitnami/zookeeper/bin/../conf/zoo.cfg
# Client port found: 2181. Client address: localhost. Client SSL: false.
# Mode: follower
kubectl exec -it pod/zk-uat-zookeeper-2 -n ns -- /opt/bitnami/zookeeper/bin/zkServer.sh status
# /opt/bitnami/java/bin/java
# ZooKeeper JMX enabled by default
# Using config: /opt/bitnami/zookeeper/bin/../conf/zoo.cfg
# Client port found: 2181. Client address: localhost. Client SSL: false.
# Mode: leader
也可以使用ZooKeeper CLI命令进行验证测试
kubectl exec -it pod/zk-uat-zookeeper-0 -n ns -- zkCli.sh
# /opt/bitnami/java/bin/java
# Connecting to localhost:2181
# Welcome to ZooKeeper!
# JLine support is enabled
#
# WATCHER::
#
# WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] create /test zookeeper-init-test
# Created /test
[zk: localhost:2181(CONNECTED) 1] get /test
# zookeeper-init-test
到其他节点get /test可以看到数据已同步。