有哪些是Apache Mesos能做到,而Kubernetes做不到的

原文:What does Apache Mesos do that Kubernetes can’t do and vice-versa
作者:janisz
翻译:雁惊寒

本文来自著名的社区问答网站StackOverFlow的一个提问,问题是这样描述的:有哪些是Apache Mesos能做到,而Kubernetes做不到的?反过来呢?

Mesos是一个两级调度器。它抓取每台机器的资源信息,并将其提供给顶级调度器,使得像kubernetes这样的框架可以进行跨机器调度容器。但是Kubernetes本身就可以跨机器调度容器(从这个角度来看,根本不需要Mesos)。那么,有哪些是Apache Mesos能做到,而Kubernetes做不到的呢?反过来呢?

下面这个回答是目前点赞最多,在该题答案中排名第一,译者进行了编译,值得品读

Mesos和Kubernetes都是第n级容器调度者。这意味着你可以实现相同的功能,但某些工作在其中一个平台上可以更容易地完成。事实上,你可以在Mesos上运行Kuberentes,反之亦然。

让我们来看看它们之间的主要差异,在你决定使用哪个平台之前可能用得着:

架构

正如你所指出的,Mesos是一个两级调度器,这是两者在架构方面的主要区别。这让你能够创建自定义的调度程序(aka框架)来运行任务。更重要的是,你可以拥有多个调度器。所有的调度程序都使用优势资源公平算法来竞争公平分配的资源。你还可以将角色分配给框架和任务,并通过分配权重给这个角色来调整调度器的优先级。角色与资源是紧密相连的。以上特性使你能够根据自己想要运行的任务类型,针对不同的应用(例如Fenzo)创建自己的调度方式。例如,在运行批处理任务时,最好将它们放在离数据近一些的地方,而启动的时间并不重要。另一方面,运行无状态服务是独立于节点的,并且尽快运行它们则更为重要。



Kubernetes的架构是单层调度器,但是所有的东西都是可插拔的,并且采用分层设计的思想来构建的。



起源

Mesos是Twitter为了支持他们公司的应用规模而创建的(之前是在伯克利,但是第一次使用是在Twitter)。

2010年3月,在加入Mesos项目的一年之后,Hindman和他的伯克利同事在Twitter发表了一次演讲。起初,他非常失望,因为只有八个人参加。但是,Twitter的首席科学家告诉他,八个人已经很多了,大约占到了公司全体员工的百分之十。接着,演讲之后,有三个人对他产生了兴趣。

很快,Hindman就在Twitter公司与几个前Google工程师以及其他一些人一起工作来扩展这个项目。随后他作为实习生加入了公司。而且,一年之后,他成为了一名全职员工。

Kuberentes是由Google创建的,它将用户带进谷歌自己的云中,并承诺拥有无锁的体验。这与亚马逊 Kindle的技术是一样的。你可以阅读任何书,但必须接受Kindle与亚马逊给你的最好的体验。 Google也是如此。你可以在任何云(公共或私有云)上运行Kubernetes,但只能在Google Cloud上获得最好的工具、集成和支持。

但是Google和微软是不一样的。微软希望在Azure上支持所有的东西,而谷歌则希望Kubernetes无处不在。毫不夸张地说,Kubernetes正是谷歌从AWS和微软的相应平台中脱颖而出的重要法宝。

社区

Mesos的社区比Kubernetes的小得多。 Kubernetes得到了包括谷歌、英特尔、Mirantis、RedHat等在内的众多大公司的财务支持。Mesos主要由Mesosphere公司开发,并得到了苹果、微软等公司的支持。虽然Mesos是一个成熟的项目,但其发展缓慢却不失稳定。另一方面,Kubernetes要年轻得多,但发展十分迅速。



Meso贡献者来源
Kubernetes社区 - Google开发者、倡导者,Ian Lewis

规模

Mesos从一开始就是专门面向大客户的。在Twitter、Apple、Verizon、Yelp和Netflix都有应用,并且在数千台服务器上运行了数十万个容器。

Kubernetes由Google发起,为开发人员提供了“Google基础架构体验”(GIFFE)。一开始,它是为数百台机器的小规模应用而准备的。这个限制条件随着版本的增加而变宽。目前还没有关于最大Kubernetes安装数的公共数据。

广告宣传

由于规模方面的问题,Kuberntetes一开始在小公司中比较受欢迎,而Mesos则是企业用户的目标。 Kubernetes依靠Cloud Native基金会的支持,而Mesos属于Apache基金会项目。这两个基金会有不同的创始人和发起人。一般来说,钱越多,则营销手段越多,而Kubernetes绝对做到了这一点。



https://g.co/trends/RUuhA

结论

看起来Kubernetes已经赢得了容器调度器的争霸战。但是如果你有一些自定义的工作负载,那么真正意义上的大规模Mesos应用可能是一个不错的选择。

  • https://www.infoworld.com/article/3118345/cloud-computing/why-kubernetes-is-winning-the-container-war.html
  • https://www.theregister.co.uk/2017/10/17/docker_ee_kubernetes_support
  • https://www.techrepublic.com/article/these-two-vendors-are-most-likely-to-bring-kubernetes-containers-to-the-enterprise
  • https://www.cloudhealthtech.com/blog/container-wars-are-over-kubernetes-has-won
  • https://news.ycombinator.com/item?id=12462261

PS:最后给大家推荐一个数据库在线峰会,嘉宾来自阿里巴巴、腾讯、微博、网易等多家企业的数据库专家及高校研究学者,将围绕Kubernetes、MySQL、PostgreSQL、Redis等热点数据库技术展开。峰会详情页:http://edu.csdn.net/huiyiCourse/series_detail/74
有哪些是Apache Mesos能做到,而Kubernetes做不到的_第1张图片

你可能感兴趣的:(技术翻译)