helm部署zk

zookeeper基础

1
2
3
4
Apache Zookeeper是一个分布式的开源协调服务,用于分布式系统。
ZooKeeper允许你读取、写入数据和发现数据更新。数据按层次结构组织在文件系统中,并复制到 ensemble(一个 ZooKeeper 服务的集合) 中所有的 ZooKeeper 服务。
对数据的所有操作都是原子的和顺序一致的。
ZooKeeper通过Zab一致性协议在ensemble的所有服务之间复制一个状态机来确保这个特性。

helm部署zk集群

  • 常见helm命令

    1
    2
    3
    helm list -n zk  # 查看当前已部署应用
    helm uninstall xx -n zk # 卸载应用
    helm fetch bitnami/zookeeper # 拉取应用
  • 添加zk repo

    1
    2
    [root@master ~]# helm repo add bitnami https://charts.bitnami.com/bitnami
    "bitnami" has been added to your repositories
  • 创建zk集群

1
2
3
4
5
#首先使用fetch进行拉取chart
helm fetch bitnami/zookeeper

#将拉取下zk的压缩包进行解压
tar xvf zookeeper-10.0.0.tgz
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
cd zookeeper

#修改values.yaml部分字段
replicaCount: 3 #副本数为3

storageClass: "cephfs"
accessModes:
- ReadWriteOnce
size: 10Gi #根据自己情况设定不能小于10G

serviceMonitor: #开启prometheus
enabled: true
namespace:zk

resources: #对pod进行资源限制
requests:
memory: 1Gi
cpu: "1"
limits:
memory: 1Gi
cpu: "1"

helm install zk bitnami/zookeeper -f values.yaml -n zk #安装zk集群
  • 查看创建的资源
1
2
3
4
5
6
7
8
9
10
11
[root@master zookeeper]# kubectl get pod -n zk
NAME READY STATUS RESTARTS AGE
zk-zookeeper-0 1/1 Running 0 15m
zk-zookeeper-1 1/1 Running 0 15m
zk-zookeeper-2 1/1 Running 0 38s

[root@master zookeeper]# kubectl get pvc -n zk
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-zk-zookeeper-0 Bound pvc-d4e62e69-e60c-4a87-a708-dccd36839574 10Gi RWO cephfs 26m
data-zk-zookeeper-1 Bound pvc-fe149e4c-47fc-4127-9191-520c8b8399c1 10Gi RWO cephfs 26m
data-zk-zookeeper-2 Bound pvc-89ab4542-999c-4d6b-9931-d495d5c4e67b 10Gi RWO cephfs 27m
  • 查看集群相关
1
2
3
4
5
6
7
# 查看zk配置
kubectl exec -n zk zk-zookeeper-0 -- cat /opt/bitnami/zookeeper/conf/zoo.cfg

# 查看集群状态
kubectl exec -n zk zk-zookeeper-0 zkServer.sh status
kubectl exec -n zk zk-zookeeper-1 zkServer.sh status
kubectl exec -n zk zk-zookeeper-2 zkServer.sh status

  • 日志清理
1
2
3
4
5
6
7
8
9
# 自动清理
#在zoo.cfg 进行配置
autopurge.snapRetainCount=60
autopurge.purgeInterval=48
# 指定每隔48小时清理一次zookeeper事务日志,防止事务日志过多占用空间,清理后保留最近60份

# 手动清理
zkCleanup.sh -n 60 清理后保留最近60份
#直接-n 指定保留的文件数即可,不需要指定目录,因为配置文件中已经写了
-------------本文结束感谢您的阅读-------------
原创技术分享,感谢您的支持。