zookeeper和etcd有状态服务部署

  • 时间:
  • 浏览:0
  • 来源:大发5分快乐8APP下载_大发5分快乐8APP官网

还可不上可不可否 了看后,rbd lock remove操作被拒绝了,因为是都这样权限rbd: releasing lock failed: (13) Permission denied

本次试验中使用静态土土依据部署etcd集群,肯能etcd节点变迁时,时要执行etcdctl member remove/add等命令手动配置etcd集群,严重限制了etcd集群自动故障恢复、扩容缩容的能力。就让,时要考虑对部署土土依据优化,改为使用DNS肯能etcd descovery的动态土土依据部署etcd,不需要 让etcd更好的运行在k8s上。

本来在另外有二个ceph集群测试你这一zk pod迁移的本来,一直 报错无法释放lock,经分析应该是使用的ceph账号都这样相应的权限,好多好多 有因为释放lock失败。记录的报错信息如下:

还可不上可不可否 了看后zk-0/zk-1都重启了,本来还可不上可不可否 了加载新的zoo.cfg配置文件,保证集群正确配置。

新的zoo.cfg配置文件记录了二个实例:

zk-0 podrbd的锁信息为

缩容的本来,zk集群也自动重启了所有的zk节点,缩容过程如下:

此时zk-0正常迁移到172.16.20.12

再查看rbd的锁定信息

因zookeeper 3.4版本的集群配置,是通过静态加载文件zoo.cfg来实现的,好多好多 有当zookeeper节点pod ip变动后,时要重启zookeeper集群中的所有节点。

创建完成本来的po,pv,pvc清单如下:

观察zk-0的迁移过程

肯能用户挑选删除pv、pvc对象,同去还时要手动删除ceph段的rbd镜像。

发现缩容后,etcd-2并都这样从etcd集群中自动删除,可见你这一etcd镜像对自动扩容缩容的支持并欠缺好。

朋友手工删除掉etcd-2

检查集群健康

尝试将172.16.20.10节点设置为污点,让zk-0 pod自动迁移到172.16.20.12

使用kubectl edit statefulset zk命令修改replicas=3,start-zookeeper --servers=3,

此时观察pod的变化

使用rbd存储zookeeper节点数据

zookeeper集群节点数从有二个扩为二个。

集群节点数为2时,zoo.cfg的配置中定义了有二个实例

storageclass中引用的ceph客户端用户,时要要有mon rw,rbd rwx权限。肯能都这样mon write权限,会因为释放rbd锁失败,无法将rbd镜像挂载到或多或少的k8s worker节点。

从etcd.yaml的启动脚本中还可不上可不可否 了看出,扩容时新启动有二个etcd pod时参数--initial-cluster-state new,该etcd镜像并不支持动态扩容,还可不上可不可否 了考虑使用基于dns动态部署etcd集群的土土依据来修改启动脚本,本来不需要 支持etcd cluster动态扩容。

kubernetes通过statefulset为zookeeper、etcd等相似有状况的应用多线程 提供完善支持,statefulset具备以下形态:

查看创建结果

本文阐述了怎么才能 才能 在k8s集群上部署zookeeper和etcd有状况服务,并结合ceph实现数据持久化。

k8s rbd volume的实现代码: