一、初始化启动模式
1、在每台网关机器上启动etcd,etcd自动选取网关集群ip列表的前5个ip作为集群ip,若机器数量小于5台,则按照实际的来处理;
2、如果本台机器ip不在前5台机器列表中,则不需要启动etcd;
3、如果本台机器ip在前5台ip里,则生成etcd.yaml配置文件,自动创建角色和赋权。
二、二次启动模式
1、判断本机ip是否在etcd的主机列表里;
2、如果存在,则生成etcd.yaml配置文件(存在则不重复生成),启动etcd集群即可;
3、如果不存在,则不需要启动etcd。
三、故障模式
1、etcd的故障仲裁规则:A=集群机器数/2+1,也就是说集群可用机器数小于A,则集群不可用,例如:A=5/2+1,A=3,如果集群可用机器数< 3,则集群不可用
2、新增脚本监控etcd集群是否健康,因为网关机器有可能剔除或者下架等原因,触发etcd的故障仲裁规则;
3、触发etcd自动重建,读取最新的集群ip列表的前5个ip进行重建;
四、扩容模式
1、机器数大于5台扩容,无需启动etcd;
2、机器数量小于5台扩容,启动etcd,加入已有集群中;
五、缩容模式
1、缩容主机ip不在列表中,则无需处理;
2、缩容主机ip存在列表中,则触发etcd集群剔除本机ip操作;