서비스 개요
- 시스템 사용자
etcd - 기본 노드 이름: 자동 생성
etcd-<timestamp> - 구성 파일:
/etc/etcd/etcd.yml - 데이터 디렉토리:
/var/lib/etcd - 이진 파일:
/usr/local/bin/etcd,/usr/local/bin/etcdctl, 그리고/usr/local/bin/etcdutl - 로그 레벨:
debug
네트워크 및 포트
- 클라이언트 트래픽:
http://localhost:2379 - 피어 트래픽:
http://localhost:2380 - 기본값: localhost에만 바인딩 (로컬 접근 전용)
Systemd 관리
systemctl status etcd # Check status
systemctl restart etcd # Start service
systemctl stop etcd # Stop service
systemctl restart etcd # Restart service
기본 명령어
# Check etcd server version
etcd --version
# Check etcdctl client version
etcdctl version
# Check etcdutl version
etcdutl version
# Set a key
etcdctl put mykey "HelloEtcd"
# Get a key
etcdctl get mykey
# List all keys with values
etcdctl get "" --prefix
# List only key names
etcdctl get "" --prefix --keys-only
# Delete a key
etcdctl del mykey
# Check cluster health
etcdctl endpoint health
# List cluster members
etcdctl --endpoints=http://127.0.0.1:2379 member list
# Show cluster leader
etcdctl endpoint status --write-out=table
# Watch a key for changes
etcdctl watch mykey
백업 및 복원
스냅샷 백업 (현재 etcd 상태를 파일로 저장):
etcdctl snapshot save /root/etcd-backup.db
스냅샷 상태 확인:
etcdutl snapshot status /root/etcd-backup.db -w table
충돌 방지를 위해 etcd 서비스 중지:
systemctl stop etcd
데이터 디렉터리의 기존 내용 삭제:
rm -rf /var/lib/etcd/*
스냅샷 복원:
etcdutl snapshot restore /root/etcd-backup.db --data-dir /var/lib/etcd
권한 설정 확인:
chown -R etcd:etcd /var/lib/etcd
etcd 서비스 재시작:
systemctl start etcd
메모
- 기본값은 단일 노드 클러스터로, 개발 및 테스트 환경에 적합합니다.
- 디버그 로그 레벨로 설정됩니다.
- 운영 환경에서는 클라이언트 및 피어 통신에 TLS를 활성화하세요.
- 고가용성을 위해 멀티 노드 클러스터 구성을 고려하세요.
- 방화벽 규칙을 통해 포트 2379(클라이언트)와 2380(피어)를 신뢰할 수 있는 호스트로만 제한하세요.
- 수정
/etc/etcd/etcd.yml고급 설정은 다음 파일을 수정하고etcd서비스를 재시작하여 변경 사항을 적용하세요. - 삭제/복원/압축 등 되돌리기 어려운 작업을 수행하기 전에 반드시 데이터를 백업하세요.
- 확인하다
/var/lib/etcd소유하고 있습니다etcd:etcd; 권한 설정이 잘못되면 복원 또는 데이터 변경 후 etcd가 시작되지 않을 수 있습니다.