导读 Docker 1.12内置了Swarm模式(mode),这也是最近关于Docker新闻中的重点内容吧。

如果不熟悉的人该问了,这个和之前的Docker Swarm(在Docker 1.6时就有了)有什么不同么?之前的Swarm要弃用了么?不是前几天刚出个Swarmkit么?话说也是佩服Docker能把产品搞得这么复杂,弄出这么多名称,也真是让人醉了。

相信抱有此疑问的人不在少数。这里,我们就来简单看一下Docker Swarm(之前和Docker machine、Docker compose并称三剑客)、swarmkit和Swarm mode之间的区别。

Docker Swarm
  • 独立于Docker engine
  • 需要额外的KV存储(也可以用Docker Hub的token)
  • 没有服务模型
  • 与Docker machine的集成
  • 使用Docker CLI
Swarmkit

在Docker 1.12 RC之前的几周,Docker 发布了 Swarmkit。这是一个独立的、开源的容器编排项目。

linux-three-saber000005

它的特点是:

  • 使用自己的CLI(swarmd负责管理,swarmctl用于控制)
  • 没有服务发现、负载均衡和路由功能
  • 提供编排和调度服务
  • 是Swarm mode的基础
Swarm mode
  • 集成到了Docker engine中(docker swarm子命令)
  • 不需要额外的KV存储
  • 支持服务模型(及task概念)以及相应的扩容缩容、服务发现、滚动升级、路由和负载均衡等
  • 加密通信
  • 还没有和Docker machine与Docker compose集成
  • 使用Docker CLI
  • Swarm mode基于Swarmkit编写

Docker engine Swarm是一个对Swarm的重大升级,因为提出了service这个概念,而不是再以容器作为主要管理对象单元,而是以更符合逻辑的服务为单位进行管理和调度,其下才是容器。估计这也是向Kubernetes学习的结果,而单独的Swarm不久之后将会退出历史舞台吧,集成到Docker engine的Swarm则将会是Docker抢占企业级市场的重要攻击性武器。竞争将会异常激烈,但Docker得胜算不能说很大,毕竟现在Mesos 1.0发布之后,都开始`Docker daemon`-less了。

一句话来说,忘记Docker Swarm吧,知道有个Swarmkit,要用就用Docker Swarm Mode

实际上最近Docker的发展真是太快了,其周边也是。而经过3年的高速发展,前景虽然很好,但是在调度和企业级应用上,谁会胜出还真很难说,同时我也觉得,如果Docker不赶紧找个好买主,估计回落到豌豆荚那样的地步吧。留给Docker队的时间不多了。

原文来自:http://mp.weixin.qq.com/s?__biz=MzI3OTEzNjI1OQ==&mid=2651492670&idx=1

本文地址: http://www.linuxprobe.com/swarm-swarmkit.html ‎编辑: 岳国帅,审核员:王浩