一种在云环境下针对GO微服务远程部署的方法及系统技术方案

技术编号:35859848 阅读:14 留言:0更新日期:2022-12-07 10:48
本发明专利技术涉及云环境内部署技术领域,具体为一种在云环境下针对GO微服务远程部署的方法包括以下步骤,使用CMDB统一管理云服务器信息;将需要部署的Go微服务以及执行的中间件,按照规则统一存储于MinIO仓库中;通过SSH协议远程连接云服务器,使用JSCH工具包在云服务器上远程执行命令;有益效果为:本发明专利技术提出的在云环境下针对GO微服务远程部署的方法及系统由CMDB统一管理和维护Linux服务器的信息,通过SSH协议与Linux服务器建立连接,调用Java的JSCH工具包执行相应自动化操作;前台页面下发远程部署的命令,执行shell脚本为服务器配置相应的Go环境,并可以控制微服务的启动和停止;将远程部署操作放入子线程中执行,通过websocket实现前后台的通信,在页面上获取远程部署的状态。程部署的状态。程部署的状态。

【技术实现步骤摘要】
一种在云环境下针对GO微服务远程部署的方法及系统


[0001]本专利技术涉及云环境内部署
,具体为一种在云环境下针对GO微服务远程部署的方法及系统。

技术介绍

[0002]云计算是近年来IT产业发展的新热点,收到各方的广泛关注。在计算机虚拟化技术的推动下,云计算中包括虚拟机在内的计算机资源急剧增加。
[0003]现有技术中,通常需要在大量的计算机资源上动态的部署软件,以构建不同计算环境满足用户不断变化的需求。
[0004]但是,由于云服务产品与功能不断的迭代更新以及云服务产品和功能的复杂性,为避免人工部署可能会出现的问题,云服务的自动化部署势在必行。

技术实现思路

