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
我认为最简单的答案是没有简单的答案。集装箱的迅速崛起,尤其是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集群。这不是真的