![《架构师》2017年11月](https://wfqqreader-1252317822.image.myqcloud.com/cover/29/920029/b_920029.jpg)
Docker官方将支持Kubernetes,容器编排大战宣告结束
![](https://epubservercos.yuewen.com/4AF38A/9313261803582701/epubprivate/OEBPS/Images/figure_0020_0001.jpg?sign=1738788652-i5SVNTyIqNrZOkcTeFKljcmEI6VakNCg-0-47093e3d26fe38f715f33e9ab5feee87)
10月17日,Docker在丹麦哥本哈根举行的DockerCon大会上宣布,将扩大其Docker平台并选择积极拥抱容器编排对手Kubernetes。这意味着Docker客户及开发人员将可以选择同时使用Kubernetes与DockerSwarm进行容器工作负载的编排。
Docker的创始人Solomon Hykes在大会上介绍,对于即将推出的Docker平台新版本,开发人员将能够在其工作站中的Kubernetes上直接进行生产应用程序的构建与测试。而运营人员则能够从Docker企业版中获得各种帮助,具体包括多租户安全保护,镜像扫描以及基于角色的访问控制等,同时配合Kubernetes或者Swarm在生产环境中实现应用运行。
![](https://epubservercos.yuewen.com/4AF38A/9313261803582701/epubprivate/OEBPS/Images/figure_0021_0001.jpg?sign=1738788652-vVV2ZWokkbtLzQCLD0bHRuYzxD5y8Kxe-0-a61c62fd3b7cd94a788bcd974aed20c7)
Solomon Hykes在大会上表示,今后在选择容器集群管理技术时现有的Docker开发人员不必学习新的Kubernetes工具,下一个版本的Docker将内置完整的Kubernetes发行版本,开发人员将能够一直使用Docker工具。
Docker的理念为“Build, Ship and Run Any App, Anywhere”,通过容器和镜像的特性让DevOps变得容易,但Docker的前景,更在于支持分布式、服务化设计,实现一系列可独立开发、独立部署和独立扩展的服务组合,以保证业务的灵活性和稳定性。
Docker容器被称为容器运行时的事实标准,而在容器编排上,Kubernetes、Mesos和来自Docker官方的DockerSwarm一直以来处于竞争状态,但来自Google公司的Kubernetes以其高效、简便、高水平的可移植性等优势占领了绝大部分市场,而如今Docker官方宣布将拥抱这样一位竞争对手,看起来Kubernetes俨然赢得了编排框架市场的胜利。
专家观点
TalkingData大数据及云计算工程师宋净超对此为读者带来了一番解读:
我觉得Kubernetes的眼光不止于容器编排,Docker作为Cloud Native生态中的最基础的Runtime,之后可能会被其他的Container Engine替代,到时候Docker也只不过是Runtime的一个选择而已。
而Kubernetes所在的CNCF是为了解决企业上云的系列问题,从Runtime到部署、监控、分布式追踪、网络等等,我认为接下来它自己也会去构建一个相应的云原生生态。那到时候是否又是另一场大战,我们拭目以待。
针对这个事件,通俗一点来讲,Docker相当于一部功能机,可以满足用户的一般需求。但是随着移动互联网的到来,大家需要更多的功能,原来的功能机已经无法满足需求了,这时候智能机,比如iPhone开始爆发了,这就是Kubernetes问世的一个环境。
但是功能机也不甘示弱,他们有了MTK,可以低成本去做功能啊!可以以低成本满足用户80%的需求。这也就是指这一次Docker官方说的,它将去支持Kubernetes。但就是那20%的非功能性需求决定了用户体验。而Kubernetes正是完全有着占有用户这20%需求的能力,所以一直以来它作为容器编排的实际市场领跑者。
![](https://epubservercos.yuewen.com/4AF38A/9313261803582701/epubprivate/OEBPS/Images/figure_0022_0001.jpg?sign=1738788652-I6WfqYlAup9dp9q59rUL8S0pNyEyvaaG-0-fb6653e0435d402f2f741e27a10633a5)
再从一个具体的点上去做个比喻就是,Docker这个机子它本来只能支持单卡模式,但是现在它支持双卡了,它将自己本来的主卡,也就是DockerSwarm放到了副卡的位置上去了,而现在的主卡很明显就是Kubernetes。但是你看iPhone,这业界超一流的标准,它只支持单卡模式,那么未来Docker这部功能机,它如果想要向着这种一流去做,它现在的这个双卡战略会走得远吗?将来是否会直接将DockerSwarm这一副卡给去掉?
这可能是一个稍显不恰当的比喻,并不是贬低Docker而抬升Kubernetes,毕竟先有了Docker生态,有了容器化之后才有了Kubernetes,这里只是为了让读者切身感受,帮助理解。