gpt4 book ai didi

Docker 应用程序部署在 Marathon 上挂起,在 Mesos 上失败

转载 作者:行者123 更新时间:2023-12-03 03:16:00 25 4
gpt4 key购买 nike

我正在尝试 Docker 化 Zookeeper/Marathon/Mesos 并从 Dockerized Mesos 集群部署 Docker 容器(可能是愚蠢的)任务。

到目前为止,我在两个物理上独立的节点上有一个正在运行的 Mesos 集群:一个节点同时运行 Mesos master和一个slave (容器 Dockerfiles 链接),第二个节点仅运行从属节点。他们似乎运转良好;我能够通过 Marathon(也是它自己的容器,在主节点和从节点上运行)提交非常简单的作业,并且它们成功完成。

但是,当我尝试 submit Docker containers through the Marathon API ,它似乎挂起。 Marathon 界面卡在“正在部署”并且永远不会改变,即使放置 15 分钟、停止、重新提交并再放置 15 分钟也是如此。

Marathon UI, depicting seemingly frozen deployment of Docker task

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

Mesos UI, depicting failed tasks

编辑 1

每个执行程序生成的沙箱日志也完全为空。

empty sandbox

编辑 2

在从属日志中发现一些有趣的东西:

slave logs

兴趣线:

None of the enabled containerizers (mesos) could create a container for the provided TaskInfo/ExecutorInfo message.

看起来容器化程序无法运行,从我所看到的来看,它甚至没有将 docker 视为容器化程序。我按照配置here部署 Docker 作业;如果 Mesos 从站本身就是 Docker 容器,这会改变吗?

我有点不适应,找不到任何类似的引用资料。知道发生了什么吗?

最佳答案

您的从站的docker run命令是什么?以下是其他人发现有用的一些参数:

--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 容器化程序。尝试启动一个仅运行 docker --version 的 Marathon 任务,看看它是否可以在您的 dockerized 从属环境中工作。

关于Docker 应用程序部署在 Marathon 上挂起,在 Mesos 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31350372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com