VS Code K8s扩展组件可在本地端部署微服务,方便应用程序调试

微软与红帽(Red Hat)开发人员合作,在VS Code的Kubernetes扩展组件中,加入Kubernetes本地信道调试(Local Tunnel Debugging)功能,这让开发者能够针对任何集群,即时地使用原生开发工具调试。

微软提到,在过去几年,微服务架构逐渐发展成为构建云计算应用程序的标准,但开发微服务应用程序所面临的挑战,却经常被忽略,由于微服务架构将应用程序切分成多个服务,因此开发人员现在有更多的部分需要开发、调试和管理。

调试应用程序需要了解多个微服务之间的配置和执行,而且要在本地端机器复制集群环境,也存在许多困难与复杂性,甚至在部分情况,因为开发机器资源的限制,使得微服务应用程序没办法完整地在开发机器上进行调试。

为了解决微服务开发的调试问题,微软和红帽共同开发了这个本地信道调试功能,这个新功能被添加在VS Code的Kubernetes扩展组件中,用户可以使用这个功能,在开发机器上原生执行应用程序的微服务,并且继续使用既有的工具进行开发,Kubernetes扩展组件会通过信道连接到Kubernetes集群,与其他应用程序和服务一起运行。

此时应用程序发出的请求,会在服务之间路由,直到调试的服务被调用,请求会被导向正在本地端调试的开发机器,而请求处理完毕,便会被无缝地送回集群中的其他服务。微软提到,这种开发形式,让开发者能够以更加集成的方式,测试应用程序的各个微服务,调试工作都能在本地端进行,而且本地信道调试还进一步简化操作复杂性,开发者不需要构建Docker镜像文件,且要在部署到集群后才看得到改变。

另外,这项新功能还可以复制集群环境,直接应用到开发机器上,这消除了原本开发过程,需要开发者手动获取、配置和编译外部服务依赖性的麻烦,极大程度简化微服务开发,来自集群环境的环境变量和连接字符串等配置,都会被复制到开发机器,使本地端微服务能够顺利执行。

而针对共享集群的开发团队,本地信道调试功能还支持隔离服务,开发者会获得一个特别的URL,使用该URL的流量,才会被路由到开发者的开发机器,其他使用原始应用程序的URL,都会被路由到集群中未经修改的服务,因此开发者的开发环境,不会对团队成员造成干扰。