1、zk 的yaml资源文件
这里使用statefulSet的方式来部署 Zookeeper,它会创建一个ConfigMap,一个Service,一个Headless Service,一个PodDisruptionBudget,一个StatefulSet
1 | # 创建ConfigMap |
因为这里使用的镜像
bitnami/zookeeper
是别人经过调整的,介意的话可以使用k8s 官网的zk yaml部署 https://kubernetes.io/docs/tutorials/stateful-application/zookeeper/
2、部署 zk
1 | [root@001-new ~]$ kubectl apply -f zookeeper.yaml |
3、查看 zk 服务状态
查看资源清单
1 | [root@001-new ~]$ kubectl get po,svc,pdb,pvc|grep zk |
查看zk节点状态
1 | [root@001-new ~]$ for i in 0 1 2;do kubectl exec zk-$i -- /opt/bitnami/zookeeper/bin/zkServer.sh status;done |
让zk节点重新选举
1 | # 模拟当前的leader节点意外下线 |
获取zk StatefulSet 中每个 Pod 的FQDN域名
1 | [root@001-new ~]$ for i in 0 1 2; do kubectl exec zk-$i -- hostname -f; done |