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