Docker平台正在集成对Kubernetes的支持,以便Docker客户和开发人员可以选择使用Kubernetes和Swarm来编排容器工作负载。点击注册测试版!下面你将了解到具体如何将Kubernetes添加进来的:
Docker是一个位于应用程序和基础架构之间的平台。通过在Docker上构建应用程序,开发人员和IT运营人员可获得自由和灵活性,因为Docker可以在任何地方运行:不管是在本地(包括IBM大型主机,企业的Linux和Windows平台)还是云服务器中。一旦应用程序部署进容器,重构,重新部署和移动都变得容易起来,甚至还可以运行在跨本地和云服务的混合架构上。
Docker平台由许多组件组成,分为四层:
这四个层由上游组件组装而成,这些组件是开源项目Moby的一部分。
Docker的设计理念一直是提供选择和灵活性。这对于将Docker与现有IT系统集成的客户来说非常重要,这就是为什么Docker能够与已部署的网络,日志记录,存储,负载均衡器和CI / CD系统配合使用的原因。对于所有这些(甚至更多),Docker依赖于行业标准协议或已经发布并且记录在案的接口。对于所有这些,Docker企业版都提供了合理的默认值,只是对于那些拥有现成系统或者偏爱其他解决方案的客户来说,他们可能把默认值修改为被允许的其他值。
2016年,在SwarmKit项目的推动下,Docker添加了编排功能。在过去的一年里,我们收到了很多关于Swarm的积极反馈:它很容易设置,可扩展,并且是安全的。
我们也得到了一些反馈意见,一些用户非常喜欢端到端容器管理的集成Docker平台,但是他们希望使用其他协调器(如Kubernetes)进行容器调度。要么是因为他们已经设计了在Kubernetes上工作的服务,要么是因为Kubernetes具有他们正在寻找的特定功能。所以我们要在企业版Docker以及Mac和Windows版本的Docker中添加Kubernetes支持作为编排选项(与Swarm一起)。
我们也在研究创新组件,使得Docker用户可以更轻松地使用Kubernetes编排技术在本地部署Docker应用程序。例如,通过使用Kubernetes扩展机制(如自定义资源和API服务器聚合层),即将推出的支持Kubernetes的Docker版本将允许用户将其Docker Compose应用程序部署为Kubernetes本地Pod和Services。
使用Docker平台的下一个版本,在自己的工作站,开发人员可以直接在Kubernetes上构建和测试用于生产的应用程序。而这些操作可以获得Docker企业版的所有优势 - 安全的多租户,图像扫描和基于角色的访问控制 - 同时运行与Kubernetes或Swarm协作的应用程序。
我们将加入到Docker的Kubernetes版本将是大家熟悉的普通版Kubernetes,直接来自CNCF基金会。它不会是一个分叉,也不是一个过时的版本,也不会以任何方式包装或限制。
通过Moby项目,Docker在去年一直在努力为Kubernetes做出贡献。一直以来,为了container runtime系统我们致力于containerd 和 cri-containerd 组件,为创建和管理Kubernetes安装我们致力于InfraKit包开发,以及为了进行覆盖网络的工作我们研发了libnetwor库。有关更多示例和详细信息,请参阅Moby项目博客文章。
Docker和Kubernetes分享很多共性,使用相同的编程语言编写,并且有重叠的组件,共同的贡献者和理想。我们Docker期待着将Kubernetes支持纳入我们的产品和我们所开发的开源项目中。我们迫不及待地想与Kubernetes社区合作,使container和container编排变得更加强大和易于使用。
支持Kubernetes的Docker 企业版(支持的基础设施)和社区版(Mac和Windows)的测试版将在今年晚些时候推出。点击注册,发布后我们将在第一时间通知您。
虽然我们在Docker中添加了Kubernetes作为编排选项,但是我们仍然致保持对Swarm的支持,并支持依赖Swarm和Docker的客户和用户在生产中大规模运行关键应用程序。要详细了解Docker如何集成Kubernetes,请在DockerCon EU上查看“What's New in Docker”和“Gordon's Secret Session” 。