首先在主機或者虛擬機下設置變量:
REGISTRY=quay.io/coreos/etcd
ETCD_VERSION=v3.3.8
TOKEN=my-etcd-token
CLUSTER_STATE=new
NAME_1=node1 //節(jié)點一名稱
NAME_2=node2 //節(jié)點二名稱
HOST_1=192.168.50.250 \
HOST_2=172.16.196.129 \ //兩個主機必須能ping通姑丑,且開放了2379和2380端口
CLUSTER=${NAME_1}=http://${HOST_1}:2380,${NAME_2}=http://${HOST_2}:2380 //集群
DATA_DIR=/home/mok/etcd/data //這個目錄必須是主機中存在的
節(jié)點1:
THIS_NAME=${NAME_1}
THIS_IP=${HOST_1}
docker run \
-d \
-p 2379:2379 \
-p 2380:2380 \
--volume=${DATA_DIR}:/etcd-data \
--name etcd ${REGISTRY}:${ETCD_VERSION} \
/usr/local/bin/etcd \
--data-dir=/etcd-data --name ${THIS_NAME} \
--initial-advertise-peer-urls http://${THIS_IP}:2380 \
--listen-peer-urls http://0.0.0.0:2380 \
--advertise-client-urls http://${THIS_IP}:2379 \
--listen-client-urls http://0.0.0.0:2379 \
--initial-cluster ${CLUSTER} \
--initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}
同理節(jié)點二設置只需要修改
THIS_NAME=${NAME_2}
THIS_IP=${HOST_2}
然后集群就創(chuàng)建結束了
在瀏覽器中訪問:http://127.0.0.1:2379/v2/members可以得到集群的信息:
{"members":
[
{"id":"455687b21ff942af","name":"node2","peerURLs":["http://172.16.196.129:2380"],"clientURLs":["http://172.16.196.129:2379"]},
{"id":"8afdec76e5748137","name":"node1","peerURLs":["http://192.168.50.250:2380"],"clientURLs":["http://192.168.50.250:2379"]}
]
}