Cluster computing Docker Swarm、Kubernetes、Mesos&;核心操作系统机队

Cluster computing Docker Swarm、Kubernetes、Mesos&;核心操作系统机队,cluster-computing,docker,coreos,kubernetes,mesosphere,Cluster Computing,Docker,Coreos,Kubernetes,Mesosphere,我对所有这些都是比较陌生的,但我很难对列出的技术有一个清晰的认识 虽然所有这些都试图解决不同的问题,但也有共同之处。我想了解什么是共同的,什么是不同的。这几个组合可能非常适合,如果是,它们是什么 我列出了其中的一些问题,但如果有人能详细列出并回答这些问题,那就太好了 库伯内特斯vs梅索斯: 此链接 提供了一个很好的差异洞察,但我无法理解为什么Kubernetes应该运行在Mesos之上。这更像是两个开源解决方案的结合吗 Kubernetes vs Core操作系统车队: 如果我使用kubern

我对所有这些都是比较陌生的,但我很难对列出的技术有一个清晰的认识

虽然所有这些都试图解决不同的问题,但也有共同之处。我想了解什么是共同的,什么是不同的。这几个组合可能非常适合,如果是,它们是什么

我列出了其中的一些问题,但如果有人能详细列出并回答这些问题,那就太好了

  • 库伯内特斯vs梅索斯:

    此链接

    提供了一个很好的差异洞察,但我无法理解为什么Kubernetes应该运行在Mesos之上。这更像是两个开源解决方案的结合吗

  • Kubernetes vs Core操作系统车队:

    如果我使用kubernetes,是否需要车队

  • Docker Swarm如何适应上述所有情况


  • 我认为最简单的答案是没有简单的答案。集装箱的迅速崛起,尤其是Docker,为“集装箱调度和编排”留下了权力真空,不管这意味着什么。实际上,这意味着你有许多技术可以在某些层面上协调工作,但在某些方面存在竞争。例如,Kubernetes可以作为在计算集群上部署和管理容器的一站式服务(正如Google最初设计的那样),但也可以位于Fleet之上,利用Fleet在CoreOS上提供的弹性层

    Kubernetes不是一个完整的开箱即用的容器伸缩解决方案,但它是一个很好的起点。同样,在某个阶段,您可能希望Apache Mesos能够与Kubernetes合作,但不能与Marathon合作,因为Marathon似乎与Kubernetes发挥着相同的作用。在某个地方,我想我已经读到了这些可能成为同样努力的一部分,但我可能错了——这实际上是关于中层的战略方向以及相应地采用库伯内特斯原则

    在DockerCon的主题演讲中,Solomon Hykes建议Swarm将是一个可以为许多编排和调度框架提供通用接口的层。据我所见,Swarm旨在提供一个平滑的Docker部署工作流,与一些现有的容器工作流框架(如Deis)一起工作,但灵活性足以让位于“重量级”部署和资源管理(如Mesos)


    希望这有帮助-这可能是一个巨大的职位。我认为关键在于,这些都是年轻的、不断发展的服务,很可能会合并并实现互操作,但我们需要在未来12个月内观察其效果。在这个问题上有一些非常聪明的人,所以未来看起来非常光明。

    据我所知:

    Mesos、Kubernetes和Fleet都试图解决一个非常类似的问题。这样做的目的是从开发人员那里抽象出所有的硬件,然后“集群管理工具”为您进行分类。然后,您所需要做的就是为集群提供一个容器,给它一些信息(让它永久运行,如果发生X,则进行放大等),集群管理器将使其发生

    使用Mesos,它可以为您完成所有集群管理,但不包括调度程序。调度程序是这样说的,好的,这个过程需要2个进程和512MB内存,我有一台机器在那里有空闲的内存,所以我会在那台机器上运行它。Mesos有一些插件调度器:Marathon和Chronos,您可以自己编写。这为您提供了资源分配和集群扩展等方面的强大功能

    Fleet和Kubernetes似乎将这些细节抽象掉了(因此基本上不必编写自己的调度程序)。这意味着您必须定义任务,并以Fleet或Kubernetes定义的格式/方式提交任务,然后他们接管并为您安排任务(容器)

    所以我想:使用Mesos可能意味着在编写自己的调度器时需要做更多的工作,但如果需要的话,可能会提供更多的灵活性

    我认为在Mesos之上运行Kubernetes的想法是,Kubernetes充当Mesos的调度器。就我个人而言,我不确定单独运行一个或另一个会带来什么好处(希望有人会插嘴解释!)

    正如MikeB所说。。现在还处于起步阶段,一切都在等待抢夺(同时关注亚马逊的ECS),因此有很多竞争标准和很多重叠


    -编辑-我没有提到Docker swarm,因为我对它没有太多经验。

    披露:我是Kubernetes的首席工程师

    我认为Mesos和Kubernetes主要是为了解决运行集群应用程序的类似问题,它们有不同的历史和解决问题的不同方法

    Mesos专注于非常通用的调度,并插入多个不同的调度程序。这意味着它使Hadoop和Marathon等系统能够在相同的调度环境中共存。Mesos较少关注运行容器。Mesos在对容器产生广泛兴趣之前就已经存在,并且已经在部件中重新考虑以支持容器

    相比之下,Kubernetes从一开始就被设计成一个从容器构建分布式应用程序的环境。它包括用于复制和服务发现的原语作为核心原语,这些原语是通过Mesos中的框架添加的。Kubernetes的主要目标是构建、运行和管理分布式系统的系统

    Fleet是较低级别的任务分发服务器。它对于引导集群系统非常有用,例如CoreOS使用它将kubernetes代理和二进制文件分发到集群中的机器,以便启动kubernetes集群。这不是真的