Kubernetes,Rancher和Mesos之间有什么功能差异?


16

流行的容器编排工具kubernetes,rancher和mesos的主要功能差异是什么?

是什么导致您选择一个?


嗯,这可能太宽泛了。如果删除“等”和标题更改为只问kuber /农场主/ mesos具体地说,它可能会是一个很好的问题:
彼得·摹

2
根据您的建议,我已对问题进行了编辑,使其更加有限。
tayworm

尽管我有兴趣了解其他任何改变游戏规则的编排工具。
tayworm

Answers:


16

首先,Rancher实际上在其内部包含了Kubernetes Mesos的实现。但是,他们确实制作了自己的名为Cattle的系统,该系统很大程度上基于Docker的Swarm。我将在Rancher的部分中对此进行介绍。

其次,由于每个功能都具有相似的基本功能(负载平衡,资源隔离等),因此,我将尝试更多地探讨使它们与众不同的原因,而不是着重于这些通用功能之间的差异,除非它们之间存在重大差异。

Kubernetes

高度注重性能,还具有云存储编排功能(Mesos缺少此功能,尽管可能有一个插件)。具有API选项,可以根据单个容器的需要自动缩放资源使用量(如果一个容器没有被其他容器重击则相反)。

关于Kubernetes的重要一点是,与其他容器编排软件不同,它没有提供全面的配置或任何种类的全面自我修复功能。取而代之的是,它着重于使用易于回退的应用程序级别的系统在应用程序级别上连续部署多个应用程序(因此,使用它时,您可能希望研究微服务)。

每个应用程序都很小,可以单独部署/配置。他们在文档中指出,Kubernetes不是传统的PaaS(平台即服务)系统,因为它缺少用于虚拟硬件或数据库的中间件,并且不能自行构建应用程序。它旨在(正如他们所说的那样)消除了手动进行容器编排的需要,而是通过不断地按目标应用程序状态来使过程自动化。

梅索斯

与Kubernetes相比是整体的。尽管它仍然允许对单个服务进行管理,但它更关注全局而不是单个服务。提供诸如Spark,Hadoop等之类的内置中间件。Mesos的最佳用法将涉及许多插件,因为它易于扩展。

如果您需要对应用程序的管理进行细粒度的控制(因为有一个插件可用于您想做的事情,或者您的团队成员愿意(如果没有的话)构建一个插件),则可以使用Mesos。

牧场主(和牛)

潜在的最佳选择是它本身是前两个的超集,同时具有两者的实现。这也可能被视为不利因素,因为管理软件中的更多复杂性很少是一件好事,并且可能导致无法预料的问题。

Rancher的应用程序目录允许一键部署,而Kubernetes由于其设计理念而没有此功能。但是,看到Rancher具有Kubernetes的实现,如果您觉得Kubernetes缺少这些功能,则可以使用Rancher。

Cattle基于堆栈系统,您可以在其中将相关服务分组在一起。它还包含Rancher Compose,此功能类似于同名的Docker服务。这可能是Cattle最有趣的部分,其余部分相当标准(尽管Secret管理仍处于beta中)。如果您有使用Docker Compose的经验,则应在此处进行阅读(我没有,所以我可能不是撰写此书的最佳人选)。

资源:“ 什么是Kubernetes? ”,“ Rancher概述 ”,“ mesos.apache.org:'什么是Mesos?”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.