Apache的Mesos和Google的Kubernetes有什么区别

2024-01-25

Apache的Mesos和Google的Kubernetes到底有什么区别? 据我了解,两者都是服务器集群管理软件。任何人都可以详细说明主要区别在哪里 - 什么时候会首选哪个框架?

你为什么要使用Kubernetes 位于 Mesosphere 之上 http://googlecloudplatform.blogspot.ch/2014/08/mesosphere-collaborates-with-kubernetes-and-google-cloud-platform.html?


Kubernetes 是一个开源项目,它将“Google 风格”集群管理功能引入虚拟机世界或“金属上”场景。它与现代操作系统环境(如 CoreOS 或 Red Hat Atomic)配合得很好,可以提供为您管理的轻量级计算“节点”。它是用 Golang 编写的,具有轻量级、模块化、可移植和可扩展的特点。我们(Kubernetes 团队)正在与许多不同的技术公司(包括策划 Mesos 开源项目的 Mesosphere)合作,将 Kubernetes 建立为与计算集群交互的标准方式。这个想法是根据我们在 Google 的经验,重现我们看到的人们需要构建集群应用程序的模式。其中一些概念包括:

  • pods— 一种将容器分组在一起的方法
  • 复制控制器— 一种处理容器生命周期的方法
  • labels— 一种查找和查询容器的方法,以及
  • services— 一组执行共同功能的容器。

因此,仅使用 Kubernetes,您将拥有简单、易于启动和运行、可移植和可扩展的东西,将“集群”作为名词添加到您以最轻量级的方式管理的事物中。在集群上运行应用程序,而无需担心单个机器。在这种情况下,集群就像虚拟机一样是一种灵活的资源。它是一个逻辑计算单元。快速轻松地打开它、使用它、调整它的大小、关闭它。

对于 Mesos,在基本愿景方面存在相当多的重叠,但产品在其生命周期中处于完全不同的阶段,并且具有不同的最佳点。 Mesos 是一个分布式系统内核,它将许多不同的机器拼接成一台逻辑计算机。它是为一个拥有大量物理资源来创建大型静态计算集群的世界而诞生的。它的伟大之处在于,许多现代可扩展数据处理应用程序在 Mesos(Hadoop、Kafka、Spark)上运行良好,这很好,因为您可以在同一个基本资源池上运行它们,以及新时代的容器打包应用程序。它比 Kubernetes 项目要重一些,但由于像 Mesosphere 这样的人的工作,它变得越来越容易管理。

现在真正有趣的是 Mesos 目前正在调整以添加许多 Kubernetes 概念并支持 Kubernetes API。因此,如果您需要的话,它将成为为您的 Kubernetes 应用程序获取更多功能(高可用性主控、更高级的调度语义、扩展到大量节点的能力)的门户,并且非常适合运行生产工作负载(Kubernetes仍处于 alpha 状态)。

当被问到的时候,我倾向于说:

  1. 如果您是集群世界的新手,Kubernetes 是一个很好的起点;这是最快、最简单、最轻松的尝试并开始尝试面向集群的开发的方法。它提供了非常高水平的可移植性,因为它受到许多不同提供商(Microsoft、IBM、Red Hat、CoreOs、MesoSphere、VMWare 等)的支持。

  2. 如果您有现有的工作负载(Hadoop、Spark、Kafka 等),Mesos 会为您提供一个框架,让您可以将这些工作负载相互交错,并混合一些新的东西,包括 Kubernetes 应用程序。

  3. 如果您需要社区尚未在 Kubernetes 框架中实现的功能,Mesos 将为您提供一个安全阀。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apache的Mesos和Google的Kubernetes有什么区别 的相关文章

随机推荐