一种自动部署虚拟机微服务应用的系统和方法与流程



1.本发明涉及虚拟机应用部署管理技术领域,尤其涉及一种自动部署虚拟机微服务应用的系统和方法。


背景技术:



2.虚拟机比较早就出现在软件行业中,有了虚拟机ecs后,用户可以简单方便地在虚拟机上部署各种云服务。而ecs虚拟机也可以快速从云厂商处购买得到,从而用户可以在ecs 虚拟机上部署各种应用,从平台型的到数据库类型的,再到用户微服务等。
3.在实际的生产实践中,在应用比较少时,用户可以轻松应对,直接进行对应用进行部署即可,当出现问题时,再上ecs去查看应用状态,进行应用的生命周期管理,以及进行启停、扩缩容、查日志等操作。但当用户的应用变多之后,这种操作就变得庞大且容易出错。首先,这些生产的虚拟机ecs机器,全部暴露给操作人员,即便是专业的运维技术人员也会出现误操作或漏操作;其次,对于比较敏感的生产环境而言,这种变更操作,需要操作人员具有一定的权限,对于运维人员来说,要进行操作权限的审计和限制,又会形成巨大的工作量;再者,运维技术人员素质良莠不齐,市面上经常爆出某公司技术人员“删库跑路”的操作,这种ecs权限的下发,生产化的应用和数据等敏感内容,全部透明的暴露在技术人员面前,同样也会引来安全问题。
4.对于以上的问题,开发出一款自动部署虚拟机微服务应用的系统,使企业级用户在虚拟机上部署微服务,仅需要开发产出的jar包,即可被部署系统在目的虚拟机上进行微服务的自动化部署,提高安全性、便利性和正确率,成为亟待解决的技术问题。


技术实现要素:



