- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我对所有这些都比较陌生,但我很难清楚地了解列出的技术。
虽然,所有这些都试图解决不同的问题,但也有共同点。我想了解什么是共同的,什么是不同的。少数的组合很可能非常适合,如果是的话,它们是什么?
我列出了其中一些以及问题,但如果有人详细列出所有问题并回答问题,那就太好了。
Kubernetes 与 Mesos:
这个链接
What's the difference between Apache's Mesos and Google's Kubernetes
提供了对差异的深入了解,但我无法理解为什么 Kubernetes 应该在 Mesos 之上运行。是否更多地与将两个开源解决方案结合在一起?
Kubernetes vs Core-OS Fleet:
如果我使用 Kubernetes,是否需要舰队?
Docker-Swarm 如何适应上述所有情况?
最佳答案
披露:我是 Kubernetes 的首席工程师
我认为 Mesos 和 Kubernetes 主要旨在解决运行集群应用程序的类似问题,它们有不同的历史和不同的解决问题的方法。
Mesos 将精力集中在非常通用的调度上,并插入多个不同的调度程序。这意味着它使 Hadoop 和 Marathon 等系统能够在同一个调度环境中共存。 Mesos 不太专注于运行容器。 Mesos 在容器受到广泛关注之前就已经存在,并且已经被重构为支持容器的部分。
相比之下,Kubernetes 从一开始就被设计成一个从容器构建分布式应用程序的环境。它包括用于复制和服务发现的原语作为核心原语,这些东西是通过 Mesos 中的框架添加的。 Kubernetes 的主要目标是构建、运行和管理分布式系统的系统。
Fleet 是一个较低级别的任务分发器。它对于引导集群系统很有用,例如 CoreOS 使用它来将 kubernetes 代理和二进制文件分发到集群中的机器,以便启动 kubernetes 集群。它并不是真正旨在解决相同的分布式应用程序开发问题,将其视为您的集群的 systemd/init.d/upstart。如果您运行 kubernetes,则不需要,您可以使用其他工具(例如 Salt、Puppet、Ansible、Chef 等)来完成相同的二进制分发。
Swarm 是 Docker 为扩展现有 Docker API 所做的努力,使机器集群看起来像单个 Docker API。从根本上说,我们在 Google 和其他地方的经验表明节点 API 不足以用于集群 API。你可以在这里看到一堆讨论:https://github.com/docker/docker/pull/8859在这里:https://github.com/docker/docker/issues/8781
希望对您有所帮助!如果您想了解更多信息,请加入 IRC @#google-containers。
关于cluster-computing - Docker-Swarm、Kubernetes、Mesos 和 Core-OS 舰队,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27640633/
我们在将应用升级到 3.2 时遇到了一些问题。 因为 rails 3.2 flotilla 不再工作了。 undefined method 'chart' for #:0x000000078b7c00
我对所有这些都比较陌生,但我很难清楚地了解列出的技术。 虽然,所有这些都试图解决不同的问题,但也有共同点。我想了解什么是共同的,什么是不同的。少数的组合很可能非常适合,如果是的话,它们是什么? 我列出
我是一名优秀的程序员,十分优秀!