Apache的Mesos和Google的Kubernetes到底有什么不同?我知道这两个都是服务器集群管理软件。谁能详细说明主要的区别在哪里--哪个框架是首选的?
发布于 2015-02-26 01:39:21
这两个项目都旨在使在数据中心或云中的容器内部署和管理应用程序变得更容易。
为了在Mesos之上部署应用程序,可以使用Marathon或Kubernetes for Mesos。
Marathon是一个集群范围的初始化和控制系统,用于在cgroup和Docker容器中运行Linux服务。Marathon有许多不同的canary deploy特性,是一个非常成熟的项目。
Marathon运行在Mesos之上,Mesos是一个高度可伸缩的、经过战斗考验的灵活资源管理器。事实证明,Marathon具有可伸缩性,并可在许多生产环境中运行。
Mesos和Mesosphere技术堆栈为运行现有Linux工作负载提供了一个类似云的环境,但它也为构建新的分布式系统提供了一个本机环境。
Mesos是一个分布式系统内核,具有完整的API,可直接针对数据中心进行编程。它将底层硬件(例如裸机或虚拟机)抽象化,只公开资源。它包含用于编写分布式应用程序的原语(例如,Spark最初是Mesos应用程序、Chronos等)例如消息传递、任务执行等。因此,完全新的应用程序成为可能。Apache Spark是一个新的(在Mesos术语中称为)框架的例子,该框架最初是为Mesos构建的。这使得开发速度非常快- Spark的开发人员不必担心网络在节点之间分发任务,因为这是Mesos中的核心原语。
据我所知,目前在Google的生产部署中还没有使用Kubernetes。对于生产,Google使用Omega/Borg,它更类似于Mesos/Marathon模型。然而,使用Mesos作为基础的伟大之处在于Kubernetes和Marathon都可以在其上运行。
更多关于马拉松的资源:
发布于 2015-02-25 20:56:24
Mesos和Kubernetes都可以用来管理机器集群和抽象硬件。
Mesos在设计上并没有为您提供调度器(用于决定何时何地运行进程以及在进程失败时如何处理),您可以使用Marathon或Chronos之类的工具,或者编写自己的调度器。
Kubernetes将为您进行开箱即用的调度,并且可以用作Mesos的调度器(如果我错了,请纠正我!)这是你可以一起使用它们的地方。Mesos可以有多个调度器共享同一个集群,因此理论上您可以在相同的硬件上一起运行kubernetes和chronos。
非常简单:如果你想控制如何调度你的容器,去Mesos,否则Kubernetes摇滚。
发布于 2016-02-28 18:50:59
我喜欢这里的这个短视频mesos learning material
使用裸机集群时,您需要生成HDFS、SPARK、MR等堆栈。因此,如果您仅使用裸机集群管理启动与这些任务相关的任务,将会有大量的冷启动时间。
使用mesos,您可以在裸机上安装这些服务,并且可以避免这些基础服务的启动时间。这是mesos做得很好的事情。并且可以被建立在它上面的kubernetes使用。
https://stackoverflow.com/questions/26705201
复制相似问题