Marathon vs Kubernetes vs Docker Swarm在DC/OS上使用Docker容器

Joh*_*han 99 marathon docker kubernetes docker-swarm dcos

我正在寻找在DC/OS上运行Docker容器时是否使用Marathon和Chronos,Docker Swarm或Kubernetes的一些优缺点.

例如,何时使用Marathon/Chronos比使用Kubernetes更好,反之亦然?

现在我主要是进行实验,但希望我们在夏天之后开始在生产中使用这些服务之一.这可能会使Docker Swarm失去资格,因为我不确定它是否会在那时生产.

我喜欢Docker Swarm的原因是它本质上只是"Docker命令",你不需要学习全新的东西.我们已经在使用docker-compose,它将与Docker Swarm一起开箱即用(至少在理论上),这将是一个很大的优势.我对Docker Swarm的主要关注是它是否涵盖了在生产中运行系统所需的所有用例.

Ada*_*dam 167

我将尝试分解Mesos上每个容器编排框架的独特方面.

使用Docker Swarm如果:

如果出现以下情况,请使用Kubernetes-Mesos:

使用Marathon如果:

  • 您想要启动Docker或非Docker长期运行的应用程序/服务.
  • 您希望将Mesos属性用于基于约束的计划.
  • 您希望使用应用程序组和依赖关系来启动,扩展或升级相关服务.
  • 您希望使用运行状况检查来自动重新启动不健康的服务或回滚不健康的部署/升级.
  • 您希望集成HAProxy或Consul以进行服务发现.
  • 您希望通过Web UI或REST API启动和监控应用程序.
  • 您想要使用从一开始就构建的框架.

使用Chronos:

  • 您希望启动预期退出的Docker或非Docker任务.
  • 您希望将任务计划为在特定时间/计划(a la cron)运行.
  • 您希望安排依赖任务的DAG工作流程.
  • 您希望通过Web UI或REST API启动和监视作业.
  • 您想要使用从一开始就构建的框架.


Mic*_*las 15

虽然它有点过时,但阅读Apache的Mesos和Google的Kubernetes之间的区别可能会有所帮助,以获得一些正确的基础知识.另外,请注意Mesos的运行级别与Kubernetes/Marathon/Chronos不同.最后但并非最不重要的,请参阅Timothy Chen的Docker Swarm + Mesos,记住Marathon和Swarm可以在同一个Mesos集群上同时运行.