Apache Mesos实际上做了什么?
我试图围绕Apache Mesos来理解,并需要澄清一些项目。
我对 Mesos 的理解是,它是一个可执行文件,安装在集群中的每个物理/VM 服务器(“节点”)上,然后提供一个 Java API(以某种方式),将每个单独的节点视为计算资源(CPU/RAM/等)的集体池。因此,对于针对Java API进行编码的程序,他们只能看到1组资源,并且不必担心代码的部署方式/位置。
因此,首先,我在这里的理解可能根本是错误的(在这种情况下,请纠正我!但是,如果我的目标,那么Java API(由Mesos提供)如何允许Java客户端利用这些资源?!?有人能举出一个动作中Mesos的具体例子吗?
更新
看看下面我那张可怕的图画。如果我正确理解了 Mesos 体系结构,我们有一个由 3 台物理服务器 (和 ) 组成的集群。这些物理中的每一个都在运行一个Ubuntu主机(或其他任何东西)。通过虚拟机管理程序(例如 Xen),我们可以运行 1 个以上的 VM。phys01
phys02
phys03
我对Docker和CoreOS感兴趣,所以我将在此示例中使用它们,但我猜这同样适用于其他非容器设置。
因此,在每个VM上,我们都有CoreOS。在每个 CoreOS 实例上运行的是一个 Mesos 可执行文件/服务器。集群中的所有 Mesos 节点都将它们下面的所有内容视为单个资源池,并且工件可以任意部署到 Mesos 集群,Mesos 将确定要实际将它们部署到哪个 CoreOS 实例。
在 Mesos 上运行的是一个“Mesos 框架”,如 Marathon 或 Kubernetes。在 Kubernetes 中运行的是各种 Docker 容器 ( - )。C1
C4
这种对Mesos的理解或多或少是正确的吗?