내 잡다한 노트

etcdctl 명령어 본문

DB/etcd

etcdctl 명령어

peanutwalnut 2025. 2. 19. 09:59

postgresql을 HA 하고 있는 도중에 DCS를 etcd로 구축하고있다.

그 과정에서 etcdctl 명령어를 잘 몰라서 정리해본다.

 

etcd 클러스터의 데이터를 조회, 수정, 삭제하거나 클러스터의 멤버를 관리하고 스냅샷을 생성하는 등 다양한 작업을 수행

 

2. 키-값 데이터 관리

  • 데이터 삽입 (put):
  • 예) etcdctl put mykey "Hello, etcd!"
    지정한 키에 값을 저장합니다.
     
    etcdctl put <키> <값>
  • 데이터 조회 (get):
  • 예) etcdctl get mykey
    특정 키의 값을 조회합니다. 여러 키를 조회하거나 프리픽스(prefix)를 사용하여 관련된 모든 키를 조회할 수 있습니다.
     
    etcdctl get <키>
  • 데이터 삭제 (del):
  • 예) etcdctl del mykey
    특정 키를 삭제합니다.
     
    etcdctl del <키>
  • 프리픽스 기반 조회:예) etcdctl get /configs/ --prefix
    /configs/로 시작하는 모든 키-값 쌍을 조회합니다.
     
    etcdctl get <프리픽스> --prefix

3. 워치 (Watch)

  • 변경 감지:예) etcdctl watch mykey
    지정한 키에 변화가 생기면 실시간으로 이벤트를 출력합니다.
    etcdctl watch <키>
  • 프리픽스 기반 워치:예) etcdctl watch /configs/ --prefix
    지정한 프리픽스와 관련된 모든 키의 변화를 감시합니다.
     
    etcdctl watch <프리픽스> --prefix

4. 클러스터 및 멤버 관리

  • 클러스터 엔드포인트 확인:클러스터에 속한 각 멤버의 상태 정보를 확인합니다.
     
    etcdctl endpoint status
  • 멤버 추가:클러스터에 새로운 멤버를 추가합니다.
     
    etcdctl member add <이름> --peer-urls=<피어 URL>
  • 멤버 삭제:클러스터에서 특정 멤버를 제거합니다.
     
    etcdctl member remove <멤버ID>

 

5. 스냅샷 관리

  • 스냅샷 저장:현재 클러스터의 상태를 파일로 저장하여 백업합니다.
     
    etcdctl snapshot save <파일 경로>
  • 스냅샷 복원:저장된 스냅샷 파일을 사용하여 etcd 클러스터를 복원합니다.
     
    etcdctl snapshot restore <파일 경로>

 

기타 옵션

  • JSON 출력 옵션:
    --write-out=json 옵션을 사용하여 출력 결과를 JSON 형식으로 받을 수 있습니다.
     
    etcdctl get <키> --write-out=json
  • 인증 및 TLS 설정:
    etcd 클러스터가 TLS 인증을 사용하고 있다면, 인증서와 키 파일을 지정하여 안전하게 연결할 수 있습니다.
     
    etcdctl --cacert=<CA 인증서> --cert=<클라이언트 인증서> --key=<클라이언트 키> <명령어>

 

 

 

 

 

'DB > etcd' 카테고리의 다른 글

ETCD에서 snapshot으로 복구해야하는 케이스  (0) 2025.02.20