init a etcd cluster

  • 3 host:
    myvm1: 192.168.99.100,
    myvm2: 192.168.99.101,
    myvm3: 192.168.99.102

  • myvm1: run

./etcd \
 --name myvm1 \
 --data-dir /var/lib/etcd \
 --initial-advertise-peer-urls http://192.168.99.100:2380 \
 --listen-peer-urls http://192.168.99.100:2380 \
 --listen-client-urls http://192.168.99.100:2379,http://127.0.0.1:2379 \
 --advertise-client-urls http://192.168.99.100:2379 \
 --initial-cluster-token etcd-cluster-1 \
 --initial-cluster 'myvm1=http://192.168.99.100:2380,myvm2=http://192.168.99.101:2380,myvm3=http://192.168.99.103:2380' \
 --initial-cluster-state new \
 --heartbeat-interval 1000 \
 --election-timeout 5000 \
 --enable-pprof --logger=zap --log-outputs=stderr
  • myvm2: run
./etcd \
 --name myvm2 \
 --data-dir /var/lib/etcd \
 --initial-advertise-peer-urls http://192.168.99.101:2380 \
 --listen-peer-urls http://192.168.99.101:2380 \
 --listen-client-urls http://192.168.99.101:2379,http://127.0.0.1:2379 \
 --advertise-client-urls http://192.168.99.101:2379 \
 --initial-cluster-token etcd-cluster-1 \
 --initial-cluster 'myvm1=http://192.168.99.100:2380,myvm2=http://192.168.99.101:2380,myvm3=http://192.168.99.103:2380' \
 --initial-cluster-state new \
 --heartbeat-interval 1000 \
 --election-timeout 5000 \
 --enable-pprof --logger=zap --log-outputs=stderr
  • myvm3: run
 ./etcd \
 --name myvm3 \
 --data-dir /var/lib/etcd \
 --initial-advertise-peer-urls http://192.168.99.103:2380 \
 --listen-peer-urls http://192.168.99.103:2380 \
 --listen-client-urls http://192.168.99.103:2379,http://127.0.0.1:2379 \
 --advertise-client-urls http://192.168.99.103:2379 \
 --initial-cluster-token etcd-cluster-1 \
 --initial-cluster 'myvm1=http://192.168.99.100:2380,myvm2=http://192.168.99.101:2380,myvm3=http://192.168.99.103:2380' \
 --initial-cluster-state new \
 --heartbeat-interval 1000 \
 --election-timeout 5000 \
 --enable-pprof --logger=zap --log-outputs=stderr
  • check member list:
    doc
  • this maybe error, can not konw which is the leader

  • check leader using this:
    ./etcdctl -w table --endpoints=192.168.99.100:2379,192.168.99.101:2379,192.168.99.103:2379 endpoint status

  • reference etcd doc cluster procfile