etcd集群一般采用3台机器组建集群,作为集群高可用,集群所在的机房也要高可用,通常3台机器分布在两个机房,但假如遇到机房层面的故障,可能会导致etcd集群不能正常工作,基于以上原因,我们需要扩容为5台
目前etcd 可以支持在线动态扩容,无须重启etcd集群 加入新增加etcd4 etcd5节点 1、etcd4 和etcd5 基础环境初始化(参考之前的文章etcd搭建) 2、etcd集群中新增etcd4 etcd5的hosts解析,如果是dns域名提前配置,保证5台机器的地址信息可以正常解析 3、命令行增加etcd4 etcdctl --endpoints=http://etcd2.server.biz:2379,http://etcd1.server.biz:2379,http://etcd3.server.biz:2379 member add etcd4 --peer-urls=http://etcd4.server.biz:2380 | Member 3bdc4b22ebb243b6 added to cluster f0364a493c8924dc ETCD_NAME="etcd4"
ETCD_INITIAL_CLUSTER="etcd1=http://etcd1.server.biz:2380,etcd4=http://etcd4.server.biz:2380,etcd3=http://etcd3.server.biz:2380,etcd2=http://etcd2.server.biz:2380"
ETCD_INITIAL_CLUSTER_STATE="existing"
此时还未启动 |
4、etcd4 的etcd.conf配置中参照上面配置更新替换,同时再次上传 /data/etcd 目录下的所有数据 5、启动etcd4 systemctl daemon-reload systemctl start etcd
6、查看etcd集群信息
7、安装相同的操作将etcd5加入etcd集群即可 8、最终状态
etcdctl --endpoints=http://etcd2.server.biz:2379,http://etcd1.server.biz:2379,http://etcd3.server.biz:2379 member remove 8b5171d0d6ac9df3 Member 8b5171d0d6ac9df3 removed from cluster f0364a493c8924dc
后续: 后续只需要将原来etcd1、etcd2、etcd3的etcd.conf配置中ETCD_INITIAL_CLUSTER的值更新为5台信息即可,已便于后续etcd集群启动时可以通过配置正常加载
|