Service Overview
- System user:
etcd - デフォルトのノード名: 自動生成
etcd-<timestamp> - Config file:
/etc/etcd/etcd.yml - Data directory:
/var/lib/etcd - Binaries:
/usr/local/bin/etcd,/usr/local/bin/etcdctl, and/usr/local/bin/etcdutl - Log level:
debug
Network & Ports
- Client traffic:
http://localhost:2379 - Peer traffic:
http://localhost:2380 - デフォルトではローカルアクセスのみ (localhost にバインド)
Systemd Management
systemctl status etcd # Check status
systemctl restart etcd # Start service
systemctl stop etcd # Stop service
systemctl restart etcd # Restart service
Basic Commands
# 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
Notes
- デフォルトはシングルノードクラスター構成で、開発・テスト環境に適しています。
- デバッグログレベルで設定されています。
- 本番環境では、クライアントおよびピア間通信に TLS を有効にしてください。
- 高可用性が必要な場合は、マルチノードクラスターの構築を検討してください。
- ファイアウォールルールを使用して、ポート 2379 (クライアント) および 2380 (ピア) を信頼済みホストのみに制限してください。
- Modify
/etc/etcd/etcd.yml詳細な設定を行い、etcdサービスを再起動して変更を反映してください。 - 破壊的な操作(削除・復元・コンパクト)を実行する前に、必ずデータをバックアップしてください。
- Ensure
/var/lib/etcdis owned byetcd:etcd;パーミッションが正しくないと、復元やデータ変更後に etcd が起動できなくなることがあります。