etcdctl set test "hello world"
etcdctl get test
# Discovery 생성
./etcd --name discovery >discovery.log 2>&1 &
## 노드 갯수 지정
curl -X PUT http://localhost:2379/v2/keys/_etcd/registry/test/_config/size -d value=5
## discovery 정보 확인
curl -X GET http://localhost:2379/v2/keys/_etcd/registry/test
# 새로운 클러스터 생성
# 노드 갯수를 충족하지 않으면 동작하지 않음
# 노드 갯수를 넘어가면 proxy 노드로 추가됨
## 1번 노드
./etcd --name test1 --initial-advertise-peer-urls http://localhost:12380 \
--listen-peer-urls http://localhost:12380 \
--listen-client-urls http://localhost:12379 \
--advertise-client-urls http://localhost:12379 \
--discovery http://localhost:2379/v2/keys/_etcd/registry/test >test1.log 2>&1 &
## 2번 노드
./etcd --name test2 --initial-advertise-peer-urls http://localhost:22380 \
--listen-peer-urls http://localhost:22380 \
--listen-client-urls http://localhost:22379 \
--advertise-client-urls http://localhost:22379 \
--discovery http://localhost:2379/v2/keys/_etcd/registry/test >test2.log 2>&1 &
## 3번 노드
./etcd --name test3 --initial-advertise-peer-urls http://localhost:32380 \
--listen-peer-urls http://localhost:32380 \
--listen-client-urls http://localhost:32379 \
--advertise-client-urls http://localhost:32379 \
--discovery http://localhost:2379/v2/keys/_etcd/registry/test >test3.log 2>&1 &
## 4번 노드
./etcd --name test4 --initial-advertise-peer-urls http://localhost:42380 \
--listen-peer-urls http://localhost:42380 \
--listen-client-urls http://localhost:42379 \
--advertise-client-urls http://localhost:42379 \
--discovery http://localhost:2379/v2/keys/_etcd/registry/test >test4.log 2>&1 &
## 5번 노드
./etcd --name test5 --initial-advertise-peer-urls http://localhost:52380 \
--listen-peer-urls http://localhost:52380 \
--listen-client-urls http://localhost:52379 \
--advertise-client-urls http://localhost:52379 \
--discovery http://localhost:2379/v2/keys/_etcd/registry/test >test5.log 2>&1 &
## 현재 클러스터 확인
./etcdctl --endpoint http://localhost:12379 member list
# 노드 추가
## discovery에 반영되지 않음
## etcdctl member add 이후 가능
./etcdctl --endpoint http://localhost:12379 member add test6 http://localhost:62380
## discovery를 쓸 수 없고 대신에 --initial-cluster 필요
## 6번 노드
./etcd --name test6 --initial-advertise-peer-urls http://localhost:62380 \
--listen-peer-urls http://localhost:62380 \
--listen-client-urls http://localhost:62379 \
--advertise-client-urls http://localhost:62379 \
--initial-cluster-token test-cluster \
--initial-cluster test6=http://localhost:62380,test1=http://localhost:12380,test5=http://localhost:52380,test3=http://localhost:32380,test4=http://localhost:42380,test2=http://localhost:22380 \
--initial-cluster-state existing >test6.log 2>&1 &