Docker官方将支持Kubernetes,容器编排大战宣告结束

10 月 17 日,Docker 在丹麦哥本哈根举行的 DockerCon 大会上宣布,将扩大其 Docker 平台并选择积极拥抱容器编排对手 Kubernetes。这意味着 Docker 客户及开发人员将可以选择同时使用 Kubernetes 与 DockerSwarm 进行容器工作负载的编排。



Docker 的创始人 Solomon Hykes 在大会上介绍,对于即将推出的 Docker 平台新版本,开发人员将能够在其工作站中的 Kubernetes 上直接进行生产应用程序的构建与测试。而运营人员则能够从 Docker 企业版中获得各种帮助,具体包括多租户安全保护,镜像扫描以及基于角色的访问控制等,同时配合 Kubernetes 或者 Swarm 在生产环境中实现应用运行。



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 大数据及云计算工程师 宋净超(https://jimmysong.io)对此为读者带来了一番解读:

我觉得 Kubernetes 的眼光不止于容器编排,Docker 作为 Cloud Native 生态中的最基础的 Runtime,之后可能会被其他的 Container Engine 替代,到时候 Docker 也只不过是 Runtime 的一个选择而已。

而 Kubernetes 所在的 CNCF 是为了解决企业上云的系列问题,从 Runtime 到部署、监控、分布式追踪、网络等等,我认为接下来它自己也会去构建一个相应的云原生生态。那到时候是否又是另一场大战,我们拭目以待。

针对这个事件,通俗一点来讲,Docker 相当于一部功能机,可以满足用户的一般需求。但是随着移动互联网的到来,大家需要更多的功能,原来的功能机已经无法满足需求了,这时候智能机,比如 iPhone 开始爆发了,这就是 Kubernetes 问世的一个环境。

但是功能机也不甘示弱,他们有了 MTK,可以低成本去做功能啊!可以以低成本满足用户 80% 的需求。这也就是指这一次 Docker 官方说的,它将去支持 Kubernetes。但就是那 20% 的非功能性需求决定了用户体验。而 Kubernetes 正是完全有着占有用户这 20% 需求的能力,所以一直以来它作为容器编排的实际市场领跑者。

再从一个具体的点上去做个比喻就是,Docker 这个机子它本来只能支持单卡模式,但是现在它支持双卡了,它将自己本来的主卡,也就是 DockerSwarm 放到了副卡的位置上去了,而现在的主卡很明显就是 Kubernetes。但是你看 iPhone,这业界超一流的标准,它只支持单卡模式,那么未来 Docker 这部功能机,它如果想要向着这种一流去做,它现在的这个双卡战略会走得远吗?将来是否会直接将 DockerSwarm 这一副卡给去掉?



这可能是一个稍显不恰当的比喻,并不是贬低 Docker 而抬升 Kubernetes,毕竟先有了 Docker 生态,有了容器化之后才有了 Kubernetes,这里只是为了让读者切身感受,帮助理解。