横向对比几个不同的 Docker 编排引擎(外加 Cloud Foundry 对比)

前言:本文作者并未使用过 Swarm 和 Mesos,只用过 Kubernetes。全文都是对网上其他文章的总结。如有错误,欢迎指出。  

目的:写这篇文章的目的是对几个不同引擎之间有一个大概的对比。  
复制代码

现在常用的 Docker 编排引擎有如下 3 个:

  1. Docker Swarm:Docker 自家的东西。
  2. Kubernetes:目前使用的人多,有历史的证明。
  3. Apache Mesos:挑战 K8s。

此外还有一个 PCF:

  • Cloud Foundry:使用最简单。

1. 学习曲线

  • Swarm:由于直接沿用 Docker 的概念,使用起来比较简单。
  • Mesos:相对 Swarm 要更复杂。比 Kubernetes 简单,但是要学两个东西,一个是 Mesos,一个是上层框架(一般都是啥 Marathon,但比如苹果自家其实会使用 Jarvis)
  • Kubernetes:学习曲线相对其他两个而言最陡峭,包含了太多独有的东西。
  • Cloud Foundry:使用非常简单,大部分事情都已经帮你做好了。

2. 灵活性

  • Swarm:中规中矩。只能使用 Docker。其它两个都支持多种 runtime。
  • Mesos:具有很好的灵活性。因为上层框架可以换,耦合度较低。可扩展性也很高,最大规模可以很大。
  • Kubernetes:最“自以为是”,功能耦合最密集。几乎不需要其他第三方工具。
  • Cloud Foundry:因为帮你做了很多事,所以没有那么灵活

3. UI 界面

  • Swarm:没有 Web UI
  • Mesos 和 Kubernets:有。
  • Cloud Foundry: 有

4. 功能

  • Swarm:功能最简单,只有一些该有的编排功能。
  • Mesos 和 Kubernets:各自有自己的独特功能。
  • Cloud Foundry:虽然使用简单,但是功能也挺多,只是定制能力小。

5. 总结

如果你只是想做个简单的测试,那么使用 Swarm。如果做工业级使用,那么就只能考虑其他 3 个。

  • 如果考虑灵活性和扩展性较多,比如想自己写个上层框架来更好地支持 siri,或者想使用上万个节点以上的应用,就使用 Mesos。
  • 工业级使用,喜欢稳定,节点需求在上千个左右,K8s 长久的使用证明了走这条路子绝对不会亏。
  • 想快速使用,功能要求多,但是对定制需求较少,选择 Cloud Foundry。
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享