docker swarm 与 k8s 区别 几种集群方案的对比 电脑版发表于:2022/8/25 16:31 下面以docker部署为主,主流的容器化集群部署方案主要有以下几种: Docker Compose:帮助在 同一个节点 上部署多个容器。 Docker Swarm:多台机器上部署容器。开箱即用,快速部署容器。偏重容器部署 K8s:社区活跃度高,组件丰富。微服务化,偏重应用的部署。 Marathon+Mesos:大数据组件部署。双层调度,侧重底层资源管理。任务调度需自己实现 compose支持在 同一节点 上部署,swarm支持在多个节点上部署容器。这两者都是docker原生支持的docker集群部署方式,开箱即用,比较方便,偏重于容器的部署。 Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目,但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务,对于微服务的部署,显然 Docker Swarm 会更加适合。 从 Docker 1.12.0 版本开始,Docker Swarm 已经包含在 Docker 引擎中(docker swarm),并且已经内置了服务发现工具,我们就不需要像之前一样,再配置 Etcd 或者 Consul 来进行服务发现配置了。 swarm偏重的是容器的部署,而k8s偏重于应用的部署。k8s对容器的所有操作都渗透着为应用而服务的理念,比如pod是为了让联系紧密但又不适合部署在一起的应用分别部署在不同docker里面,但docker之间共享volume和network namespace方式,以便实现紧密地“交流”,在比如service是为了隐藏pod(容器的集合,下文会介绍到)的网络细节,让pod提供固定的访问入口,从而方便地让其他应用访问等。 在swarm中,被创建、调度和管理的最小单元就是docker。在k8s中,最小单元则是pod。