LoginSignup
2
3

More than 5 years have passed since last update.

consul [インストール〜設定〜クライアント(ジョイン)]

Last updated at Posted at 2016-03-27

Consul

  • consulはサービス監視が可能なオーケストレーションツール
  • 呼び方はカンサル(コンサルとも呼ばれる)
  • serfでもクラスタリングできるが、serfはserfエージェントの活性のみ監視する。consulはサービス検出機能を持ち、それらが正常か異常かを確認できる為、任意のサービスを監視し、トリガー発動でコマンド実行するといったことができる。
  • 1つのバイナリファイルで実行し、起動時にサーバかクライアントかを選択する、LinuxH/Aと比べて構成部品が少なく、構築コストが低い。
  • サーバは主にクライアントの情報を蓄積し、要求があった場合に回答する。

イメージ
cloudcraft - consul.png


設定

  • パッケージで配布されていない為、バイナリファイルをダウンロード
$ wget -O consul_0.6.4_linux_amd64.zip https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip
$ unzip consul_0.6.4_linux_amd64.zip
$ sudo cp consul /bin
$ sudo consul version
Consul v0.6.4
Consul Protocol: 3 (Understands back to: 1)
$ sudo rm consul_0.6.4_linux_amd64.zip
  • Web-UIファイルも別途ダウンロード
$ sudo mkdir -p /var/www/consul-web-ui
$ cd /var/www/consul-web-ui
$ sudo wget -O consul_0.6.4_web_ui.zip https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_web_ui.zip
$ sudo unzip consul_0.6.4_web_ui.zip
$ sudo rm consul_0.6.4_web_ui.zip 
  • サービス定義jsonを置くDir作成し、Web-UI用を作成
$ sudo mkdir /etc/consul.d && cd /etc/consul.d
$ sudo vim web_ui.json
{
    "ui_dir":"/var/www/consul-web-ui",
    "addresses":{"http":"0.0.0.0"}
}

consul-server起動

$ consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -node=consul-server -bind=10.0.1.155 -config-dir /etc/consul.d &
consul agent -server:エージェントをサーバ状態にする
-bootstrap-expect=1:consulサーバを1台で構成することを明示的に記述
-data-dir:データ保管場所を記述
-bind:複数のNICがある場合にIP指定
-node:表示名
-data-dir:サービス定義json格納DIR

確認

$ sudo consul members
Node           Address          Status  Type    Build  Protocol  DC
consul-server  10.0.1.155:8301  alive   server  0.6.4  2         dc1

consul-client起動

ファイルダウンロード〜はconsul-serverと同じ手順を踏む(Web-uiファイルは不要)
server~client間はtcp:8300,8301を明示的に許可

$ sudo consul agent -data-dir=/tmp/consul -node=consul-node1 -bind=10.0.0.90 -join=10.0.1.155 &
-join:consulサーバのIP

クラスタへジョインされたことを確認

$ sudo consul members
Node           Address          Status  Type    Build  Protocol  DC
consul-node1   10.0.0.90:8301   alive   client  0.6.4  2         dc1
consul-server  10.0.1.155:8301  alive   server  0.6.4  2         dc1

web-ui

8500ポート指定して接続

http://<server-hostname>:8500/ui

Screenshot from 2016-09-10 21:39:09.png

2
3
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
2
3