[0005]本专利技术的目的在于提供一种在云环境下针对GO微服务远程部署的方法及系统,以解决上述
技术介绍
中提出的问题。
[0006]为实现上述目的,本专利技术提供如下技术方案:一种在云环境下针对GO微服务远程部署的方法,所述在云环境下针对GO微服务远程部署的方法包括以下步骤:
[0007]使用CMDB统一管理云服务器信息;
[0008]将需要部署的Go微服务以及执行的中间件,按照规则统一存储于MinIO仓库中;
[0009]通过SSH协议远程连接云服务器,使用JSCH工具包在云服务器上远程执行命令;
[0010]在远程部署Go微服务时可以选择执行默认的shell脚本,自定义脚本上传到MinIO仓库,在部署时执行上传的自定义脚本;
[0011]在远程部署Go微服务时后台程序开启一个子线程执行命令,通过websocket和前台页面通信,将部署服务的状态发送到前台页面;
[0012]前台页面显示云服务器已部署Go微服务的状态和版本号,下发启停命令后后台使用JSCH工具包执行相应命令实现服务的启停,也可根据版本号实现服务的升级和回退。
[0013]优选的,在新增云服务器信息时进行有效化校验,检查IP地址的合法性,将云服务器登录信息中的密码采用Base64加密传输,通过SSH连接检查登录信息是否正确;
[0014]若IP地址不合法或者SSH连接失败,则无法通过校验,前台页面将根据校验失败原因进行相应的提示;通过校验的云服务器信息将会录入到云服务器表中进行保存。
[0015]优选的,中间件包括shell脚本,Golang安装包,存储时,在前台页面进行文件的上传与删除。
[0016]优选的,使用wget命令将MinIO中所需的shell脚本下载到云服务器上,使用chmod命令给脚本加执行权限,之后根据所选的Go微服务传参并执行脚本即可实现Go微服务的远程部署。
[0017]优选的,默认的脚本会检测云服务器的系统架构,根据系统构架为云服务器配置
对应的Go环境;然后根据后台传入的参数从MinIO中下载对应的Go程序包完成Go微服务的远程部署。
[0018]一种在云环境下针对GO微服务远程部署的系统,所述该系统由云服务器资源管理模块、MinIO仓库管理模块、远程连接云服务器模块、shell脚本模块、前后台websocket通信模块构成以及Go微服务的启停和版本升级、回退模块;
[0019]云服务器资源管理模块,用于使用CMDB统一管理云服务器信息;
[0020]MinIO仓库管理模块,用于将需要部署的Go微服务以及执行的中间件,按照规则统一存储于MinIO仓库中;
[0021]远程连接云服务器模块,用于通过SSH协议远程连接云服务器,使用JSCH工具包在云服务器上远程执行命令;
[0022]shell脚本模块,用于在远程部署Go微服务时可以选择执行默认的shell脚本,自定义脚本上传到MinIO仓库,在部署时执行上传的自定义脚本;
[0023]前后台websocket通信模块,用于在远程部署Go微服务时后台程序开启一个子线程执行命令,通过websocket和前台页面通信,将部署服务的状态发送到前台页面;
[0024]Go微服务的启停和版本升级、回退模块,用于前台页面显示云服务器已部署Go微服务的状态和版本号,下发启停命令后后台使用JSCH工具包执行相应命令实现服务的启停,也可根据版本号实现服务的升级和回退。
[0025]优选的,所述云服务器资源管理模块中,在新增云服务器信息时进行有效化校验,检查IP地址的合法性,将云服务器登录信息中的密码采用Base64加密传输,通过SSH连接检查登录信息是否正确;
[0026]若IP地址不合法或者SSH连接失败,则无法通过校验,前台页面将根据校验失败原因进行相应的提示;通过校验的云服务器信息将会录入到云服务器表中进行保存。
[0027]优选的,所述MinIO仓库管理模块中,中间件包括shell脚本,Golang安装包,存储时,在前台页面进行文件的上传与删除。
[0028]优选的,所述远程连接云服务器模块中,使用wget命令将MinIO中所需的shell脚本下载到云服务器上,使用chmod命令给脚本加执行权限,之后根据所选的Go微服务传参并执行脚本即可实现Go微服务的远程部署。
[0029]优选的,所述shell脚本模块中,默认的脚本会检测云服务器的系统架构,根据系统构架为云服务器配置对应的Go环境;然后根据后台传入的参数从MinIO中下载对应的Go程序包完成Go微服务的远程部署。
[0030]与现有技术相比,本专利技术的有益效果是:
[0031]本专利技术提出的在云环境下针对GO微服务远程部署的方法及系统由CMDB统一管理和维护Linux服务器的信息,通过SSH协议与Linux服务器建立连接,调用Java的JSCH工具包执行相应自动化操作;前台页面下发远程部署的命令,执行shell脚本为服务器配置相应的Go环境,并可以控制微服务的启动和停止;将远程部署操作放入子线程中执行,通过websocket实现前后台的通信,在页面上获取远程部署的状态。
附图说明
[0032]图1为本专利技术远程部署整体架构;
[0033]图2为资源信息校验的工作流程图;
[0034]图3为MinIO存储模块流程示意图;
[0035]图4为远程部署模块流程示意图;
[0036]图5为websocket模块流程示意图。
具体实施方式
[0037]为了使本专利技术的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本专利技术实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本专利技术一部分实施例,而不是全部的实施例,仅仅用以解释本专利技术实施例,并不用于限定本专利技术实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0038]在本专利技术的描述中,需要说明的是,术语“中心”、“中”、“上”、“下”、“左”、“右”、“内”、“外”、“顶”、“底”、“侧”、“竖直”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在云环境下针对GO微服务远程部署的方法,其特征在于:所述在云环境下针对GO微服务远程部署的方法包括以下步骤:使用CMDB统一管理云服务器信息;将需要部署的Go微服务以及执行的中间件,按照规则统一存储于MinIO仓库中;通过SSH协议远程连接云服务器,使用JSCH工具包在云服务器上远程执行命令;在远程部署Go微服务时可以选择执行默认的shell脚本,自定义脚本上传到MinIO仓库,在部署时执行上传的自定义脚本;在远程部署Go微服务时后台程序开启一个子线程执行命令,通过websocket和前台页面通信,将部署服务的状态发送到前台页面;前台页面显示云服务器已部署Go微服务的状态和版本号,下发启停命令后后台使用JSCH工具包执行相应命令实现服务的启停,也可根据版本号实现服务的升级和回退。2.根据权利要求1所述的一种在云环境下针对GO微服务远程部署的方法,其特征在于:在新增云服务器信息时进行有效化校验,检查IP地址的合法性,将云服务器登录信息中的密码采用Base64加密传输,通过SSH连接检查登录信息是否正确;若IP地址不合法或者SSH连接失败,则无法通过校验,前台页面将根据校验失败原因进行相应的提示;通过校验的云服务器信息将会录入到云服务器表中进行保存。3.根据权利要求2所述的一种在云环境下针对GO微服务远程部署的方法,其特征在于:中间件包括shell脚本,Golang安装包,存储时,在前台页面进行文件的上传与删除。4.根据权利要求3所述的一种在云环境下针对GO微服务远程部署的方法,其特征在于:使用wget命令将MinIO中所需的shell脚本下载到云服务器上,使用chmod命令给脚本加执行权限,之后根据所选的Go微服务传参并执行脚本即可实现Go微服务的远程部署。5.根据权利要求4所述的一种在云环境下针对GO微服务远程部署的方法,其特征在于:默认的脚本会检测云服务器的系统架构,根据系统构架为云服务器配置对应的Go环境;然后根据后台传入的参数从MinIO中下载对应的Go程序包完成Go微服务的远程部署。6.一种如上述权利要求1

5任意一项所述的在云环境下针对GO微服务远程部署的系统,其特征在于:所述该系统由云服务器资源管理模块、MinIO仓库管理模块、远程连接云服务器模块、shell脚本模块、前后台websocket通信模块...

【专利技术属性】
技术研发人员:徐程得
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1