一种自动部署并检测虚拟机Web应用的方法及其系统技术方案

技术编号:24330718 阅读:19 留言:0更新日期:2020-05-29 19:30
本发明专利技术公开了一种自动部署并检测虚拟机Web应用的方法及其系统,方法步骤包括:云管理平台连接宿主机的TCP Socket常驻程序,并对其发出调用请求命令;TCP Socket常驻程序从云管理平台的软件包仓库下载软件包到宿主机中;然后TCP Socket常驻程序再将软件包拷贝到虚拟机的存储盘上;TCPSocket常驻程序对宿主机的Cloud‑Init程序进行配置并写入部署Web服务命令;TCP Socket常驻程序对虚拟机进行开机;宿主机的Cloud‑Init程序执行部署Web服务命令,对存储盘上的软件包进行部署生成虚拟机的Web应用。本发明专利技术提高了用户对云主机的部署效率,并提升了云管理平台的用户体验。

【技术实现步骤摘要】
一种自动部署并检测虚拟机Web应用的方法及其系统
本专利技术涉及虚拟机
,特别涉及一种基于云管理平台的自动部署并检测虚拟机Web应用的方法及其系统。
技术介绍
KVM(全称是Kernel-basedVirtualMachine)是基于虚拟化扩展(IntelVT或者AMD-V)的X86硬件的开源的Linux原生的全虚拟化解决方案。在KVM中,虚拟机被实现为常规的Linux进程,由标准Linux调度程序进行调度;虚拟机的每个虚拟CPU被实现为一个常规的Linux线程,这使得KVM能够使用Linux内核的已有功能。guestfish是一套KVM虚拟机镜像管理的利器,提供一系列对镜像管理的工具,也提供对外的API。Socket又称"套接字",一组编程接口(API),介于传输层和应用层,向应用层提供统一的编程接口。QemuGuestAgent,简称qga,是一个运行在虚拟机内部的普通应用程序(可执行文件名称默认为qemu-ga,服务名称默认为qemu-guest-agent),其目的是实现一种宿主机和虚拟机进行交互的方式,这种方式不依赖于网络,而是依赖于virtio-serial(默认首选方式)或者isa-serial。Cloud-Init是一个开源工具,运行在虚拟机内部的一个非常驻服务,在开机启动时执行,执行完成立即退出,不会监听任何端口。Cloud-Init服务主要用于实现对虚拟机的初始化操作(例如,对DNS,Hostname,IP等信息的配置),以及执行一些用户在创建虚拟机时指定首次开机启动要执行的自定义脚本。目前云平台上的大部分用户都需要将自己的Web应用部署到虚拟机上,对于如何将Web应用部署到虚拟机上,目前通常的做法都是需要用户自己进入虚拟机手动进行部署。这种手动部署的方式不仅繁琐还容易操作出错,而且,当用户需要部署大量虚拟机时,将需要耗费大量的时间。
技术实现思路
本专利技术要解决的技术问题在于,提供一种自动部署并检测虚拟机Web应用的方法及其系统,能够让用户无需手动进入虚拟机进行任何操作,简单高效用时短,且本专利技术针对KVM虚拟化平台所有操作系统都可以使用;本专利技术提高了用户对云主机的部署效率,并提升了云管理平台的用户体验。为解决上述技术问题,本专利技术提供如下技术方案:一种自动部署并检测虚拟机Web应用的方法,包括以下步骤:S1、云管理平台连接宿主机的TCPSocket常驻程序,并对其发出调用请求命令;S2、TCPSocket常驻程序从云管理平台的软件包仓库下载软件包到宿主机中;然后TCPSocket常驻程序再将软件包拷贝到虚拟机的存储盘上;TCPSocket常驻程序对宿主机的Cloud-Init程序进行配置并写入部署Web服务命令;S3、TCPSocket常驻程序对虚拟机进行开机;宿主机的Cloud-Init程序执行部署Web服务命令,对存储盘上的软件包进行部署生成虚拟机的Web应用,Web应用启动后会监听指定的虚拟机socket端口,并生成socket监听文件。进一步地,所述步骤S1前还包括步骤S0、用户将软件包上传到云管理平台的软件包仓库,云管理平台对宿主机创建虚拟机,虚拟机对Web服务进行部署。进一步地,所述步骤S3后还包括步骤S4、TCPSocket常驻程序连接宿主机的unixsocket文件,并对其发送检测命令;unixsocket文件控制虚拟机的qemuguestagent应用程序,去读取虚拟机的socket监听文件;qemuguestagent应用程序读取socket监听文件内容并解码,然后检测其是否存在Web服务监听的socket地址,若存在socket地址则判定虚拟机Web服务部署完成并生成检测结果,否则为部署失败并生成检测结果。进一步地,所述步骤S4后还包括步骤S5、qemuguestagent应用程序将检测结果反馈给unixsocket文件;TCPSocket常驻程序获取unixsocket文件的检测结果并发送给云管理平台。本专利技术另一目的是提供一种自动部署并检测虚拟机Web应用的系统,包括云管理平台和宿主机,所述云管理平台包括TCPSocket客户端和软件包仓库,所述宿主机包括虚拟机、TCPSocket常驻程序模块、Cloud-Init程序模块以及unixsocket文件模块;所述虚拟机包括qemuguestagent应用程序模块和socket监听文件模块;所述云管理平台用于对所述宿主机创建虚拟机;所述软件包仓库用于存储用户上传的软件包;所述TCPSocket客户端用于连接并接受TCPSocket常驻程序模块的信息,并转发云管理平台的调用请求命令至所述TCPSocket常驻程序模块;所述TCPSocket常驻程序模块用于下载所述软件包仓库的软件包到宿主机中,并对所述虚拟机进行开机;所述TCPSocket常驻程序模块还用于对所述Cloud-Init程序模块进行配置并写入部署Web服务命令;所述Cloud-Init程序模块用于执行部署Web服务命令,对存储盘上的软件包进行部署生成虚拟机的Web应用;所述TCPSocket常驻程序模块还用于连接所述unixsocket文件模块,并对其发送检测命令;所述unixsocket文件模块用于控制所述qemuguestagent应用程序模块去读取所述socket监听文件模块;所述socket监听文件模块用于生成Web应用监听虚拟机socket端口的socket监听文件;所述qemuguestagent应用程序模块用于读取所述socket监听文件模块内容并解码,然后检测其是否存在Web服务监听的socket地址,若存在socket地址则判定虚拟机Web服务部署完成并生成检测结果,否则为部署失败并生成检测结果;所述qemuguestagent应用程序模块还用于将检测结果反馈给所述unixsocket文件模块;所述TCPSocket常驻程序还用于获取unixsocket文件模块的检测结果并发送给TCPSocket客户端,最后所述云管理平台用于获取检测结果并反馈给用户。采用上述技术方案后,本专利技术至少具有如下有益效果:本专利技术云管理平台的用户无需手动进入虚拟机进行任何操作,就可以自动化部署Web应用并保证了部署的可靠性,简单高效用时短,针对KVM虚拟化平台所有操作系统都可以使用;本专利技术实现了云管理平台自动化部署Web应用并保证了部署的可靠性,提高用户对云主机的部署效率,提升了云管理平台的用户体验,为云管理平台实现面向应用的交付模式提供了一种自动部署并检测保障的方式。附图说明图1为本专利技术一种自动部署并检测虚拟机Web应用的方法步骤流程图;图2为本专利技术一种自动部署并检测虚拟机Web应用的系统框架图。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本申请作进一步详细本文档来自技高网
...

