Docker Swarm 与 Kubernetes 有何不同?

2024-04-17

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


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

  • Both are trying to solve the same problem - container orchestration over a large number of hosts. Essentially these problems can be broken down like so:
    • 跨多个主机调度容器(考虑资源利用率等)
    • 将容器分组为逻辑单元
    • 容器的缩放
    • 部署后对这些容器进行负载平衡/访问
    • 将存储附加到容器,无论是否共享
    • 容器/分组容器之间的通信/网络
    • 容器的服务发现(即X服务在哪里)

Kubernetes 和 Docker Swarm 都可以为你解决这些问题,但是它们有不同的命名约定和如何解决它们的想法。这些差异是相对概念性的。有一些文章很好地解释了这一点:

https://platform9.com/blog/compare-kubernetes-vs-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/ 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/ http://containerjournal.com/2016/04/07/kubernetes-vs-swarm-container-orchestrator-best/

本质上,它们是同一空间中的类似产品。但有一些注意事项需要牢记:

  • Kubernetes 是以容器不可知的心态开发的(目前它支持 Docker、rkt https://coreos.com/rkt/并有一些支持hyper https://www.hyper.sh/而 docker swarm 仅是 docker)
  • Kubernetes 是“云原生”,因为它可以在跨平台上同样良好地运行Azure http://kubernetes.io/docs/getting-started-guides/coreos/azure/, 谷歌容器引擎 https://cloud.google.com/container-engine/ and AWS http://kubernetes.io/docs/getting-started-guides/aws/- 我目前不知道这是 Docker Swarm 的一个功能,尽管你可以自己配置它
  • Kubernetes 是一个完全开源的产品。如果需要商业支持,则需要去第三方获取。 Docker 为 Swarm 提供企业支持
  • 如果您熟悉 docker-compose 工作流程,Docker Swarm 会利用它,因此您可能会熟悉并且更容易上手。 Kubernetes 需要学习 pod/service/deployment 定义,这些定义虽然是纯粹的 yaml,但却是一种调整。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker Swarm 与 Kubernetes 有何不同? 的相关文章

随机推荐