서비스 개요
- 시스템 사용자:
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에 바인딩)
체계화된 관리
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가 시작되지 않을 수 있습니다.