Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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

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

起動確認まで

1. git clone

https://github.com/bobrik/mesos-compose

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 さんが定期的にメンテしているご様子 

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away