本文超过一年。较旧的文章可能包含过时的内容。请检查页面中的信息自发布以来是否仍然正确。

为 Azure 容器服务带来 Kubernetes 支持

超过一千人来到我的家乡西雅图参加KubeCon,这距离我帮助启动 Kubernetes 项目已经过去了近三年。看到一小群人和一个激进的想法在三年里,在越来越壮大的社区的辛勤工作下取得了如此成就,真是令人惊叹和感慨。在 2014 年 7 月,Kubernetes 公开发布后不到一个月,微软就宣布了对 Azure 的初步支持。Kubernetes 1.4 的发布带来了对原生 Microsoft 网络、负载均衡器磁盘集成的支持。

今天,微软宣布了 Kubernetes 在 Azure 上的下一步:在 Azure 容器服务 (ACS) 中引入 Kubernetes 作为受支持的编排器。加入 ACS 团队并帮助构建这个新功能,对我来说真的非常令人兴奋。将 Kubernetes 集成到 ACS 意味着只需在 Azure 门户中点击几下,或者在新基于 Python 的 Azure 命令行工具中运行一个命令,您就可以创建一个与您的其他 Azure 资源集成的功能齐全的 Kubernetes 集群。

Kubernetes 现在可以在 Azure 容器服务中进行公开预览。社区参与一直是 Kubernetes 体验的重要组成部分。在接下来的几个月里,我希望您能加入我们,并在我们将它正式发布时提供您对体验的反馈。

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

为了解决这个问题,ACS Engine 的核心是一个用 Go 构建的模板处理器,它使您能够动态地将不同的配置片段组合在一起,形成一个最终模板,可用于构建您的集群。因此,每个用户都可以混合搭配各个部分,构建适合其需求的最终容器集群。同时,每个部分都可以由社区协作构建和维护。我们一直在与一些客户进行 beta 测试,到目前为止我们收到的反馈非常积极。

除了帮助您在 Azure 上运行容器的服务之外,我认为改进开发和将容器化应用程序部署到 Kubernetes 的体验非常重要。为此,我最近一直在努力为非常优秀的开源Visual Studio Code构建 Kubernetes 扩展。Kubernetes 扩展使您能够快速将正在编辑的 JSON 或 YAML 文件部署到 Kubernetes 集群。此外,它还使您能够将现有的 Kubernetes 对象导入到 Code 中以便于编辑。最后,它可以实现正在运行的容器与您正在开发的源代码之间的同步,以便轻松调试您在生产中遇到的问题。

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

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