動作確認

Mesos

VPNをつないだ状態で、ブラウザから http://192.168.200.11:5050/ にアクセスしてみましょう。 以下のようなページが表示されればOKです。 このとき、Mesosのリーダーサーバが11ではなかった場合は、現在のリーダーサーバに自動でリダイレクトされます。

また、FrameworkタブにはMarathonが、Slaveタブには二台のスレーブサーバが認識されているはずです。 スレーブサーバが認識されていない場合には、スレーブサーバを再起動してみてください。

Mesos

Marathon

Marathonの管理画面は、 http://192.168.200.11:8080/ からアクセスできます。 Mesosと異なり、リーダーでないサーバに接続した場合でもリダイレクトはされません。 内部的にリーダーのサーバに対しリバースプロキシが行われる実装になっています。

Marathon

アプリケーションのデプロイ

確認のために、DockerでNginxを起動させてみましょう。 DockerHubという、Docker公式のイメージリポジトリにNginxがあるため、簡単に利用することができます。

Marathonの画面で、左上の「Create」ボタンをクリックし、以下の内容を入力してください。

基本項目

  • ID nginx (適当でよい)

Docker container settings

  • Image nginx
  • Network Bridged
  • Port MappingsのContainer Port 80
  • Port MappingsのProtocol tcp

そして、青い「+Create」ボタンをクリックします。

そうすると、新しくタスクが登録され、StatusがDeployingから、Runningに変わります。

running

クリックすると詳細が確認できるので、クリックしてみます。

detail

ここで、どのサーバのどのポートでNginxが動作しているか確認できます。 上図の場合だと、 192.168.200.21:31867 で稼働していることがわかるため、 http://192.168.200.21:31867/ へアクセスすると、Nginxのデフォルトのindex.htmlが表示されます。

スケール

ここからがクラスタリングの本領発揮です。 さきほどのタスクの詳細画面にある、Scale Applicationボタンをクリックし、表示されるテキストボックスに 5 と入力してみましょう。

scale

すると、どうでしょう。しばらくすると5つNginxが起動していることが確認できるはずです。

scaled

また、1に戻すと、起動しているNginxは1つだけになります。

このように、MesosとMarathonを使うことで、いつでも好きな時に、好きなアプリケーションを好きな数だけ起動させることができるのです。