马拉松vs Kubernetes vs Docker Swarm在带Docker容器的DC / OS上 [英] Marathon vs Kubernetes vs Docker Swarm on DC/OS with Docker containers

查看:858
本文介绍了马拉松vs Kubernetes vs Docker Swarm在带Docker容器的DC / OS上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在DC / OS上运行Docker容器时,我正在寻找有关马拉松和Chronos,Docker Swarm或Kubernetes的优缺点。例如,使用马拉松/ Chronos比Kubernetes更好吗?反之亦然吗?

I'm looking for some pros and cons of whether to go with Marathon and Chronos, Docker Swarm or Kubernetes when running Docker containers on DC/OS.

现在我主要是尝试,但希望在夏天之后,我们将开始在生产中使用这些服务之一。这可能会取消Docker Swarm的资格,因为我不知道当时是否准备好生产。

Right now I'm mostly into experimenting but hopefully we'll start using one of these services in production after the summer. This may disqualify Docker Swarm since I'm not sure if it'll be production ready by then.

我对Docker Swarm的喜欢是基本上只是Docker命令,你不需要学习全新的东西。我们已经在使用 docker-compose ,这将与Docker Swarm(至少在理论上)配合使用,因此这将是一个很大的优势。 Docker Swarm的主要关注点是如果它涵盖了在生产中运行系统所需的所有用例。

What I like about Docker Swarm is that it's essentially just "Docker commands" and you don't have to learn something completely new. We're already using docker-compose and that will work out of the box with Docker Swarm (at least in theory) so that would be a big plus. My main concern with Docker Swarm is if it'll cover all use cases required to run a system in production.

推荐答案

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

I'll try to break down the unique aspects of each container orchestration framework on Mesos.

使用 Docker Swarm 如果:

  • You want to use the familiar Docker API to launch Docker containers on Mesos.
  • Swarm may eventually provide an API to talk to Kubernetes (even K8s-Mesos) too.
  • See: http://www.techrepublic.com/article/docker-and-mesos-like-peanut-butter-and-jelly/

使用 Kubernetes -Mesos 如果:

  • You want to launch K8s Pods, which are groups of containers co-scheduled and co-located together, sharing resources.
  • You want to launch a service alongside one or more sidekick containers (e.g. log archiver, metrics monitor) that live next to the parent container.
  • You want to use the K8s label-based service-discovery, load-balancing, and replication control.
  • See http://kubernetesio.blogspot.com/2015/04/kubernetes-and-mesosphere-dcos.html

使用马拉松如果:


  • 您要启动Docker或非Docker长时间运行的应用程序/ services。

  • 您希望使用Mesos属性进行基于约束的调度。

  • 要使用应用程序组和依赖关系启动,缩放,或升级相关服务。

  • 您想使用健康状况检查来自动重新启动不正常的服务或回滚不健康的部署/升级。

  • 您希望集成HAProxy或领事服务发现。

  • 您要启动通过Web UI或REST API监视应用程序。

  • 您想要使用从Mesos开始构建的框架。

  • You want to launch Docker or non-Docker long-running apps/services.
  • You want to use Mesos attributes for constraint-based scheduling.
  • You want to use Application Groups and Dependencies to launch, scale, or upgrade related services.
  • You want to use health checks to automatically restart unhealthy services or rollback unhealthy deployments/upgrades.
  • You want to integrate HAProxy or Consul for service discovery.
  • You want to launch and monitor apps through a web UI or REST API.
  • You want to use a framework built from the start with Mesos in mind.

使用 Chronos 如果:


  • 您希望启动预期退出的Docker或非Docker任务。

  • 您希望计划任务以特定时间/计划运行(

  • 您想要安排依赖任务的DAG工作流程。

  • 您想通过Web UI或REST API启动和监视作业。

  • 您想使用从Mesos开始构建的框架。

  • You want to launch Docker or non-Docker tasks that are expected to exit.
  • You want to schedule a task to run at a specific time/schedule (a la cron).
  • You want to schedule a DAG workflow of dependent tasks.
  • You want to launch and monitor jobs through a web UI or REST API.
  • You want to use a framework built from the start with Mesos in mind.

这篇关于马拉松vs Kubernetes vs Docker Swarm在带Docker容器的DC / OS上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