OSS編~オーケストレーションツール Serf 01 インストール編~


今回は『OSS編~オーケストレーションツール Serf 01 インストール編~』と題して、オーケストレーションのSerfのインストールから基本操作までを試してみたいと思います。

Serfとは

Vagrantで有名なHashiCorp社がGo言語で開発しているサービスディスカバリーやオーケストレーションのための分散型ツールです。

Serf

以下の3つの特徴があります。

・クラスタリング
Serfではクラスターを形成してメンバーのリストを持ち、参加・離脱等が発生した際にイベントとして伝播をしてスクリプトの実行が出来ます。
イベントとの伝播にはGossipプロトコルを利用しています。

・障害検知とリカバリ
Serfは自動的に失敗したノードを検出して、残りのメンバーリストに対して伝播します。
リカバリでは定期的に失敗したノードに再接続して回復しようとします。

・カスタムイベントの伝播
クラスターに対してカスタムイベントとクエリーを伝播する事が出来ます。
これにより任意の処理をユーザーが実行出来ます。

公式サイト

今回はGitHubにのっているQuick Startを試してみたいと思います。

Serfの実行

1.Serfのインストール
Serfは該当のプラットフォームのバイナリファイルをダウンロードして設置するだけで利用できます。

実際にコマンドで確認してみます。
$ serf version
Serf v0.6.4
Agent Protocol: 4 (Understands back to: 2)

2.Serfの起動
次のコマンドでSerfを起動してみます。

続いて別のターミナルを立ち上げて2つ目のエージェントを立ち上げます。
※一台で行っている為、ポートを変える事で対応しています。

3.クラスターへの参加
それでは三個目のターミナルを立ち上げて1つ目のエージェントを2つ目のクラスターに参加させます。

ストリームされているログでも確認出来ます。

メンバーコマンドでリストを確認してみます。

クラスタリングされているのが分かります。
起動しているエージェントを止めて確認してみます。

いかがでしたでしょうか?
次回もお楽しみに!!!