一、介紹
etcd是一個采用HTTP協(xié)議的健/值對存儲系統(tǒng),它是一個分布式和功能層次配置系統(tǒng),可用于構建服務發(fā)現(xiàn)系統(tǒng)。其很容易部署、安裝和使用,提供了可靠的數(shù)據(jù)持久化特性。它是安全的并且文檔也十分齊全。
- 靜態(tài)發(fā)現(xiàn): 預先已知 Etcd 集群中有哪些節(jié)點,在啟動時直接指定好 Etcd 的各個 node 節(jié)點地址
- Etcd 動態(tài)發(fā)現(xiàn): 通過已有的 Etcd 集群作為數(shù)據(jù)交互點,然后在擴展新的集群時實現(xiàn)通過已有集群進行服務發(fā)現(xiàn)的機制
- DNS 動態(tài)發(fā)現(xiàn): 通過 DNS 查詢方式獲取其他節(jié)點地址信息
二、環(huán)境準備
以下三臺服務器在虛擬機上部署。系統(tǒng)環(huán)境為Centos7。
| hosts | 節(jié)點名 | 服務器IP |
|---|---|---|
| etcd1.cluster.test | etcd1 | 10.10.149.229 |
| etcd2.cluster.test | etcd2 | 10.10.152.165 |
| etcd3.cluster.test | etcd3 | 10.10.160.64 |
三、安裝
Centos7 可以直接yum安裝etcd
yum install -y etcd
四、配置
編輯節(jié)點etcd1配置文件(etcd2,etcd3配置文件只需要更改IP及可)
vim /etc/etcd/etcd.conf
# 節(jié)點名稱
ETCD_NAME=etcd1
# 數(shù)據(jù)庫存放位置
ETCD_DATA_DIR="/var/lib/etcd/etcd1"
# 監(jiān)聽其他 Etcd 實例地址
ETCD_LISTEN_PEER_URLS="http://10.10.149.229:2380"
# 監(jiān)聽客戶端地址
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001"
# 通知其他 Etcd 實例地址
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.10.149.229:2380"
# 初始化集群內(nèi)節(jié)點地址
ETCD_INITIAL_CLUSTER="etcd1=http://etcd1.cluster.test:2380,etcd2=http://etcd2.cluster.test:2380,etcd3=http://etcd3.cluster.test:2380"
# 初始化集群狀態(tài),new 表示新建
ETCD_INITIAL_CLUSTER_STATE="new"
# 初始化集群 token
ETCD_INITIAL_CLUSTER_TOKEN="my-etcd-cluster"
# 通知客戶端地址
ETCD_ADVERTISE_CLIENT_URLS="http://10.10.149.229:2379,http://10.10.149.229:4001"
五、驗證
-
在任意節(jié)點執(zhí)行 etcdctl member list 可列所有集群節(jié)點信息,如下所示
etcd集群成員 -
使用 etcdctl cluster-health 查看集群健康狀態(tài)
etcd集群狀態(tài) -
通過etcdctl set/get key
set/get
六、結(jié)語
寫的不好,如有錯誤請留言糾正,謝謝。


