2017年10月17日,全球瞩目的DockerCon EU 2017在丹麦哥本哈根开幕,现场来自全球各地的数千名参会者共同见证了Docker又一个发展里程碑。
在此次DockerCon欧洲大会上,Docker的创始人Solomon Hykes宣布:Docker 将原生支持 Kubernetes,也就是代表
Kubernetes 将和 Swarm 一样作为 Docker 平台的编排管理系统。包括 Docker EE、Docker CE 以及 Docker for
Mac/Windows 等全平台的支持。
Docker for Mac/Windows
Docker for Mac/Windows 将原生支持把基于
docker-compose/swarm 的应用部署到本地的 Kubernetes 集群中,docker swarm 和 Kubernetes
共享相同的镜像、存储卷以及容器(也就是两种调度系统同时管理同一套容器)。这有助于简化容器应用的开发、构建、测试以及部署。
Docker EE
在创建 Stack 的时候可以选择 Swarm 或者 Kubernetes:
并且还可以在 Shared Resources 处查看共享的资源:
当然,部署也很简单,内置在 Docker EE 中,swarm 和 Kubernetes 共享相同的 Node:
Docker CE/Moby
Moby 与 Kubernetes 的集成通过一系列的开源项目来实现:
•
containerd 和 cri-containerd,可以参考Kubernetes The Hard Way查看使用方法
•
LinuxKit:支持构建Kubernetes镜像
• InfraKit:支持Kubernetes Flavor
• libnetwork:增加CNI的支持
https://github.com/docker/libnetwork/pull/1978
• Notary将会贡献给CNCF
•
libentitlement将提供高级安全接口
非常遗憾的是,该功能暂时还无法体验,需要等到Docker下一个release,想要提前体验可以在https://beta.docker.com/注册预览版。
2015年以来,Docker公司自有容器编排平台Swarm一直与Kubernetes直接竞争,包括Red
Hat,CoreOS,Canonical和VMware在内的多个供应商已经在市场上提供Kubernetes发行版,直接与Docker
Swarm竞争。Docker通过容器平台使能软件供应链的预判,为了与时俱进、满足客户的愿望,在此时选择拥抱Kubernetes。
Solomon
Hykes还强调了Docker的开放性,他表示,现有的Docker开发人员没有必要学习新的Kubernetes工具,下一个版本的Docker将内置完整的Kubernetes发行版,使得开发人员将能够一直使用Docker工具。