5.针对现有技术存在的缺陷和不足,本发明旨在提供一种自动部署虚拟机微服务应用的系统和方法,提高部署效率和正确率,并且兼顾安全性。
6.一方面,本发明提供一种自动部署虚拟机微服务应用的系统,包括:
7.deployment部署控制模块,用于通过前端页面获取应用jar包文件,将获取的应用jar包文件上传至oss对象存储模块,同时向ecs-agent代理模块发送用户部署应用的请求,并将应用jar包文件的oss地址传送至ecs-agent代理模块;
8.oss对象存储模块,用于接收和存储从deployment部署控制模块上传的jar包文件,将jar包文件的oss地址发送至deployment部署控制模块;
9.ecs-agent代理模块,用于接收从deployment部署控制模块传送的oss地址,根据接收的oss地址从oss对象存储模块中获取jar包文件,将获取的jar包文件部署在虚拟机,运行微服务应用ecs-app。
10.进一步地,本发明的自动部署虚拟机微服务应用的系统,deployment部署控制模块与 ecs-agent代理模块之间采用tcp连接。
11.进一步地,本发明的自动部署虚拟机微服务应用的系统,ecs-agent代理模块与
deployment 部署控制模块之间的连接由ecs-agent代理模块发起。
12.进一步地,本发明的自动部署虚拟机微服务应用的系统,ecs-agent代理模块与deployment 部署控制模块之间的连接建立后,ecs-agent代理模块收到deployment部署控制模块发来的用户部署应用的请求,向deployment部署控制模块发送应答。
13.进一步地,本发明的自动部署虚拟机微服务应用的系统中,oss对象存储模块还可以包含在deployment部署控制模块内。
14.另一方面,本发明提供一种自动部署虚拟机微服务应用的方法,包括:
15.步骤s1:用户通过前端页面将应用jar包文件上传至deployment部署控制模块;
16.步骤s2:通过deployment部署控制模块将获取的应用jar包文件上传至oss对象存储模块进行存储;
17.步骤s3:通过oss对象存储模块接收和存储从deployment部署控制模块上传的jar包文件,将jar包文件的oss地址发送至deployment部署控制模块;
18.步骤s4:通过deployment部署控制模块向ecs-agent代理模块发送用户部署应用的请求,并将应用的oss地址传送至ecs-agent代理模块;
19.步骤s5:通过ecs-agent代理模块接收从deployment部署控制模块传送的oss地址,根据接收的oss地址从oss对象存储模块中获取jar包文件,将获取的jar包文件部署在虚拟机,运行微服务应用ecs-app。
20.本发明还涉及自动部署虚拟机微服务应用的方法在虚拟机应用部署管理中的应用。
21.最后,本发明还提供一种终端设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述方法的步骤。
22.本发明自动部署虚拟机微服务应用的方法和系统,通过deployment部署控制模块和 ecs-agent代理模块,自动化地将用户的jar包成功运行,其间用户仅执行了上传jar包的操作,在无需进入虚拟机ecs操作任何资源的情况下,即可完成微服务应用ecs-app的正确部署,具有安全、快捷、易于管理的特点,适用于企业级用户在虚拟机上部署微服务的场景需求。
附图说明
23.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
24.图1为本发明示例性第一实施例一种自动部署虚拟机微服务应用的系统的架构图。
25.图2为本发明示例性第二实施例一种自动部署虚拟机微服务应用的方法的流程图。
具体实施方式
26.下面结合附图对本发明实施例进行详细描述。
27.需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并
且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
28.需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
29.本发明的核心在于,在租户侧vpc网络中,每台虚拟机ecs都内置一个ecs-agent代理模块,通过ecs-agent代理模块,deployment部署控制模块可以方便地对微服务应用ecs-app 的生命周期管理进行控制。图1为根据本发明示例性第一实施例的一种自动部署虚拟机微服务应用的系统的架构图,如图1所示,本实施例所述系统,包括:
30.deployment部署控制模块,用于通过前端页面获取应用jar包文件,将获取的应用jar包文件上传至oss对象存储模块,同时向ecs-agent代理模块发送用户部署应用的请求,并将应用jar包文件的oss地址传送至ecs-agent代理模块;
31.oss对象存储模块,用于接收和存储从deployment部署控制模块上传的jar包文件,将 jar包文件的oss地址发送至deployment部署控制模块;
32.ecs-agent代理模块,用于接收从deployment部署控制模块传送的oss地址,根据接收的oss地址从oss对象存储模块中获取jar包文件,将获取的jar包文件部署在虚拟机,运行微服务应用ecs-app。
33.本实施例自动部署虚拟机微服务应用的系统中,deployment部署控制模块与ecs-agent 代理模块之间采用tcp连接。ecs-agent代理模块与deployment部署控制模块之间的连接由 ecs-agent代理模块发起。ecs-agent代理模块与deployment部署控制模块之间的连接建立后, ecs-agent代理模块收到deployment部署控制模块发来的用户部署应用的请求,向deployment 部署控制模块发送应答。
34.具体的,在实际应用时,本实施例中deployment部署控制模块向ecs-agent代理模块发送请求时,采用的指令类型为action;采用instanceid表示ecs实例id,用以标识客户端id;采用params表示指令相关的参数。本实施例系统中,eployment部署控制模块与ecs-agent代理模块之间采用tcp连接方式,支持运行需要的各种控制命令。
35.本实施例自动部署虚拟机微服务应用的系统中,oss对象存储模块还可以包含在 deployment部署控制模块内。
36.图2为根据本发明示例性第二实施例的一种自动部署虚拟机微服务应用的方法的流程图,如图2所示,本实施例的方法,包括:
37.步骤s1:用户通过前端页面将应用jar包文件上传至deployment部署控制模块;
38.步骤s2:通过deployment部署控制模块将获取的应用jar包文件上传至oss对象存储模块进行存储;
39.步骤s3:通过oss对象存储模块接收和存储从deployment部署控制模块上传的jar包文件,将jar包文件的oss地址发送至deployment部署控制模块;
40.步骤s4:通过deployment部署控制模块向ecs-agent代理模块发送用户部署应用的请求,并将应用的oss地址传送至ecs-agent代理模块;
41.步骤s5:通过ecs-agent代理模块接收从deployment部署控制模块传送的oss地址,根据接收的oss地址从oss对象存储模块中获取jar包文件,将获取的jar包文件部署在虚拟机,运行微服务应用ecs-app。
42.本发明涉及上述示例性第一实施例和示例性第二实施例在虚拟机应用部署管理中的应用。
43.本实施例的自动部署虚拟机微服务应用的方法,步骤s4中,通过deployment部署控制模块向ecs-agent代理模块发送用户部署应用的请求之前,由ecs-agent代理模块发起ecs-agent 代理模块与deployment部署控制模块之间的连接。ecs-agent代理模块与deployment部署控制模块之间的连接建立后,ecs-agent代理模块收到deployment部署控制模块发来的用户部署应用的请求,ecs-agent代理模块向deployment部署控制模块发送应答。
44.本发明还提供一种终端设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述方法的步骤。
45.该终端设备具有上述动部署虚拟机微服务应用的系统和方法相应的技术效果。
46.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术特征:


