https://github.com/coreos/etcd/releases/ 을 접근하니 3.2.6이 최신이다. 

os 버전별로 바이너리를 다운받고 압축을 푼 디렉토리 밑에 실행하면 된다.



ETCDCTL_API의 값이 설정되야 잘 돌아간다. 

$ ETCDCTL_API=3


또는 .bash_xx에 추가한다. 

EXPORT ETCDCTL_API=3 




version을 확인한다. 


$ ./etcdctl version

etcdctl version: 3.2.6

API version: 3.2




2.x에서 사용되던 ls는 안먹힌다.. 조금씩 바꾼 형태이다. 

$ ./etcdctl ls /

Error: unknown command "ls" for "etcdctl"

Run 'etcdctl --help' for usage.

Error:  unknown command "ls" for "etcdctl"



put, get 예제


$ /etcdctl put foo bar

OK


$ ./etcdctl get foo

foo

bar



from-key 예제



$ ./etcdctl put foo bar

OK


$ ./etcdctl put foo bar

OK


$ ./etcdctl put foo1 bar1

OK


$ ./etcdctl put foo2 bar2

OK


$ ./etcdctl put foo3 bar3

OK


$ ./etcdctl get foo

foo

bar

$ ./etcdctl get --from-key foo1

foo1

bar1

foo2

bar2

foo3

bar3

$ ./etcdctl get foo1 foo3

foo1

bar1

foo2

bar2







etcd 2.x의 ls 와 비슷한 커맨드 from-key


$ ./etcdctl put x y

OK

$ ./etcdctl put y 1

OK

$ ./etcdctl get --from-key ''

x

y

y

1






delete 예제



$ ./etcdctl del foo

1

$ ./etcdctl get foo




$ ./etcdctl put key val

OK

$ ./etcdctl del --prev-kv key

1

key

val

$ ./etcdctl get key




$ ./etcdctl put a 123

OK

$ ./etcdctl put b 456

OK

$ ./etcdctl put z 789

OK

$ ./etcdctl del --from-key a

6

$ ./etcdctl get --from-key a




 ./etcdctl put zoo val

OK

$ ./etcdctl put zoo1 val1

OK

$ ./etcdctl put zoo2 val2

OK

$ ./etcdctl del --prefix zoo

3

$ ./etcdctl get zoo2





원자잭 트랙잭션 txn 예제



$ ./etcdctl txn -i

compares:

mod("key1") > "0"


success requests (get, put, delete):

put key1 "111"

put key2 "222"


failure requests (get, put, delete):


SUCCESS


OK


OK

$ ./etcdctl get key1

key1

111

$ ./etcdctl get key2

key2

222




클러스터 모드롤 실행할 때는 로컬이 아닌 3대의 장비에서 실행시키는 것이 좋다..




Posted by '김용환'
,