Kubernetes vs Mesos vs Swarm       

Kubernetes vs Mesos vs Swarm

虽然定义各不相同,但Kubernetes,Docker和Swarm都属于一类DevOps基础架构管理工具,称为Container Orchestration Engines(COE)。 COE在资源池和在这些资源上运行的应用程序容器之间提供抽象层。

与容器一起,COE解决的主要问题是如何在云或数据中心中采用多个离散资源,并将它们组合到一个池中,可以在其上部署各种应用程序。这些应用程序的范围可以从简单的三层Web体系结构到大规模数据摄取和处理,以及介于两者之间的所有内容。 这些工具中的每一个都提供不同的功能集,并且在成熟度,学习曲线和易用性方面各不相同。他们可以共享的一些高级功能包括:

swarm

Swarm是Docker的原生集群工具,Swarm使用标准的Docker API,这意味着容器能够使用docker run命令启动,Swarm会选择合适的主机来运行容器,这也意味着其他使用Docker API的工具比如Composebespoke脚本也能使用Swarm,从而利用集群而不是在单个主机上运行。

Swarm的基本架构很简单:每个主机运行一个Swarm代理,一个主机运行Swarm管理器(在测试的集群中,这个主机也可以运行代理),这个管理器负责主机上容器的编排和调度。Swarm能以高可用性模式(etcdConsulZooKeeper 中任何一个都可以用来将故障转移给后备管理器处理)运行。当有新主机加入到集群,有几种不同的方式来发现新加的主机,在Swarm中也就是discovery。默认情况下使用的是token,也就是在Docker Hub上会储存一个主机地址的列表。

参考

https://titanssword.github.io/2018-09-17-Kubernetes%20vs%20Mesos%20vs%20Swarm.html

http://dockone.io/article/823