导读 | Docker 1.12内置了Swarm模式(mode),这也是最近关于Docker新闻中的重点内容吧。 |
如果不熟悉的人该问了,这个和之前的Docker Swarm(在Docker 1.6时就有了)有什么不同么?之前的Swarm要弃用了么?不是前几天刚出个Swarmkit么?话说也是佩服Docker能把产品搞得这么复杂,弄出这么多名称,也真是让人醉了。
相信抱有此疑问的人不在少数。这里,我们就来简单看一下Docker Swarm(之前和Docker machine、Docker compose并称三剑客)、swarmkit和Swarm mode之间的区别。
- 独立于Docker engine
- 需要额外的KV存储(也可以用Docker Hub的token)
- 没有服务模型
- 与Docker machine的集成
- 使用Docker CLI
在Docker 1.12 RC之前的几周,Docker 发布了 Swarmkit。这是一个独立的、开源的容器编排项目。
它的特点是:
- 使用自己的CLI(swarmd负责管理,swarmctl用于控制)
- 没有服务发现、负载均衡和路由功能
- 提供编排和调度服务
- 是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队的时间不多了。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/210716.html