官服部署文档https://coreos.com/etcd/docs/latest/clustering.html#etcd-discovery
下面的部署模式为静态模式,还有一种discovery模式。
1、初始化集群,这里以3个节点开始
1 | Name IP HostName |
2、配置
etcd1:
1 | ETCD_NAME=etcd1 |
etcd2:
1 | ETCD_NAME=etcd2 |
etcd3:
1 | ETCD_NAME=etcd3 |
注意:ETCD_INITIAL_CLUSTER_STATE 初始化的时候全部为new。ETCD_INITIAL_CLUSTER_TOKEN是集群的识别码,集群中每个节点都需要一样。ETCD_ADVERTISE_CLIENT_URLS集群提供给客户端访问的URL需要暴露出来,不能是127.0.0.1。ETCD_LISTEN_CLIENT_URLS暴露自己的同时最好新增一个127.0.0.1的监听地址,便于etcdctl调用,当然用0.0.0.0也是可以的。ETCD_INITIAL_CLUSTER初始化时各个节点的集群信息。
3、新增节点etcd4
1 | Name IP HostName |
先在已有集群节点添加新节点etcd4的信息:
1 | $ etcdctl member add etcd4 http://10.10.12.4:2380 |
添加新的节点信息后生成了配置项ETCD_NAME、ETCD_INITIAL_CLUSTE、ETCD_INITIAL_CLUSTER_STATE 用于新的etcd4配置文件。
修改etcd4配置文件如下:
1 | ETCD_NAME=etcd4 |
启动etcd服务可以查看集群多了一个新的节点etcd4:
1 | $ systemctl start etcd |
后面新的节点添加步骤类似,最后将etcd服务加入启动项:
1 | $ systemctl enable etcd |