如何使用Apache Mesos/Marathon运行一次性任务?

San*_*its 10 marathon mesos

我正在尝试用Marathon运行一次性任务.我能够让任务容器运行,但在任务命令完成后,马拉松运行另一个任务,依此类推.如何防止Marathon运行多个任务/命令?

或者,如果使用Marathon无法做到这一点,我该如何实现所需的行为?

Mik*_*Mik 9

作为一个黑客,你可以在最后杀死一个马拉松任务,如下所示:https://github.com/mesosphere/marathon/issues/344#issuecomment-86697361

正如rukletsov已经提到的那样 - Marathon是长期运行的任务:https://stackoverflow.com/a/26647789/1047843

如果Chronos不适合你的情况你可以使用Jenkins和Mesos插件:https://github.com/jenkinsci/mesos-plugin

或者您可以尝试直接与Mesos交谈并编写自己的框架:http://mesos.apache.org/documentation/latest/app-framework-development-guide/

在我看来,两个最简单的选择是Chronos和Jenkins.


小智 6

Marathon 为长时间运行的服务而设计,这意味着它将在进入终端状态后重新启动任务.根据任务的性质,您可能需要查看其他Mesos框架,例如Chronos.如果要启动单个任务,可以使用mesos-executeMesos附带的工具.


McG*_*Gin 5

自从回答了这个问题后,我们开发了一种名为Eremetic的新框架,用于马拉松,允许你运行一次性任务.

https://github.com/klarna/eremetic