Apache Mesos 与 Google Kubernetes

Apache Mesos vs Google Kubernetes

What's the difference between Apache's Mesos and Google's Kubernetes

我阅读了已接受的答案,但我仍然对它们之间的区别感到困惑。

如果 Kubernetes 是一个集群管理,那么 Mesos 做了什么(我通过观看一堆视频了解它的作用,但我想我更困惑这两者如何协同工作)? 通过阅读 Kubernetes 和 Marathon "framework" 坐在 Mesos 之上?

Mesos 负责什么,Kubernetes/Marathon 负责什么,它们如何相互协作?

编辑: 我认为更好的问题是 When would I want to use Kubernetes on top of Mesos vs just running Mesos alone?

Apache Mesos 是一个资源管理器,它以公平的方式跨机器集群共享资源(CPU 份额、RAM、磁盘、端口)。通过共享,我的意思是它将这些资源提供给所谓的框架调度程序(例如 Marathon),从而在资源管理和调度决策(根据作业类型实施,例如长- 运行 或批处理,由框架调度程序执行)。另请参阅 Mesos architecture 以了解更多详细信息。

Mesos 是另一个抽象层。它只是简单地抽象了底层硬件,因此想要 运行 在它之上的软件只能定义所需的资源,而无需知道任何其他信息。

Kubernetes 可以做类似的事情,但如果没有 Mesos 提供的抽象,您不能在同一台机器上 运行 其他框架(例如 Spark 或 Cassandra),而无需在这些框架之间手动划分它。