当我们面对一个大型应用程序,它有大量的微服务,并希望完成一些功能开发?我们面临许多挑战,其中之一将是处理正确的环境,如何进行开发。我们知道,在团队中解决这个问题的最佳方法是将其容器化并在云上托管。这将使开发人员能够处理特定功能并调试容器,而无需在本地创建环境。
微软在2020年9月份发布Visual Studio扩展工具Bridge to Kubernetes:https://devblogs.microsoft.com/visualstudio/bridge-to-kubernetes-ga/ 。Bridge to Kubernetes是一种迭代开发工具,作为Visual Studio和VS Code的扩展提供,旨在简化微服务的开发。开发人员可以在开发工作站上编写、测试和调试微服务代码,同时从 Kubernetes 环境中继承现有配置并消费依赖关系。微软的Azure云解决方案架构师写了一篇不错的文章:https://sajeetharan.com/2020/10/28/bridge-to-kubernetes/ 。
博客上给出了一张图, 总结了微服务开发的三种场景:本地,远程和混合的方法
开发人员从本地开发方法转向混合方法,这是使用k8s 构建应用程序提供了最佳方式。使用混合方法,它允许开发人员在其开发工作站上编写代码,但也允许他们连接到在远程环境中运行的处理外部依赖依赖服务。因此,它实际上通过连接它们来满足所有这些外部依赖关系。假设您在Azure的 Kubernetes 上运行应用程序,则可以连接本地环境中的所有依赖关系,并拥有整个端到端工作流【可以支持任何k8s集群:https://devblogs.microsoft.com/visualstudio/bridge-to-kubernetes-ga/#support-for-any-kubernetes】。
上图这样的场景,我正在开发一个微服务,需要处理使用不同技术开发的产品和其他微服务部署在 Azure 上的 Kubernetes 集群上。如果我想连接到多个微服务,我当地的环境中运行一些集成测试,Bridge to Kubernetes将有助于我实现这个要求。它的一些主要功能:
加速和简化微服务开发:它基本上消除了手动推送代码、配置和编译外部依赖您的开发环境的需要,这样您就可以专注于代码而不担心其他因素。
简单调试代码:它允许您使用添加的k8s配置运行您通常的调试配置文件。它允许开发人员以他们想要的方式调试代码,同时利用本地调试的速度和灵活性。
开发和测试端到端:其中一个重要特点是在开发过程中进行集成测试。选择集群中的现有服务,以路由到本地运行该服务实例的开发机器。开发人员可以通过在 Kubernetes 中运行的应用程序的前端发起请求,它将在集群中运行的服务之间路由,直到您指定的重定向服务与在代码中添加断点进行调试的服务相同。
使用方法非常简单,直接从Visual Studio 或者是VSCode 的插件市场上安装Bridge to Kubernetes 插件。VisualStudio安装好插件后可以通过这篇文档走一遍:使用 Bridge to Kubernetes , VS Code安装好插件后也可以通过这篇文档走一遍:Use Bridge to Kubernetes with a sample。这样的开发体验很棒, 这个体验要比腾讯的方案 Nocalhost:https://nocalhost.dev/