一尘不染

Docker Swarm与Kubernetes有何不同?

docker

我发现docker
swarm,kubernetes非常相似,然后有docker这是一家公司,上面两个是docker集群工具。那么,这些工具到底是什么,它们之间的区别呢?


阅读 754

收藏
2020-06-17

共1个答案

一尘不染

有很多文章可以解释这些差异。简而言之:

  • 两者都试图解决相同的问题-在大量主机上进行容器编排。本质上,这些问题可以按如下方式分解:
    • 在多个主机之间调度容器(考虑资源利用率等)
    • 将容器分组为逻辑单元
    • 缩放容器
    • 部署后对这些容器进行负载平衡/访问
    • 将存储附加到容器,无论是否共享
    • 容器/分组容器之间的通信/网络
    • 容器的服务发现(即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,rkt并对hyper提供了一些支持,而docker swarm仅适用于docker
  • Kubernetes是“云原生”的,因为它可以在AzureGoogle Container EngineAWS上同样良好地运行-我目前还不知道这是Docker Swarm的功能,尽管您可以自己配置
  • Kubernetes是一个完全开源的产品。如果需要商业支持,则需要联系第三方。Docker为Swarm提供企业支持
  • 如果您熟悉docker-compose工作流程,则Docker Swarm会利用它,因此您可能会熟悉它并更容易上手。Kubernetes要求学习Pod /服务/部署定义,虽然这是纯Yaml,但这是一种调整。
2020-06-17