我已经为每个服务使用 Docker 映像设置了 Mesos 集群,包括 Marathon 和 Chronos。
我使用的 Docker 镜像如下;
- ZooKeeper:jplock/zookeeper:3.4.5
- Mesos Master: redjack/mesos-master:0.21.0
- Mesos 奴隶:redjack/mesos-slave:0.21.0
- 马拉松:中间层/马拉松:v0.8.2-RC3
- 计时:tomaskral /chronos:2.3.0-mesos0.21.0
ZooKeeper 在 2181 端口上运行,Mesos Master 在 5050 上运行,Mesos Slave 在 5051 上运行,marathon 在 8088 上运行,Chronos 在 8080 上运行。
我想做的是;在 Marathon & Chronos 上运行 Docker 容器。
Marathon 成功地将 Docker 容器作为其应用程序运行。
但Chronos 不运行任何作业。即使 Job 不在 Docker 中。
我尝试启动的 Chronos Job 的配置是;
{
"schedule": "R/2015-05-28T10:16:30Z/PT2M",
"name": "simplejob",
"cpus": "0.5",
"mem": "512",
"command": "while sleep 10; do date -u %T; done"
}
作业在 Chronos 上注册,但从未启动。
我运行 Chronos 容器的命令如下;
docker run -p 8080:8080 -e LIBPROCESS_PORT=5050 tomaskral/chronos:2.3.0-mesos0.21.0 --http_port 8080 --master zk://<master-hostname>:2181/mesos --zk_hosts zk://<master-hostname>:2181/mesos