1.一种自动部署虚拟机微服务应用的系统,其特征在于,所述系统,包括:deployment部署控制模块,用于通过前端页面获取应用jar包文件,将获取的应用jar包文件上传至oss对象存储模块,同时向ecs-agent代理模块发送用户部署应用的请求,并将应用jar包文件的oss地址传送至ecs-agent代理模块;oss对象存储模块,用于接收和存储从deployment部署控制模块上传的jar包文件,将jar包文件的oss地址发送至deployment部署控制模块;ecs-agent代理模块,用于接收从deployment部署控制模块传送的oss地址,根据接收的oss地址从oss对象存储模块中获取jar包文件,将获取的jar包文件部署在虚拟机,运行微服务应用ecs-app。2.根据权利要求1所述的自动部署虚拟机微服务应用的系统,其特征在于,deployment部署控制模块与ecs-agent代理模块之间采用tcp连接。3.根据权利要求1所述的自动部署虚拟机微服务应用的系统,其特征在于,ecs-agent代理模块与deployment部署控制模块之间的连接由ecs-agent代理模块发起。4.根据权利要求1所述的自动部署虚拟机微服务应用的系统,其特征在于,ecs-agent代理模块与deployment部署控制模块之间的连接建立后,ecs-agent代理模块收到deployment部署控制模块发来的用户部署应用的请求,向deployment部署控制模块发送应答。5.根据权利要求1所述的自动部署虚拟机微服务应用的系统,其特征在于,oss对象存储模块还可以包含在deployment部署控制模块内。6.一种基于权利要求1所述系统的自动部署虚拟机微服务应用的方法,其特征在于,所述方法,包括:步骤s1:用户通过前端页面将应用jar包文件上传至deployment部署控制模块;步骤s2:通过deployment部署控制模块将获取的应用jar包文件上传至oss对象存储模块进行存储;步骤s3:通过oss对象存储模块接收和存储从deployment部署控制模块上传的jar包文件,将jar包文件的oss地址发送至deployment部署控制模块;步骤s4:通过deployment部署控制模块向ecs-agent代理模块发送用户部署应用的请求,并将应用的oss地址传送至ecs-agent代理模块;步骤s5:通过ecs-agent代理模块接收从deployment部署控制模块传送的oss地址,根据接收的oss地址从oss对象存储模块中获取jar包文件,将获取的jar包文件部署在虚拟机,运行微服务应用ecs-app。7.根据权利要求6所述的自动部署虚拟机微服务应用的方法在虚拟机应用部署管理中的应用。8.根据权利要求6所述的自动部署虚拟机微服务应用的方法,其特征在于,步骤s4中,通过deployment部署控制模块向ecs-agent代理模块发送用户部署应用的请求之前,由ecs-agent代理模块发起ecs-agent代理模块与deployment部署控制模块之间的连接。9.根据权利要求6所述的自动部署虚拟机微服务应用的方法,其特征在于,步骤s4中,通过deployment部署控制模块向ecs-agent代理模块发送用户部署应用的请求之后,ecs-agent代理模块向deployment部署控制模块发送应答。
10.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求6所述方法的步骤。

技术总结


本发明提供一种自动部署虚拟机微服务应用的系统,包括:Deployment部署控制模块,用于通过前端页面获取应用jar包文件,将获取的应用jar包文件上传至OSS对象存储模块,同时向ecs-agent代理模块发送用户部署应用的请求,并将应用jar包文件的OSS地址传送至ecs-agent代理模块;OSS对象存储模块,用于接收和存储从Deployment部署控制模块上传的jar包文件,将jar包文件的OSS地址发送至Deployment部署控制模块;ecs-agent代理模块,用于接收从Deployment部署控制模块传送的OSS地址,根据接收的OSS地址从OSS对象存储模块中获取jar包文件,将获取的jar包文件部署在虚拟机,运行微服务应用ecs-app。本发明自动部署虚拟机微服务应用的系统和方法,具有安全、快捷、易于管理的特点,适用于企业级用户在虚拟机上部署微服务的场景需求。务的场景需求。务的场景需求。


技术研发人员:

郑恺 耿庆森 吕善 孙冉 张凯 高康臣 汪圣鹏 夏幼林 黄天辉

受保护的技术使用者:

中国电子系统技术有限公司

技术研发日:

2022.06.27

技术公布日:

2022/12/12

本文发布于:2024-09-21 17:50:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/34487.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模块   虚拟机   文件   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议