use*_*400 18 mesos mesosphere kubernetes
Apache Mesos做什么Kubernetes不能做,反之亦然?
Mesos是一个两级调度程序.当然它从每台机器上抓取资源信息并将其提供给顶级调度程序,以便像kubernetes这样的框架可以用来跨机器调度容器,但Kubernetes本身可以跨机器调度容器(从这方面不需要Mesos).那么,Apache Mesos可以做些什么,Kubernetes不能做,反之亦然?
jan*_*isz 54
Mesos和Kubernetes都是第n级容器协调器.这意味着您可以实现相同的功能,但可以在其中一个上轻松完成某些任务(读取更好).事实上,你可以在Mesos上运行Kubernetes,反之亦然.
让我们通过主要的差异,在需要做出决定时给出一些线索:
正如您所指出的,Mesos是一个两级调度程序,这是架构的主要区别.这使您能够创建自定义调度程序(也称为框架)来运行任务.更重要的是,您可以拥有多个调度程序.所有调度程序都使用Dominant Resources Fairness算法(可以用自定义分配器替换)来竞争公平分配的资源.您还可以将角色分配给框架和任务,并为此角色分配权重以确定某些调度程序的优先级.角色与资源紧密相连.上述功能使您能够根据您要运行的任务类型,针对不同的应用程序(例如,Fenzo)创建自己的调度方式,具有不同的启发式方法.例如,在运行批处理任务时,最好将它们放在数据附近,启动时间并不是那么重要.另一方面,运行无状态服务与节点无关,因此尽快运行它们更为重要.
Kubernetes体系结构是一个单层调度程序,但所有内容都是可插入的,并采用分层设计构建.
Mesos是在Twitter(以前在伯克利,但第一次生产用途是在Twitter)创建的,以支持他们的规模.
2010年3月,大约一年进入Mesos项目,Hindman和他的伯克利同事在推特上发表了演讲.起初,他很失望.只有大约八个人出现.但随后Twitter的首席科学家告诉他,有八个人很多 - 约占该公司全体员工的百分之十.然后,在谈话之后,其中三个人找到了他.
很快,Hindman就在Twitter上进行咨询,与那些前Google工程师和其他人一起进行扩展项目.然后他作为实习生加入了公司.一年后,他作为一名全职员工签约. 资源
Kubernetes是由谷歌创建的,旨在将用户带到他们的云中,承诺没有锁定体验.这与亚马逊使用Kindle的技术相同.您可以阅读任何书籍,但在亚马逊上使用它可以为您提供最佳体验.谷歌也是如此.您可以在任何云(公共或私有)上运行Kubernetes,但只能在Google Cloud上获得最佳工具,集成和支持.
但谷歌和微软不同.微软希望支持Azure上的所有内容,而Google希望Kubernetes无处不在.(从某种意义上说,微软正在辜负博格的名字,吸收所有的协调者,比谷歌更多.)而且从字面上看,Kubernetes就是谷歌如何在内部云群中发挥作用,使其与AWS区别开来(赢得了不会将其基础设施作为带有许可证的堆栈出售,尽管它表示VMware是其私有云合作伙伴)和微软(仍然没有将Azure Stack私有云推出门外).资源
Mesos社区比Kubernetes小得多.这就是事实.Kubernetes得到了许多大公司的资金支持,包括谷歌,英特尔,Mirantis,RedHat等等,而Mesos主要由Mesosphere开发,得到了苹果公司的支持.虽然Mesos是一个成熟的项目,但它的发展缓慢但稳定.另一方面,Kubernetes更年轻,但发展迅速.
Kubernetes社区 - Ian Lewis,开发者倡导者,谷歌
Mesos从一开始就面向大客户.它在Twitter,Apple,Verizon,Yelp,Netflix上用于在数千台服务器上运行数十万个容器.
Kubernetes由Google创立,旨在为开发人员提供Google基础架构体验(GIFFE).从一开始,它就可以用于小规模的数百台机器.每次发布都会增加这种约束,但它们开始变小,变大.没有关于最大的Kubernetes安装的公开数据.
由于规模问题,Kuberntetes开始在较小的公司(不是云规模)中受欢迎,而Mesos是针对企业用户的.Kubernetes由Cloud Native Foundation支持,而Mesos是Apache Foundation Project.这两个基金会有不同的创立和赞助.一般来说,更多的钱给你更好的营销,Kubernetes绝对做得对.
看起来Kubernetes已经赢得了集装箱协调战争.但是如果你有一些自定义工作负载并且规模很大,那么Mesos可能是一个不错的选择.
主要区别在于社区规模和开源模式:DCOS由Mesosphere支持并仅在商业产品中提供企业功能(因为中间层不是慈善家),K8S拥有更大的社区,来自不同公司的贡献很大提供更多集成的企业功能(多租户,RBAC,配额,抢占,网关......)意味着它们更易于使用,而不一定在DCOS中不存在.我会在全球范围内说:
- DCOS对有状态和大数据工作负载进行了更多的战斗测试,但缺乏与其他周边组件的集成,包括即插即用中央监控和日志记录以及安全模型,多租户,自动更新等企业功能......这是一种非常难以集成的方式生产级平台的一切.
- K8S更适合无状态应用程序的测试,并提供许多即插即用工具,如prometheus,EFK,helm ......这使得生产级平台的实现变得更加容易.除此之外,有状态工作负载和状态集以及与mesos框架相当的运营商模式的重大举措,但K8S再次提供了大量工具来开发它们,成本更低,因为开箱即用的功能很多,需要我花了两个月的时间来开发一个MongoDB运营商,以多租户和安全的方式提供MongoDB作为服务,我需要同时学习Golang.
| 归档时间: |
|
| 查看次数: |
6888 次 |
| 最近记录: |