一 . 在所有機器上安裝etcd
我們准備3台機器
172.18.0.231 | 集群節點1 |
172.18.0.232 | 集群節點2 |
172.18.0.233 | 集群節點3 |
#yum安裝etcd yum install -y etcd
二 . 修改配置
#備份原配置文件並編輯 cp /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bk
vim /etc/etcd/etcd.conf
參考配置:
Node1 : 172.18.0.231
#[Member] ETCD_DATA_DIR="/var/lib/etcd/etcd231" ETCD_WAL_DIR="/var/lib/etcd/etcd231/wal" ETCD_LISTEN_PEER_URLS="http://172.18.0.231:2380" ETCD_LISTEN_CLIENT_URLS="http://172.18.0.231:2379,http://127.0.0.1:2379" ETCD_NAME="etcd231" #[Clustering] ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.18.0.231:2380" ETCD_ADVERTISE_CLIENT_URLS="http://172.18.0.231:2379,http://127.0.0.1:2379" ETCD_INITIAL_CLUSTER="etcd231=http://172.18.0.231:2380,etcd232=http://172.18.0.232:2380,etcd233=http://172.18.0.233:2380" ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-wanma" ETCD_INITIAL_CLUSTER_STATE="new"
Node2 : 172.18.0.232
#[Member] ETCD_DATA_DIR="/var/lib/etcd/etcd232" ETCD_WAL_DIR="/var/lib/etcd/etcd232/wal" ETCD_LISTEN_PEER_URLS="http://172.18.0.232:2380" ETCD_LISTEN_CLIENT_URLS="http://172.18.0.232:2379,http://127.0.0.1:2379" ETCD_NAME="etcd232" #[Clustering] ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.18.0.232:2380" ETCD_ADVERTISE_CLIENT_URLS="http://172.18.0.232:2379,http://127.0.0.1:2379" ETCD_INITIAL_CLUSTER="etcd231=http://172.18.0.231:2380,etcd232=http://172.18.0.232:2380,etcd233=http://172.18.0.233:2380" ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-wanma" ETCD_INITIAL_CLUSTER_STATE="new"
Node3 : 172.18.0.233
#[Member] ETCD_DATA_DIR="/var/lib/etcd/etcd233" ETCD_WAL_DIR="/var/lib/etcd/etcd233/wal" ETCD_LISTEN_PEER_URLS="http://172.18.0.233:2380" ETCD_LISTEN_CLIENT_URLS="http://172.18.0.233:2379,http://127.0.0.1:2379" ETCD_NAME="etcd233" #[Clustering] ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.18.0.233:2380" ETCD_ADVERTISE_CLIENT_URLS="http://172.18.0.233:2379,http://127.0.0.1:2379" ETCD_INITIAL_CLUSTER="etcd231=http://172.18.0.231:2380,etcd232=http://172.18.0.232:2380,etcd233=http://172.18.0.233:2380" ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-wanma" ETCD_INITIAL_CLUSTER_STATE="new"
三 . 啟動集群
#啟動etcd服務 systemctl restart etcd #設定etcd服務為開機自啟動 systemctl enable etcd
注意 , 第一台啟動的etcd(master節點)(isLeader=true)會等待第二台啟動之后 ,才會啟動成功
四.集群新增額外節點(臨時節點)
步驟1 : 加入成員
#增加一個集群節點 , 首先新節點需要配置並啟動etcd etcdctl member add name=etcd234 --peer-urls="http://172.18.0.234:2380"
步驟2 : 刪除新節點的data目錄
rm -rf /var/lib/etcd/etcd234/*
步驟3 : 新節點增加配置etcd.conf
注意 , 里面的 ETCD_INITIAL_CLUSTER_STATE="existing" 代表已存在節點
步驟4 : 啟動新節點的etcd服務
systemctl start etcd
PS : 步驟不能錯 , 所以如果有可能 , 請新加節點之后 , 集群重啟一下 , 比較不容易錯
五 . 常用命令
#查看集群健康狀態 etcdctl cluster-health #查看集群所有節點 etcdctl member list #把一台設備移除出集群 , 后面是集群節點號 , 使用list可以查看到 #移除之后,該節點的etcd服務自動關閉 etcdctl member remove 1e82894832618580 #更新一個節點 etcdctl member update 1e82894832618580 #設置key=hello , value=world etcdctl set hello world #查看key的值 etcdctl get hello