필유아사 2022. 11. 18. 13:48

분산 시스템의 가장 중요한 데이터를 위한 신뢰할 수 있는 분산 키-값 저장소

 

etcd는 분산 시스템 또는 시스템 클러스터에서 액세스해야 하는 데이터를 안정적으로 저장하는 방법을 제공하는 강력하고 일관된 분산 키-값 저장소입니다. 네트워크 파티션 중에 리더 선택을 정상적으로 처리하고 리더 노드에서도 시스템 오류를 허용할 수 있습니다.

 

Simple interface

Read and write values using standard HTTP tools, such as curl

Key-value storage

Store data in hierarchically organized directories, as in a standard filesystem

Watch for changes

Watch specific keys or directories for changes and react to changes in values

 

For details, see Install.

설치

binary 파일로 설치하는 방법과 source를 build하는방법 그리고 패키지로 설치하는 3가지 방법이 있다. 여기서는 binary 파일로 설치하는 방법과 패키지로 설치하는 방법을 설명한다.

1) install binaries

- 파일 다운로드 : Releases

- 압축해제

tar -xf etcd-v3.5.0-linux-amd64.tar

- 환경설정

경로 추가 : 기존 PATH 에 압축해제한 경로추가 또는 압축해제한 파일을 /usr/local/bin 으로 이동

(예제 : mv etcd etcdctl etcdutl /usr/local/bin, 단 /usr/local 에 사용권한이 있어야 함) 

  

- 설치확인

$ etcd --version
etcd Version: 3.5.0
Git SHA: 946a5a6f2
Go Version: go1.16.3
Go OS/Arch: linux/amd64

 

2) 패키지 설치 : 

패키지 설치 version

- etcd server 설치 : etcd

sudo apt install etcd-server

- etcd client 설치 : etcdctl

sudo apt install etcd-client

- 설치확인

$ etcd --version
etcd Version: 3.2.26
Git SHA: Not provided (use ./build instead of go build)
Go Version: go1.13.8
Go OS/Arch: linux/amd64

 

시작하기

etcd 실행하기(참고 etcd version 에 따라 결과값이나 명령어가 상이할 수 있음)

 

패키지로 설치한 etcdctl version은 3.2.26 인데 이 버전에서 etctl put 은 실행이 안됨. 대신 set 을 사용해야 한다. version 에 따라 명령어가 차이가 있음을 알아야 한다. 아래 명령어는 etcd version 3.5 에서 수행한 내용이다.
  1. etcd 실행: foreground 로 etcd가 실행된다. 백그라운드로 실행하려면 etcd &  명령어로 수행한다.
    Note: 화면에 나오는 내용은 log 내용임
$ etcd
{"level":"info","ts":"2021-09-17T09:19:32.783-0400","caller":"etcdmain/etcd.go:72","msg":... }
⋮

 

  1. 다른 터미털에서 etcdctl 명령어로 key-value를 입력
$ etcdctl put greeting "Hello, etcd"
OK

 

  1. key에 대한 value값을 조회
$ etcdctl get greeting
greeting
Hello, etcd

 

etcd 툴

etcd manager 라는 UI 관리 툴로 관리 할 수 있다. 아래 사이트에서 다운로드 하고 설치한다.

http://etcdmanager.io/