※書きかけなので、随時更新。
etcd(etc distributed)とは
etcdはGo言語で記述された設定情報の共有とサービス検出のための分散KVS。
あるサーバーで設定した値を入れたら、他のサーバーでも値が更新されていた。
etcd(etc distributed)という名前は、/etcに置かれたファイルを分散するという意味から来ていると思われる。
CoreOS(Linuxディストリビューションの一種)の中で提供されている機能の一つでもある。
特徴
- curl(HTTP、FTP、SCPなど多数のファイル転送プロトコルを使えるツール)でデータの出し入れができる
- SSL認証可
- 高速な書き込み速度(ベンチマークは 1000/s 程度)
- Raft(コンセンサスアルゴリズム)を使用して分散
コマンド
● クラスタの状態
etcdctl cluster-health
● リーダーの確認
curl http://localhost:2379/v2/stats/leader
● メンバの確認
etcdctl member list
curl http://localhost:2379/v2/members
● メンバの削除
etcdctl member remove id
curl http://localhost:2379/v2/members/id -XDELETE
メンバの追加
curl http://localhost:2379/v2/members -XPOST -H "Content-Type: application/json" -d '{"node":"value"}'