Mag*_*sol 2 marathon docker mesos mesosphere
我正在尝试 Dockerizing Zookeeper/Marathon/Mesos 并从Dockerized Mesos 集群部署 Docker 容器的(可能是愚蠢的)任务。
到目前为止,我在两个物理上独立的节点上有一个工作 Mesos 集群:一个节点同时运行 Mesos主节点和从节点(容器 Dockerfiles 链接),第二个节点仅运行一个从节点。它们似乎运行良好;我能够通过 Marathon(也是它自己的容器,在主节点和从节点上运行)提交非常简单的作业,并且它们成功完成。
但是,当我尝试通过 Marathon API 提交 Docker 容器时,它似乎挂起。Marathon 界面在“部署”时挂起并且永远不会改变,即使在让它静置 15 分钟、停止、重新提交并让它再静置 15 分钟之后也是如此。

与此同时,任务仍然被提交给 Mesos 奴隶;Mesos UI 左右报告失败的任务。

编辑 1
每个执行程序的结果沙箱日志也完全是空的。

编辑 2
在奴隶日志中发现了一些有趣的东西:

兴趣线:
启用的容器化程序 (mesos) 都无法为提供的 TaskInfo/ExecutorInfo 消息创建容器。
看起来容器化器无法运行,据我所知,它甚至没有将 docker 视为容器化器。我按照这里的配置来部署 Docker 作业;如果 Mesos slaves 本身是 Docker 容器,这会改变吗?
我有点不合时宜,在这些方面找不到任何参考资料。知道发生了什么吗?
你docker run对奴隶有什么吩咐?以下是其他人发现有用的一些参数:
Run Code Online (Sandbox Code Playgroud)--net host \ --pid host \ --privileged \ --env MESOS_CONTAINERIZERS=docker,mesos \ --env MESOS_EXECUTOR_REGISTRATION_TIMEOUT=5mins \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /sys:/sys:ro \ -v /usr/bin/docker:/usr/bin/docker:ro \ -v /lib64/libdevmapper.so.1.02:/lib/libdevmapper.so.1.02:ro \ -v /home/core/.dockercfg:/root/.dockercfg:ro \
另请注意,您不应命名容器,mesos-slave因为从属会mesos-在恢复时尝试删除任何以 为前缀的容器。
仅供参考,Mesos 使用该docker --version命令查看是否可以使用 docker containerizer。尝试启动一个 Marathon 任务,它只是运行docker --version以查看它是否可以在您的 dockerized slave 环境中工作。
| 归档时间: |
|
| 查看次数: |
2319 次 |
| 最近记录: |