ArchLinux で Consul 入れてみたら、いきなり動かなくて哀しい

CoreOS に etcd いれるのがどうもしっくりこないので、Consul をとりあえず試してみるなう。

とりあえず、 Consul いれましょう。

 

Consulはもともと1バイナリ提供で、サービス定義は自分で書くものなのですが、ここはパッケージ導入の利点、一緒に入ってくれます。・・・ですが、 systemctl start consul ・・・すれども起動しない…(´・ω・`)

自動的に作られる /usr/lib/systemd/system/consul.service をチラ見してみると、-data-dir が無いから起動できないとか。さらに、自分の環境では private アドレスが複数あるので、ほかに通知するアドレスが自動では決まらない、と怒られました。

うん、デフォルトだと、いろいろ設定が足りない模様…。
/etc/default/consul を環境変数として読むことになってて、 consul 起動時に CONSUL_FLAGS を引数に与えるようになってるので、ここを利用して、必要な引数を与えておきます。

  • -server … 値を保持するサーバにする(これをつけないと、ただ、ほかの consul サーバに問い合わせるだけになってしまう
  • -bootstrap-expect … 何人集まったらリーダ選出を始めるか。今回はとりあえず1でやってみる。
  • -data-dir … データをどこにおくか
  • -advertise … 他のノードに自分のIPを知らせるときに使う値。通常、Private IP が自動的に選ばれるけど、複数( Heyper-VのネットワークやDockerのネットワークで複数のIPを持ってる)場合は、明示的に指定して上げる

この状態で、systemctl start consul で起動したところ、無事起動した模様…あとは確認!

よし。
とりあえず、動き始めた!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*