为Azure容器服务提供Kubernetes支持

编者注:今天的文章是由Brendan Burns,微软的合作架构师和Kubernetes的联合创始人,谈论如何将Kubernetes引入Azure容器服务。

有一千多人要来KubeCon在我的家乡西雅图,在我帮助启动Kubernetes项目近三年后,看到一个规模庞大、不断壮大的社区经过三年的努力,一小群人和一个激进的想法变成了这样一个样子,我感到惊讶和谦卑。2014年7月,就在Kubernetes公开可用不到一个月的时候,微软宣布了对Azure的初步支持。的发布Kubernetes 1.4,带来了对本地微软网络的支持,负载平衡器而且磁盘的集成

今天,微软宣布Azure上Kubernetes的下一步:在Azure容器服务(ACS)中引入Kubernetes作为受支持的协调器。能加入ACS团队并帮助建立这个新附加组件,我感到非常兴奋。将Kubernetes集成到ACS中意味着,只需在Azure门户中单击几下,或者在新的基于python的Azure命令行工具中运行一个命令,就可以创建一个功能齐全的Kubernetes集群,该集群与您的其他Azure资源集成在一起。

Kubernetes已经在Azure容器服务中公开预览了。社区参与一直是Kubernetes体验的重要组成部分。在接下来的几个月里,我希望您能加入我们,并在我们将其推广时提供您对体验的反馈。

本着社区精神,我们也很兴奋地宣布一个新的开源项目:ACS引擎.ACS Engine的目标是提供一个开放的、社区驱动的位置,用于开发和共享在Azure上编排容器的最佳实践。我们所有关于在Azure中运行容器的知识都已经在那个存储库中获得了,我们期待着在与社区一起前进的过程中对它进行改进和扩展。展望未来,ACS引擎中的模板将成为通过ACS API部署的集群的基础,因此社区驱动的改进、特性等将有一条进入Azure容器服务的自然路径。我们很高兴邀请您加入我们,共同改善ACS。在创建ACS Engine之前,具有ACS API不支持的独特需求的客户需要维护我们模板上的变体。虽然这些差异一开始很小,但随着主线模板的改进和用户对模板的迭代,它们会随着时间的推移而变得越来越大。这些差异和漂移确实影响了用户的协作能力,因为他们的模板都是不同的。如果没有分享和协作的能力,就很难形成一个社区,因为每个用户都被孤立在自己的变体中。

为了解决这个问题,ACS Engine的核心是一个内置在Go中的模板处理器,它使您能够动态地将不同的配置片段组合在一起,形成可用于构建集群的最终模板。因此,每个用户都可以混合和匹配这些片段,构建适合他们需求的最终容器集群。同时,每一个部件都可以由社区共同构建和维护。我们已经在一些客户中测试了这种方法,到目前为止我们得到的反馈都非常积极。

除了帮助您在Azure上运行容器的服务之外,我认为改善开发和部署到Kubernetes的容器应用程序的体验是非常重要的。为此,我最近做了大量的工作,为真正优秀的,开源的,Visual Studio代码.Kubernetes扩展使您能够快速部署JSON或YAML文件,您正在编辑到Kubernetes集群。此外,它使您能够将现有的Kubernetes对象导入到Code中,以便于编辑。最后,它支持运行的容器和正在开发的源代码之间的同步,以便对生产中遇到的问题进行容易的调试。

但实际上,一个演示胜过千言万语,所以请看看这个视频

当然,就像Kubernetes中的其他所有东西一样,它是开源发布的,我期待着与社区进一步合作。再次感谢,我期待在今天的OpenShift聚会上见到大家,也期待在明天和周三KubeCon期间的Microsoft Azure展台上见到大家。欢迎来到西雅图!