Docker Swarm 和 Kubernetes 有何不同?

37

我发现Docker Swarm和Kubernetes非常相似,还有一个叫 Docker 的公司和上述两个是 Docker 集群工具。那么这些工具到底是什么,它们之间有何区别呢?

2个回答

34
有很多文章可以解释它们之间的区别。简而言之:
- 两者都试图解决相同的问题——在大量主机上进行容器编排。基本上,这些问题可以分解如下:
- 在多个主机上调度容器(考虑资源利用率等) - 将容器分组为逻辑单元 - 容器的扩展 - 加载平衡/部署后访问这些容器 - 将存储附加到容器上,无论是共享还是非共享的 - 容器/分组容器之间的通信/网络 - 容器的服务发现(即 X 服务在哪里)
- Kubernetes 和 Docker Swarm 都可以为您解决这些问题,但它们具有不同的命名约定和解决方法。它们之间的差异相对概念化。有一些文章可以很好地解释这一点。

https://platform9.com/blog/compare-kubernetes-vs-docker-swarm/ https://torusware.com/blog/2016/09/hands-on-orchestration-docker-1-12-swarm-vs-kubernetes/ http://containerjournal.com/2016/04/07/kubernetes-vs-swarm-container-orchestrator-best/

基本上,它们是同一领域内相似的产品。但需要注意以下几点:
- Kubernetes 的开发是面向容器的(目前支持 Docker,rkthyper 有一些支持,而 Docker Swarm 仅支持 Docker)。 - Kubernetes 是 "cloud native" 的产品,可以在 Azure, Google Container EngineAWS 上运行得很好。我目前不知道 Docker Swarm 是否具备此功能,但您可以自己进行配置。 - Kubernetes 是一个完全开源的产品。如果需要商业支持,则需要向第三方寻求帮助。Docker 为 Swarm 提供企业支持。 - 如果您熟悉 docker-compose 工作流程,则 Docker Swarm 就会更加熟悉并且更容易入门。而 Kubernetes 需要学习 pod/service/deployment 定义,虽然都是纯 yaml 格式,但需要适应。

1
嗨,这是我使用Kubernetes的经验,以及为什么我选择在docker 1.13中使用Swarm的原因。https://gist.github.com/jonathan-kosgei/dac620fed9d9aeec35050bcc0a146647 - Jonathan

17

这里是Docker Swarm与Kubernetes之间的一对一对应。

感谢janakiram MSV并观看完整视频点击这里

输入图片描述


1
对于这个比较,要感谢@asynchio的贡献:https://twitter.com/asynchio/status/809451715602825216,并提供完整演示的链接:https://www.youtube.com/watch?v=Co3Ur-MbcYY。 - abronan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接