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

是什么让您选择一个呢?

评论

嗯,这可能太宽泛了。如果您删除“ etc”并更改标题以仅询问有关kuber / rancher / mesos的信息,那可能是一个很好的问题。

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

尽管我想听听其他任何改变游戏规则的编排工具。

#1 楼

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

其次,由于每个功能都具有相似的基本功能(负载平衡,资源隔离等),因此我将尝试进一步研究使它们与众不同的原因除非它们很重要,否则不着重于这些通用功能之间的差异。

Kubernetes

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

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

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

Mesos

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

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

Rancher(和Cattle)

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

Rancher提供了一个应用程序目录,该目录允许一键式部署,而Kubernetes的设计理念则使其没有。但是,看到Rancher具有Kubernetes的实现,如果您觉得Kubernetes缺少这些功能,则可以使用Rancher。它还包含Rancher Compose,此功能类似于同名的Docker服务。这可能是Cattle最有趣的部分,其余部分相当标准(尽管Secret管理仍处于beta中)。如果您有使用Docker Compose的经验,则应在此处进行阅读(我没有,所以我可能不是撰写此书的最佳人选。)。 ”,“牧场主概述”,“ mesos.apache.org:'什么是Mesos?'”