LoginSignup
0
0

More than 5 years have passed since last update.

etcdのクラスタを組みたい(備忘録)

Last updated at Posted at 2019-03-16

なぜやるの?

dockerをマルチホストで運用したい

どうやるの?

  • etcdのインストール
  • etcdのクラスタを組む <- ここまでqiitaに書く
  • serviceとして登録する
  • flannelのインストール
  • flannelの設定をやる
  • serviceとして登録する
  • dockerの設定をやる

環境

  • Centos7 hostname master01
  • Centos7 hostname master02
  • Centos7 hostname master03

etcdのインストール

環境はCentos7を使っている今回はクラスタを組みたいだけなので,
パッケージマネージャの恩恵にあやかる

$ yum seach etcd
etcd.x86_64 : A highly-available key value store for shared configuration

$ yum install etcd
$ etcd -v
etcdmain: etcd Version: 3.2.22

install完了

etcdのクラスタを組む

etcdのクラスタを組む方法は主に3つあるようだ->CoreOSのサイト

  • Static
  • etcd Discovery
  • DNS Discovery

staticはetcdにお互いのホストの情報をいろいろ流し込まないといけないので大変だった.

etcd Discoveryはetcdのtoken url(後述)を発行すればある程度簡単にクラスタを組んでくれるのでお勧め

DNS DiscoveryはよくわからなかったDNSのSRVレコードを使うようだがSRVレコードのへの知識がなかったので試さなかった.
今度試してみたい.

今回はetcd Discovery方式を使ってetcdのクラスタを組むことにする.

$ curl https://discovery.etcd.io/new
https://discovery.etcd.io/<token>

のようにクラスタを組むためのurl tokenを発行してくれる

$ etcd --name=<etcdの名前> --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://<自分のip>:2379 --listen-peer-urls http://0.0.0.0:2380 --initial-advertise-peer-urls http://<自分のip>:2380 --discovery <token>

--<name=etcd>の名前は好きな名前を付けていいはずだ
今回はmaster01,master02,master03を付けている
上のコマンドを
- master01
- master02
- master03
で実行する
これでetcdのクラスタを組むことができる

まとめ

etcd Discovery方式を使うと簡単にクラスタを組むことができる
やることはどのホストでも同じなのでansibleでの構築自動化はやりやすいと思う

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0