サービス概要
- システムユーザー:
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 が起動できなくなる可能性があります。