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

转自 https://blog.csdn.net/dev_csdn/article/details/78830912 并有所增减
本文来自著名的社区问答网站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要年轻得多,但发展十分迅速。

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

规模

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

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

最后,总结一下Kubernetes的开发者Craig对于两个集群框架的说明:

1、如果你是一个集群世界的新手,那Kubernetes是一个很棒的开始。它可以用最快的、最简单的、最轻量级的方式来解决你的问题,并帮助你进行面向集群的开发。它提供了一个高水平的可移植方案,因为很多厂商已经开始支持Kubernetes,例如微软、IBM、Red Hat、CoreOS、MesoSphere、VMWare等。

2、如果你拥有已经存在的工作任务(Hadoop、Spark、Kafka等),那Mesos可以给你提供了一个将不同工作任务相互交错的框架,然后还可以加入一些新的东西,比如Kubernetes应用。

3、如果你想使用的功能Kuberntes还没实现,那Mesos是一个不错的替代品,毕竟它已经成熟。

Mesos vs 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
https://mesosphere.com/blog/docker-vs-kubernetes-vs-apache-mesos/

猜你喜欢

转载自blog.csdn.net/qq_21222149/article/details/89100046