我将尝试分解Mesos上每个容器编排框架的独特方面。
在以下情况下使用Docker Swarm:
- 您想使用熟悉的Docker API在Mesos上启动Docker容器。
- Swarm最终可能还会提供与Kubernetes(甚至是K8s-Mesos)对话的API。
- 参见:http : //www.techrepublic.com/article/docker-and-mesos-like-peanut-butter-and-jelly/
在以下情况下使用Kubernetes-Mesos:
- 您要启动K8s Pods,这是一起共同调度和共同放置,共享资源的容器组。
- 您想与位于父容器旁边的一个或多个补充容器(例如,日志归档器,指标监视器)一起启动服务。
- 您想使用基于K8s标签的服务发现,负载平衡和复制控制。
- 看到http://kubernetesio.blogspot.com/2015/04/kubernetes-and-mesosphere-dcos.html
在以下情况下使用Marathon:
- 您要启动Docker或非Docker长期运行的应用程序/服务。
- 您想使用Mesos属性进行基于约束的调度。
- 您要使用应用程序组和依赖项来启动,扩展或升级相关服务。
- 您要使用运行状况检查来自动重新启动运行状况不佳的服务或回滚运行状况不佳的部署/升级。
- 您想要集成HAProxy或Consul以进行服务发现。
- 您要通过Web UI或REST API启动和监视应用程序。
- 您想使用一开始就考虑Mesos构建的框架。
在以下情况下使用Chronos:
- 您要启动预期要退出的Docker或非Docker任务。
- 您想要安排任务在特定的时间/计划(la
cron
)运行。 - 您要计划依赖任务的DAG工作流程。
- 您想通过Web UI或REST API启动和监视作业。
- 您想使用一开始就考虑Mesos构建的框架。



