Docker Swarm 与 Kubernetes 有何不同?
How is Docker Swarm different than Kubernetes?
我发现docker swarm, kubernetes 很相似然后有docker 是一家公司,上面两个是docker 集群工具。那么这些工具到底是什么以及它们之间的区别?
有很多文章可以解释这些差异。简而言之:
- 两者都试图解决同一个问题——大量主机上的容器编排。这些问题基本上可以这样分解:
- 跨多个主机调度容器(考虑资源利用率等)
- 将容器分组为逻辑单元
- 容器缩放
- 在部署这些容器后将它们加载 balancing/access
- 将存储附加到容器,无论是否共享
- Communication/networking containers/grouped 个容器之间
- 容器的服务发现(即 X 服务在哪里)
Kubernetes 和 DockerSwarm 都可以为您解决这些问题,但是它们的命名约定和解决方法不同。差异是相对概念性的。有些文章对此进行了很好的分解:
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/
本质上,它们是同一个space中的相似产品。不过有几点需要牢记:
- Kubernetes 是以容器无关的心态开发的(目前它支持 Docker、rkt and has some support for hyper 而 docker swarm 仅支持 docker)
- Kubernetes 是 "cloud native",因为它可以 运行 在 Azure, Google Container Engine and AWS 中同样出色 - 我目前不知道这是 Docker Swarm 的一个功能,尽管你可以自己配置
- Kubernetes 是一个完全开源的产品。如果你需要商业支持,你需要去第三方获得它。 Docker 为 Swarm 提供企业支持
- 如果您熟悉 docker-compose 工作流程,Docker Swarm 会使用它,因此您可能很熟悉并且更容易上手。 Kubernetes 需要学习 pod/service/deployment 定义,这些定义虽然是纯 yaml,但却是一种调整。
这是 docker swarm 与 Kubernetes 的一对一映射。
致谢:janakiram MSV 和观看完整视频 here
我发现docker swarm, kubernetes 很相似然后有docker 是一家公司,上面两个是docker 集群工具。那么这些工具到底是什么以及它们之间的区别?
有很多文章可以解释这些差异。简而言之:
- 两者都试图解决同一个问题——大量主机上的容器编排。这些问题基本上可以这样分解:
- 跨多个主机调度容器(考虑资源利用率等)
- 将容器分组为逻辑单元
- 容器缩放
- 在部署这些容器后将它们加载 balancing/access
- 将存储附加到容器,无论是否共享
- Communication/networking containers/grouped 个容器之间
- 容器的服务发现(即 X 服务在哪里)
Kubernetes 和 DockerSwarm 都可以为您解决这些问题,但是它们的命名约定和解决方法不同。差异是相对概念性的。有些文章对此进行了很好的分解:
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/
本质上,它们是同一个space中的相似产品。不过有几点需要牢记:
- Kubernetes 是以容器无关的心态开发的(目前它支持 Docker、rkt and has some support for hyper 而 docker swarm 仅支持 docker)
- Kubernetes 是 "cloud native",因为它可以 运行 在 Azure, Google Container Engine and AWS 中同样出色 - 我目前不知道这是 Docker Swarm 的一个功能,尽管你可以自己配置
- Kubernetes 是一个完全开源的产品。如果你需要商业支持,你需要去第三方获得它。 Docker 为 Swarm 提供企业支持
- 如果您熟悉 docker-compose 工作流程,Docker Swarm 会使用它,因此您可能很熟悉并且更容易上手。 Kubernetes 需要学习 pod/service/deployment 定义,这些定义虽然是纯 yaml,但却是一种调整。
这是 docker swarm 与 Kubernetes 的一对一映射。
致谢:janakiram MSV 和观看完整视频 here