3 台の CentOS6.5 マシンで構成される Mesos クラスターがあります。
ZooKeeper と Mesos-Master はいずれかのマシンで実行され、Mesos-Slave は各マシンで実行されます。
また、Marathon はマスターノードで実行されています。
次に、 Mesosphereのこの指示に従って、Marathon で docker コンテナーを実行しようとしています。
job.json
は次のようになります。
{
"container": {
"type": "DOCKER",
"docker": {
"image": "libmesos/ubuntu"
}
},
"id": "ubuntu",
"instances": 1,
"cpus": 0.5,
"mem": 512,
"uris": [],
"cmd": "date -u +%T"
}
次に、次のコマンドを実行します。
curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" <master-hostname>:8080/v2/apps -d@job.json
その後、Marathon Web UI で、Docker コンテナーが "デプロイ中" の状態になっていることを確認できます。
そして、Mesos-Master Web UI で、タスクが久しぶりに "STAGING" ステータスになっていることがわかります。
サンドボックス ペインで、stdout を確認でき、コマンドが正常に完了したようです。問題ない。
stderr はこのようなものです。
I0416 19:19:49.254998 29178 exec.cpp:132] Version: 0.22.0
I0416 19:19:49.257824 29193 exec.cpp:206] Executor registered on slave 20150416-160950-109643786-5050-30728-S0
stdout はこのようなものです。
Registered executor on master-hostname
10:19:49
しかし、コマンドの完了後にコンテナ(TASK)が終了することを期待しています。 出来ますか? 可能であれば、その方法は?
ありがとうございました。