내 잡다한 노트
etcdctl 명령어 본문
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 |
---|