etcd静态集群部署(Centos 3节点)

当确定集群的成员个数及其信息,可以使用静态模式(Static)部署集群,具体步骤如下:

一、机器信息

hostname ip 系统版本
infra0 172.17.0.2 CentOS Linux release 7.4.1708 (Core)
infra1 172.17.0.3 CentOS Linux release 7.4.1708 (Core)
infra2 172.17.0.4 CentOS Linux release 7.4.1708 (Core)

二、下载etcd二进制包

wget https://github.com/coreos/etcd/releases/download/v3.2.10/etcd-v3.2.10-linux-amd64.tar.gz
tar -xf etcd-v3.2.10-linux-amd64.tar.gz
sudo mv etcd-v3.2.10-linux-amd64/etcd* /usr/local/bin/
etcd --version 
--------------------------------
etcd Version: 3.2.10
Git SHA: 694728c
Go Version: go1.8.5
Go OS/Arch: linux/amd64
--------------------------------

etcdctl --version
------------------------------
etcdctl version: 3.2.10
API version: 2-
------------------------------

三、启动节点

1.infra0节点执行命令

NODE_INFRA0_IP=172.17.0.2
NODE_INFRA1_IP=172.17.0.3
NODE_INFRA2_IP=172.17.0.4
mkdir -p /data/etcd/data_dir
nohup etcd --name infra0 --data-dir /data/etcd/data_dir \
  --initial-advertise-peer-urls http://${NODE_INFRA0_IP}:2380 \
  --listen-peer-urls http://${NODE_INFRA0_IP}:2380 \
  --listen-client-urls http://${NODE_INFRA0_IP}:2379,http://127.0.0.1:2379 \
  --advertise-client-urls http://${NODE_INFRA0_IP}:2379 \
  --initial-cluster-token etcd-cluster-1 \
  --initial-cluster infra0=http://${NODE_INFRA0_IP}:2380,infra1=http://${NODE_INFRA1_IP}:2380,infra2=http://${NODE_INFRA2_IP}:2380 \
  --initial-cluster-state new >> /data/etcd/etcd.log 2>&1 &

2.infra1节点执行命令

NODE_INFRA0_IP=172.17.0.2
NODE_INFRA1_IP=172.17.0.3
NODE_INFRA2_IP=172.17.0.4
mkdir -p /data/etcd/data_dir
nohup etcd --name infra1 --data-dir /data/etcd/data_dir \
  --initial-advertise-peer-urls http://${NODE_INFRA1_IP}:2380 \
  --listen-peer-urls http://${NODE_INFRA1_IP}:2380 \
  --listen-client-urls http://${NODE_INFRA1_IP}:2379,http://127.0.0.1:2379 \
  --advertise-client-urls http://${NODE_INFRA1_IP}:2379 \
  --initial-cluster-token etcd-cluster-1 \
  --initial-cluster infra0=http://${NODE_INFRA0_IP}:2380,infra1=http://${NODE_INFRA1_IP}:2380,infra2=http://${NODE_INFRA2_IP}:2380 \
  --initial-cluster-state new >> /data/etcd/etcd.log 2>&1 &

3.infra2节点执行命令

NODE_INFRA0_IP=172.17.0.2
NODE_INFRA1_IP=172.17.0.3
NODE_INFRA2_IP=172.17.0.4
mkdir -p /data/etcd/data_dir
nohup etcd --name infra2 --data-dir /data/etcd/data_dir \
  --initial-advertise-peer-urls http://${NODE_INFRA2_IP}:2380 \
  --listen-peer-urls http://${NODE_INFRA2_IP}:2380 \
  --listen-client-urls http://${NODE_INFRA2_IP}:2379,http://127.0.0.1:2379 \
  --advertise-client-urls http://${NODE_INFRA2_IP}:2379 \
  --initial-cluster-token etcd-cluster-1 \
  --initial-cluster infra0=http://${NODE_INFRA0_IP}:2380,infra1=http://${NODE_INFRA1_IP}:2380,infra2=http://${NODE_INFRA2_IP}:2380 \
  --initial-cluster-state new >> /data/etcd/etcd.log 2>&1 &

四、检查集群状态

etcdctl cluster-health #在任意节点执行

member 9198227ac1a2c055 is healthy: got healthy result from http://172.17.0.3:2379
member 983274ac8c0149ec is healthy: got healthy result from http://172.17.0.2:2379
member ab3fbede047aa1ac is healthy: got healthy result from http://172.17.0.4:2379
cluster is healthy

参考官方文档:https://coreos.com/etcd/docs/latest/v2/clustering.html#static

posted @ 2017-11-22 10:30  TatuCz  阅读(811)  评论(0编辑  收藏  举报