Etcd主要功能
- 鍵值寫(xiě)入與讀取。
- 過(guò)期時(shí)間。
- 觀察者。
- 租約。
- 集群管理相關(guān)操作。
- 維護(hù)操作。
- 用戶及權(quán)限管理。
安裝與配置
wget https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz
解壓下載
sudo tar -zxvf etcd-v3.3.10-linux-amd64.tar.gz -C /opt/-
配置 (配置為V3版本,系統(tǒng)默認(rèn)的是v2,通過(guò)下面命令修改配置)
sudo vim /etc/profile
在末尾追加 export ETCDCTL_API=3
source /etc/profile
-
配置節(jié)點(diǎn)
- 示例為三個(gè)節(jié)點(diǎn): 節(jié)點(diǎn)1=>192.168.56.200,節(jié)點(diǎn)2=>192.168.56.201,節(jié)點(diǎn)3=>192.168.56.202
-
創(chuàng)建節(jié)點(diǎn)配置文件
-
創(chuàng)建配置文件目錄
sudo mkdir /etc/etcd
-
創(chuàng)建etcd配置文件
sudo vim /etc/etcd/conf.yml
-
添加如下內(nèi)容 (單機(jī)示例,實(shí)際要自己進(jìn)行修改)
name: etcd_1 data-dir: /opt/etcd-v3.3.10-linux-amd64/data listen-client-urls: http://192.168.56.200:2379,http://127.0.0.1:2379 advertise-client-urls: http://192.168.56.200:2379,http://127.0.0.1:2379 listen-peer-urls: http://192.168.56.200:2380 initial-advertise-peer-urls: http://192.168.56.200:2380 initial-cluster: etcd_1=http://192.168.56.200:2380,etcd_2=http://192.168.56.201:2380 initial-cluster-token: etcd-cluster-token initial-cluster-state: new
--listen-client-urls 含義:對(duì)外提供服務(wù)的地址 默認(rèn)值:http://localhost:2379 環(huán)境變量:ETCD_LISTEN_CLIENT_URLS 作用:對(duì)外提供服務(wù)的地址。 提示:域名為無(wú)效值,如http://example.com:2379為錯(cuò)誤配置。 --advertise-client-urls 含義:此成員的客戶端URL列表,用于通告群集的其余部分。這些URL可以包含域名。 默認(rèn)值:http://localhost:2379 環(huán)境變量:ETCD_ADVERTISE_CLIENT_URLS 作用:對(duì)外公告的該節(jié)點(diǎn)客戶端監(jiān)聽(tīng)地址。 --listen-peer-urls 含義:和成員之間通信的地址。 默認(rèn)值:http://localhost:2380 環(huán)境變量:ETCD_LISTEN_PEER_URLS 作用:用于監(jiān)聽(tīng)其他etcd member的url 提示:域名為無(wú)效值,如http://example.com:2380為錯(cuò)誤配置。 --initial-advertise-peer-urls 含義:該節(jié)點(diǎn)成員對(duì)等URL地址,且會(huì)通告群集的其余成員節(jié)點(diǎn)。 默認(rèn)值:http://localhost:2380 環(huán)境變量:ETCD_INITIAL_ADVERTISE_PEER_URLS --initial-cluster 含義:集群中所有節(jié)點(diǎn)的信息。 默認(rèn)值:default=http://localhost:2380 環(huán)境變量:ETCD_INITIAL_CLUSTER 作用: 注意:此處default為節(jié)點(diǎn)的--name指定的名字;localhost:2380為--initial-advertise-peer-urls指定的值。 --initial-cluster-token 含義:創(chuàng)建集群的 token,這個(gè)值每個(gè)集群保持唯一。 默認(rèn)值:etcd-cluster 環(huán)境變量:ETCD_INITIAL_CLUSTER_TOKEN 作用:此配置可使重新創(chuàng)建集群,即使配置和之前一樣,也會(huì)再次生成新的集群和節(jié)點(diǎn) uuid;否則會(huì)導(dǎo)致多個(gè)集群之間的沖突,造成未知的錯(cuò)誤。 --initial-cluster-state 含義:初始集群狀態(tài) 默認(rèn)值:new 環(huán)境變量:ETCD_INITIAL_CLUSTER_STATE 作用:設(shè)置new為初始靜態(tài)或DNS引導(dǎo)期間出現(xiàn)的所有成員。如果將此選項(xiàng)設(shè)置為existing,則etcd將嘗試加入現(xiàn)有群集。
-
啟動(dòng)
-
查看版本號(hào)
cd /opt/etcd-v3.3.10-linux-amd64
./etcdctl version
-
啟動(dòng)
- ./etcd --config-file=/etc/etcd/conf.yml
-
查看集群成員信息
- ./etcdctl member list
-
查看leader狀態(tài)
-
查看自己的狀態(tài)
加入新的節(jié)點(diǎn)
-
新增節(jié)點(diǎn) eg:192.168.56.201:2383
./etcdctl member add etcd_2 --peer-urls="http://192.168.56.201:2380" 顯示 ETCD_NAME="etcd_2" ETCD_INITIAL_CLUSTER="etcd_1=http://192.168.56.200:2380,etcd_2=http://192.168.56.201:2380" ETCD_INITIAL_CLUSTER_STATE="existing"
-
啟動(dòng)新節(jié)點(diǎn)
-
寫(xiě)入conf.yaml文件
vim /etc/etcd/conf.ymlname: etcd_2 data-dir: /opt/etcd-v3.3.10-linux-amd64/data listen-client-urls: http://192.168.56.202:2379,http://127.0.0.1:2379 advertise-client-urls: http://192.168.56.202:2379,http://127.0.0.1:2379 listen-peer-urls: http://192.168.56.202:2380 initial-advertise-peer-urls: http://192.168.56.202:2380 initial-cluster: etcd_1=http://192.168.56.200:2380,etcd_2=http://192.168.56.201:2380,etcd_3=http://192.168.56.202:2380 initial-cluster-token: etcd-cluster-token initial-cluster-state: existing
-
參考鏈接
結(jié)論測(cè)試通過(guò)!!!
3個(gè)節(jié)點(diǎn)全部加入成功