【技术保护点】
1.一种自动部署并检测虚拟机Web应用的方法,其特征在于,包括以下步骤:/nS1、云管理平台连接宿主机的TCP Socket常驻程序,并对其发出调用请求命令;/nS2、TCP Socket常驻程序从云管理平台的软件包仓库下载软件包到宿主机中;然后TCPSocket常驻程序再将软件包拷贝到虚拟机的存储盘上;TCP Socket常驻程序对宿主机的Cloud-Init程序进行配置并写入部署Web服务命令;/nS3、TCP Socket常驻程序对虚拟机进行开机;宿主机的Cloud-Init程序执行部署Web服务命令,对存储盘上的软件包进行部署生成虚拟机的Web应用,Web应用启动后会监听指定的虚拟机socket端口,并生成socket监听文件。/n

【技术特征摘要】
1.一种自动部署并检测虚拟机Web应用的方法,其特征在于,包括以下步骤:
S1、云管理平台连接宿主机的TCPSocket常驻程序,并对其发出调用请求命令;
S2、TCPSocket常驻程序从云管理平台的软件包仓库下载软件包到宿主机中;然后TCPSocket常驻程序再将软件包拷贝到虚拟机的存储盘上;TCPSocket常驻程序对宿主机的Cloud-Init程序进行配置并写入部署Web服务命令;
S3、TCPSocket常驻程序对虚拟机进行开机;宿主机的Cloud-Init程序执行部署Web服务命令,对存储盘上的软件包进行部署生成虚拟机的Web应用,Web应用启动后会监听指定的虚拟机socket端口,并生成socket监听文件。


2.根据权利要求1所述的一种自动部署并检测虚拟机Web应用的方法,其特征在于,所述步骤S1前还包括步骤S0、用户将软件包上传到云管理平台的软件包仓库,云管理平台对宿主机创建虚拟机,虚拟机对Web服务进行部署。


3.根据权利要求1所述的一种自动部署并检测虚拟机Web应用的方法,其特征在于,所述步骤S3后还包括步骤S4、TCPSocket常驻程序连接宿主机的unixsocket文件,并对其发送检测命令;unixsocket文件控制虚拟机的qemuguestagent应用程序,去读取虚拟机的socket监听文件;
qemuguestagent应用程序读取socket监听文件内容并解码,然后检测其是否存在Web服务监听的socket地址,若存在socket地址则判定虚拟机Web服务部署完成并生成检测结果,否则为部署失败并生成检测结果。


4.根据权利要求3所述的一种自动部署并检测虚拟机Web应用的方法,其特征在于,所述步骤S4后还包括步骤S5、qemuguestagent应用程序将检测结果反馈给unixsocket文件;TCPSocket常驻程序获取unixsocket文件的检测结果并发送给云管理平台。


5.一种自动部署...

【专利技术属性】
技术研发人员:邓学华史伟闵宇
申请(专利权)人:广东睿江云计算股份有限公司
类型:发明
国别省市:广东;44

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

1