LoginSignup
8
11

More than 5 years have passed since last update.

Apache Mesos + Marathon + Chronos を 10 分で試す

Last updated at Posted at 2016-07-03

Mesos の起動、Qiita には Vagrant を使う例 があり、仮想サーバを実際に複数台立てた場合の挙動を見るには有用ですが、もっと気軽に、最新の Marathon の挙動を見たい程度であればちょっと重い気もします。

ので、docker-compose でサクッと起動できるものを使います。
初回起動まで 10 分1 ほどでした。2 回目以降は超速。

起動確認まで

1. git clone

git-clone
git clone https://github.com/bobrik/mesos-compose
cd mesos-compose

2. 起動

Docker Quickstart Terminal を起動2 して、

start-services
export DOCKER_IP=$(docker-machine ip)
echo $DOCKER_IP
make start

16.07.03 現在、以下の Docker イメージを pull します。
どれもかなり新しいバージョンですね3 :)

image tag transfer data size
bobrik/zookeeper latest 158 MB
mesosphere/mesos-master 1.0.0-1.0.59.rc1.ubuntu1404 208 MB
mesosphere/mesos-slave 1.0.0-1.0.59.rc1.ubuntu1404 208 MB
mesosphere/marathon v1.2.0-RC3 359 MB

3. ログ確認 & 接続

Mesos 自体のログはこれでみれます。

tail-logs
$ docker-compose logs -f

ブラウザから Web UI に接続してみましょう。

Mesos: http://$DOCKER_IP:5050/
Marathon: http://$DOCKER_IP:8080/

Marathon でアプリを起動

GitHub の README に従えば

run-example-app
make APP=example deploy

これでサンプルが起動しますが、起動画面がつまらないので Marathon の GUI から別のアプリを起動してみます。

1. Marathon の Web UI に接続

Marathon: http://$DOCKER_IP:8080/

2. アプリ作成

2.1. Create Application を押して

0.png

2.2. ID を指定。例えば /hello など。

1.png

2.3. 左の Docker Container メニューを開き、Image には dockercloud/hello-world を入力、NetworkBridged を選択。

2.png

2.4. 左の Ports メニューを開き、Container Port80 を入力して、右下の Create Application を押します。

3.png

3. アプリへの接続

3.1. Marathon のアプリ一覧画面で該当のアプリの StatusRunning になったら、先ほど指定した ID をクリック。

4.png

3.2. ID 欄の下に、エンドポイントが表示されています。これをクリックしましょう!

5.png

繋がりましたか?
あとは Marathon-LB でロードバランスしたり、ノードを増やしたり、アプリケーションをスケールさせたりすることになります。

停止

以下のコマンドで停止します。

stop-services
make destroy

もしくは docker-compose コマンドでも OK。

stop-services
docker-compose stop
docker-compose rm -a

ただし、Marathon で起動したアプリは掃除してもらえません。
別途 stop なり rm しましょう。

その他オプション

GitHub の README に記載がありますが一応。

・2 つめの Mesos Slave を起動する

docker-compose.ymlslave-two: 以下のコメントを外し起動し直します。

・Chronos を起動する

docker-compose.ymlchronos: 以下のコメントを外し起動し直します。Chronos の Web UI はポート 8888 で待機します。
http://$DOCKER_IP:8888/

 


  1. 我が家の Wifi はだいたい 3.8MB/sec 

  2. Docker for Mac / Windows(ネィテイブアプリ)には未対応 

  3. bobrik さんが定期的にメンテしているご様子 

8
11
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
8
11