当前位置: 首页 > 科技观察

使用Nocalhost在Rainbond上开发微服务应用

时间:2023-03-14 12:41:25 科技观察

本文将介绍如何使用Nocalhost在Rainbond上快速开发微服务应用的开发流程和实战步骤。Nocalhost可以直接在Kubernetes中开发应用,Rainbond无需编写Yaml即可快速部署微服务项目,Nocalhost结合Rainbond可以加速我们的微服务开发效率。一、简介Nocalhost[1]是一个开源的基于IDE的云原生应用开发工具:直接在Kubernetes集群中构建、测试和调试应用。提供简单易用的IDE插件(支持VSCode和JetBrains),即使在Kubernetes集群中开发调试,Nocalhost也能保持与本地开发一样的开发体验。使用即时文件同步进行开发:即时将您的代码更改同步到远程容器,而无需重建图像或重新启动容器。Rainbond[2]是一个云原生应用管理平台:简单易用,无需了解容器、Kubernetes和底层复杂技术,支持管理多个Kubernetes集群,管理企业应用的全生命周期。主要功能包括应用开发环境、应用市场、微服务架构、应用交付、应用运维、应用级多云管理等。2.本地+Rainbond微服务开发以前我们在本地开发微服务时+Rainbond,需要开发的模块在本地运行,其他模块在Rainbond上运行。我们通过Rainbond网关与本地通信,共同调试。这样会遇到一些问题:多人协同开发,联调困难,本地环境差异化无法通过注册中心(Nacos)调用其他微服务,远程调试比较困难,受限于本地资源3.使用Nocalhost+Rainbond开发microservices现在我们使用Nocalhost+Rainbond开发微服务时,所有的服务都运行在Rainbond上。开发时,本地Vscode直接连接Rainbond组件,与本地代码实时同步到Rainbond组件。多人开发联调时,可以使用Rainbond内置的ServiceMesh进行服务间的联调。使用Nocalhost开发可以解决本地开发遇到的问题:多人联调开发更方便。服务运行在Rainbond上,不再局限于本地和生产环境。RemoteDebug通过注册中心(Nacos)调用其他微服务组件4.实际操作步骤Nocalhost目前支持两种开发模式:ReplicateDevModeDuplicateDevMode本文将主要介绍ReplaceDevMode。当进入ReplaceDevMode时,Nocalhost会对组件进行如下操作:减少副本数为1,更换容器的镜像为开发镜像添加一个sidecar容器。将本地端口转发到文件同步服务器。启动本地文件同步客户端。打开一个远程终端。4.1安装Nocalhost插件Nocalhost支持VScodeJetBrains,这里主要介绍VScode插件的安装[3]参考官网文档。打开VScode,点击左侧的扩展按钮图标,在搜索框中输入Nocalhost,选择Nocalhost插件,点击安装按钮4.2安装Rainbond我们选择基于主机安装Rainbond[4]。4.3Nocalhost连接Rainbond集群获取kubeconfig文件,进入Rainbond集群视图->点击节点配置->kubeconfig。我们把kubeconfig文件复制到本地,保存为yaml文件。打开Vscode,点击按钮,打开Nocalhost插件,选择ConnecttoCluster,选择我们的kubeconfig文件路径,点击AddCluster,添加集群。添加完成后如下图所示:4.4在Rainbond上部署SpringCloud微服务这里选择在开源应用商店安装SpringCloudPig微服务组件,在应用商店搜索Pig进行安装。部署完成后效果如下:4.5进入Nocalhost开发模式上面我们已经在本地Vscode中连接好集群,并且在Rainbond中安装了SpringCloudPig微服务,那么我们在本地Vscode中选择其中一个组件开发方面,为了让效果更明显,选择开发pig-ui组件。SpringCloudPig后端[5]SpringCloudPig前端[6]4.5.1克隆Pig-ui代码到本地gitclonehttps://gitee.com/zhangbigqi/pig-ui4.5.2开始本地开发打开Vscode点击按钮,找到我们的Pig-ui组件,由于应用是从开源应用商店安装的,Deployment名称是自动生成的字符串,我们需要在组件中查询。我们点击旁边