Linux部署ETCD集群
基于CentOS7.6环境部署ETCD集群
节点名 | 节点IP |
---|---|
master | 192.168.217.231 |
node1 | 192.168.217.232 |
node2 | 192.168.217.233 |
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
下载ETCD
三台机器都要安装
yum install etcd -y
编辑配置文件
vim /etc/etcd/etcd.conf
master
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001"
ETCD_NAME="master"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.217.231:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.217.231:2379,http://192.168.217.231:4001"
ETCD_INITIAL_CLUSTER="master=http://192.168.217.231:2380,node1=http://192.168.217.232:2380,node2=http://192.168.217.233:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
node1
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001"
ETCD_NAME="node1"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.217.232:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.217.232:2379,http://192.168.217.232:4001"
ETCD_INITIAL_CLUSTER="master=http://192.168.217.231:2380,node1=http://192.168.217.232:2380,node2=http://192.168.217.233:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
node2
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001"
ETCD_NAME="node2"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.217.233:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.217.233:2379,http://192.168.217.233:4001"
ETCD_INITIAL_CLUSTER="master=http://192.168.217.231:2380,node1=http://192.168.217.232:2380,node2=http://192.168.217.233:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
说明
ETCD_DATA_DIR:数据存储目录
ETCD_LISTEN_PEER_URLS:与其他节点通信时的监听地址列表,通信协议可以是http、https
ETCD_LISTEN_CLIENT_URLS:与客户端通信时的监听地址列表
ETCD_NAME:节点名称
ETCD_INITIAL_ADVERTISE_PEER_URLS:节点在整个集群中的通信地址列表,可以理解为能与外部通信的ip端口
ETCD_ADVERTISE_CLIENT_URLS:告知集群中其他成员自己名下的客户端的地址列表
ETCD_INITIAL_CLUSTER:集群内所有成员的地址,这就是为什么称之为静态发现,因为所有成员的地址都必须配置
ETCD_INITIAL_CLUSTER_TOKEN:初始化集群口令,用于标识不同集群
ETCD_INITIAL_CLUSTER_STATE:初始化集群状态,new表示新建
启动集群
三台机器都要执行
systemctl start etcd
查看集群信息
etcdctl member list
验证
etcdctl set hello world
etcdctl get hello