CN114489939A - 一种组件部署方法、系统以及计算机可读介质 - Google Patents

一种组件部署方法、系统以及计算机可读介质 Download PDF

Info

Publication number
CN114489939A
CN114489939A CN202210034895.5A CN202210034895A CN114489939A CN 114489939 A CN114489939 A CN 114489939A CN 202210034895 A CN202210034895 A CN 202210034895A CN 114489939 A CN114489939 A CN 114489939A
Authority
CN
China
Prior art keywords
component
deployment
virtual machine
image file
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210034895.5A
Other languages
English (en)
Inventor
杨接康
包明生
王明星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huayun Data Co ltd
Original Assignee
Huayun Data Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huayun Data Co ltd filed Critical Huayun Data Co ltd
Priority to CN202210034895.5A priority Critical patent/CN114489939A/zh
Publication of CN114489939A publication Critical patent/CN114489939A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种组件部署方法、系统以及计算机可读介质,该组件部署方法包括:获取并保存预先构建的基础镜像文件以及组件程序库;部署服务响应带有参数的组件的部署请求,触发部署服务根据基础镜像文件创建与带有参数的组件匹配的初始组件虚拟机,并根据参数基于组件程序库内的至少一组件程序确定带有参数的组件所对应的组件程序复制至初始组件虚拟机的事件;部署服务对初始组件虚拟机执行部署脚本以部署目标组件虚拟机。通过本发明,省略了各组件的镜像文件之间的创建、管理以及维护过程,从而降低了发生错误的概率;简化了组件部署的过程,提高了组件的交付速度,确保了客户体验。

Description

一种组件部署方法、系统以及计算机可读介质
技术领域
本发明涉及云计算技术领域,尤其涉及一种组件部署方法、系统以及计算机可读介质。
背景技术
镜像是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。可以将许多文件封装制作成一个镜像文件,以方便客户下载和使用,而且,当系统破坏后,还可以通过镜像文件实现短时间的还原系统,镜像文件也可以直接刻录于光盘中。
目前,将镜像文件应用于管理员向客户交付产品的时候,通过云平台进行文件数据的交付,由于客户需求各有不同,所需要交付的服务也可有不同。而云平台对应一个云平台的镜像文件,每个服务对应不同的组件,而每个组件对应不同组件的镜像文件。由此,在管理员想客户交付产品的时候,需要将云平台的镜像文件以及客户所需要的服务对应组件的镜像文件提供给客户,需要几个服务则对应需提供几个镜像文件。例如:通过云平台交付给客户,若客户需要服务,管理员则需要交付与服务对应的一个组件,从而交付该组件分别对应的镜像文件以及云平台的镜像文件,组件具有独立响应客户发起的请求所对应的特定功能(即,本申请中基于组件向客户提供的服务),并可根据云平台功能或者配置的实际需求,配置一个或者多个组件,并依次类推。
由此,随着客户需求的服务越多,则对应的组件也越来越多,从而造成在云平台创建及部署过程中所需要的镜像文件的数量也随之增加。现有技术中的组件交付方式,会由于镜像文件过多而导致杂乱无章,而且交付过程也比较繁琐复杂,并对开发人员(即本申请中的“管理员”)及客户(即,使用云平台或者由云平台中的一个或者多个组件被分配的对象)提出了更高的技术要求。
有鉴于此,有必要对现有技术中的组件部署方法予以改进,以解决上述问题。
发明内容
本发明的目的在于揭示一种组件部署方法、系统以及计算机可读介质,用以实现构成云平台的组件的快速部署,简化组件的交付过程。
为实现上述目的,本发明提供了一种组件部署方法,包括:
获取并保存预先构建的基础镜像文件以及组件程序库;
部署服务响应带有参数的组件的部署请求,触发部署服务根据基础镜像文件创建与所述带有参数的组件匹配的初始组件虚拟机,并根据所述参数基于所述组件程序库内的至少一组件程序确定所述带有参数的组件所对应的组件程序复制至所述初始组件虚拟机的事件;
部署服务对所述初始组件虚拟机执行部署脚本以部署目标组件虚拟机。
作为本发明的进一步改进,所述获取并保存预先构建的基础镜像文件以及组件程序库之后,还包括:
将所述基础镜像文件上传至云平台的镜像服务。
作为本发明的进一步改进,将所述基础镜像文件上传至云平台的镜像服务之后,还包括:
所述镜像服务生成并保存基础镜像文件上传至云平台的镜像服务的事件记录,所述事件记录包括:镜像名称、镜像ID、镜像地址以及镜像其他信息中的一种或者任意几种。
作为本发明的进一步改进,将所述组件程序库上传至和/或预先部署于供述部署服务访问的存储单元,以根据所述参数基于所述组件程序库内的至少一组件程序确定所述带有参数的组件所对应的组件程序复制至所述初始组件虚拟机;
所述存储单元包括部署于文件服务器以及分布式存储系统中的一种或者任意几种。
作为本发明的进一步改进,所述部署请求以手动加载或者机器人程序自动加载的方式触发由所述部署服务执行响应带有参数的组件的部署请求的事件。
作为本发明的进一步改进,所述根据所述参数基于所述组件程序库内的至少一组件程序确定所述带有参数的组件所对应的组件程序复制至所述初始组件虚拟机的事件由所述部署服务通过SCP命令或者CP命令触发根据所述参数基于所述组件程序库确定对应的组件程序复制至所述初始组件虚拟机的事件。
作为本发明的进一步改进,所述预先构建的基础镜像文件中不预先配置组件程序。
基于相同发明思想,本发明还揭示了一种组件部署系统,包括:
预配置模块,预处理模块以及部署模块;
所述预处理模块包括基础镜像文件生成模块以及组件程序库生成模块,所述预处理模块包括初始组件虚拟机生成模块以及组建模块;
所述基础镜像文件生成模块获取并保存预先构建的基础镜像文件,所述组件程序库生成模块获取并保存预先构建的组件程序库,所述初始组件虚拟机生成模块触发部署服务根据基础镜像文件创建与所述带有参数的组件匹配的初始组件虚拟机,所述组建模块根据所述参数基于所述组件程序库内的至少一组件程序确定所述带有参数的组件所对应的组件程序复制至所述初始组件虚拟机,所述部署模块触发部署服务对所述初始组件虚拟机执行部署脚本以部署目标组件虚拟机。
作为本发明的进一步改进,所述基础镜像文件生成模块还包括:
将所述基础镜像文件上传至云平台的镜像服务,所述镜像服务生成并保存基础镜像文件上传至云平台的镜像服务的事件记录,所述事件记录包括:镜像名称、镜像ID、镜像地址以及镜像其他信息中的一种或者任意几种。
作为本发明的进一步改进,所述组件程序库生成模块还包括:
将所述组件程序库上传至和/或预先部署于供述部署服务访问的存储单元,以根据所述参数确定对应的组件程序并复制至所述初始组件虚拟机;
所述存储单元包括部署于云平台中的数据库、文件服务器以及分布式存储系统中的一种或者任意几种。
作为本发明的进一步改进,所述预先构建的基础镜像文件内不预先配置组件程序。
基于相同发明思想,本发明还揭示了一种计算机可读介质,所述计算机可读介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行如前述任一项发明创造所述的组件部署方法中的步骤。
与现有技术相比,本发明的有益效果是:本发明所示出的一种组件部署方法不需要依赖既有的组件所对应组件的镜像文件,基于一个基础镜像文件以及云平台的镜像文件,从而根据客户的需求部署对应组件程序,以通过该组件程序向客户提供服务,由于省略了各组件的镜像文件之间的创建、管理以及维护过程,从而降低了基于依赖于各组件的镜像文件所构建的服务及云平台发生错误的概率;此外,由于简化了组件部署的过程,提高了组件的交付速度,从而确保了客户体验。
附图说明
图1为本发明一种组件部署方法的整体流程图;
图2为本发明一种组件部署系统的整体拓扑图,其中,组件部署系统被部署于一计算机系统中;
图3为组件部署系统中的预配置模块分别创建基础镜像文件及组件程序库的示意图;
图4为组件部署系统中的预处理模块返回存储有组件程序的初始组件虚拟机的示意图;
图5为运行本发明一种组件部署方法的组件部署系统的拓扑图;
图6为组件程序与初始组件虚拟机所形成唯一的匹配关系的示意图;
图7为本发明一种计算机可读介质的拓扑图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
在详细阐述本发明的实施例之前,对实施例中所涉及的主要技术术语及英文缩写的含义予以必要解释或者定义。
镜像(Mirroring)是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。镜像文件是指将所需求的文件按照一定的格式制作成单一的文件,通过可以通过单一的文件下载与使用,例如一个操作系统、游戏等。镜像文件无法直接使用,需要利用一些虚拟光驱工具进行解压后才能使用。如果系统被破坏后,还可以通过镜像文件实现短时间还原系统。另外,镜像文件还有一个特点,可以被特定的软件识别并可直接刻录到光盘上,从而方便携带。常见的镜像文件格式有ISO、BIM、IMG、TAO、DAO、CIF、FCD、GHO等。申请人在实施例中以ISO为镜像文件格式为范例予以示范性说明。基于上述特点,镜像文件广泛应用于管理员向客户交付产品时,以方便客户下载与使用。镜像文件可以是一个云平台的镜像文件,也可以是实现某一功能的组件,而组件对应组件的镜像文件,是一个单一的文件压缩形成的压缩包,也可以是特定的一系列文件压缩形成的压缩包。
在本申请中,术语“组件”是指被部署于诸如计算机系统1000中的一个计算、存储、通信、逻辑运算中的一种或者几种功能/服务的压缩包,在Linux环境中,为后缀为.tar.gz的压缩包(例如:组件名.tar.gz)。术语“组件程序”是指基于组件被解压缩到指定目录后形成响应管理员和/或客户所发起的云平台部署请求、访问请求事件的程序(即包含特定逻辑的计算机指令或者代码的集合)。术语“服务”可被视为基于前述组件程序对外提供的响应能力,例如:计费服务、在线编排服务、认证服务、调度服务等。术语“管理员”被视为开发人员或者运维人员。
请参考图1至图5所示,本发明示出了一种组件部署方法的一种具体实施方式。
在本实施方式中,一种组件部署方法,可应用于计算机系统1000中,包括以下步骤S1至S3。该计算机系统1000可以被理解为云平台、超融合一体机、计算机、服务器、数据中心、虚拟机集群或者便捷式移动终端。申请人在实施例中以计算机系统1000为云平台为范例予以示范性说明,本领域技术人员均可通过下文描述在前述任一种计算机系统的具体实例环境中参比执行。
步骤S1、获取并保存预先构建的基础镜像文件以及组件程序库。
具体地,参图5所示,管理员创建基础镜像文件并上传至云平台(即计算机系统1000)的镜像服务1。由此,镜像服务1中存储了基础镜像文件,将基础镜像文件命名为“component_base”。获取并保存预先构建的基础镜像文件以及组件程序库之后,将基础镜像文件上传至云平台的镜像服务1,然后,镜像服务1生成并保存基础镜像文件上传至云平台的镜像服务1的事件记录,事件记录包括:镜像名称、镜像ID、镜像地址以及镜像其他信息(例如:32位还是64位,Windows还是CentOS又或者是Ubuntu,大小等等)中的一种或者任意几种。预先构建的基础镜像文件中不预先配置组件程序。此时,被预先构建的基础镜像文件可视为一个“空”的镜像文件,即基础镜像文件内没有部署组件程序,其中,创建基础镜像文件的方式可以是基于运行的容器创建,也可以是基础dockerfile创建,还可以是基于模板创建,还可以是其他方式(例如,管理员自定义创建或者临时创建);创建基础镜像文件的方法可以是制作光盘镜像文件,也可以是制作硬盘镜像文件,还可以是其他方式,只要能实现创建基础镜像文件即可。最终,实现了根据同一个基础镜像文件(即不预先配置组件程序的镜像文件)后续创建多个初始组件虚拟机,且每一个初始组件虚拟机均可被部署形成一个与初始组件虚拟机匹配的目标组件虚拟机。因此,最终获得的目标组件虚拟机与基础镜像文件之间具有对应关系。由此,通过上述技术手段,省略了各组件的镜像文件之间的创建、管理以及维护过程,从而降低了基于依赖于各组件的镜像文件所构建的服务及云平台发生错误的概率。
同理,管理员创建组件程序库,然后将组件程序库上传至和/或预先部署于供述部署服务访问的存储单元2,以根据参数基于组件程序库内的至少一组件程序确定带有参数的组件所对应的组件程序复制至初始组件虚拟机。此外,组件程序库的操作也可由客户单独执行,或者与管理员共同执行。
需要说明的是,管理员创建组件程序库并上传至存储单元2,并还形成了组件程序库的存储路径。例如:将组件程序库的存储路径命名为“/opt/haihe/components”。由此,存储单元2中存储组件程序库;其中,组件程序库由一个或者多个组件程序构成。组件程序库可以由管理员创建并上传至存储单元2中,也可以是预先部署于存储单元2内,对此不作限定,优选为,组件程序库预先存储于云平台的存储单元2中,从而减少了管理员创建组件程序库并上传至存储单元2的步骤,以实现简化了部署组件的过程。当然,存储单元2部署于云平台中,或者部署于与计算机系统1000相互通信的其他操作系统,甚至存储单元2还被可理解为计算机系统1000中的物理内存、虚拟内存、部署于云平台中的数据库、文件服务器或者分布式存储系统中的一种或者任意几种,只要能被部署服务3访问,以根据组件的一个或者多个独有的参数(即,带有参数的组件的部署请求中所包含的参数,该参数唯一)。访问存储单元2中的组件程序库,从而查询组件程序库中的匹配的组件程序,并复制至下述初始组件虚拟机即可。
需要说明的是,前述镜像服务1是指云平台(即计算机系统1000)中的一个服务,例如资源服务,用以管理资源;又或者账单服务,用以管理账单;而镜像服务1用以创建、管理镜像,同理,下述部署服务3用以管理部署。镜像服务1包括Glance镜像服务或者容器镜像服务等。
步骤S2、部署服务响应带有参数的组件的部署请求,触发部署服务根据基础镜像文件创建与带有参数的组件匹配的初始组件虚拟机,并根据参数基于组件程序库内的至少一组件程序确定带有参数的组件所对应的组件程序复制至初始组件虚拟机的事件。
具体地,参图5所示,客户或者管理员在云平台上点击部署组件,部署服务3接收并响应到带有参数的组件的部署请求,即{component:组件1},并通过http,以POST方式向镜像服务1发起查询镜像服务1内存储的基础镜像文件的请求,请求参数为{iso_name:“component_base”},查询基础镜像文件并通过基础镜像文件创建与带有参数的组件匹配的初始组件虚拟机。此时,初始组件虚拟机中没有部署组件程序(即,此时的部署组件程序尚未对外提供服务)。创建与带有参数的组件匹配的初始组件虚拟机指的是,根据参数基于组件程序库内的至少一组件程序确定带有参数的组件所对应的组件程序复制至初始组件虚拟机的。组件与初始组件虚拟机通过参数(即,带有参数的组件请求中所包含的参数)予以一一对应,若需要一个组件则创建与该组件匹配的初始组件虚拟机,即一个初始组件虚拟机;若需要多个组件,则分别创建与多个组件对应的多个初始组件虚拟机。参图6所示,可在部署服务3中逐一地或者批量地接收并保存由镜像服务1及存储单元2所分别输出的初始组件虚拟机及组件程序,并在部署服务3中根据组件程序与初始组件虚拟机所形成唯一的匹配关系,以封装出存储有至少一组件程序的初始组件虚拟机,并在后续通过执行部署脚本以部署出目标组件虚拟机,详参下文所述。
需要说明的是,在实施例中,组件的参数被视为用于区分不同组件的描述符或者表征组件所具有的唯一属性的标记(例如,UUID),只要满足能够通过参数的比对以确定并拷贝该组件程序的目的即可。因此,通过客户或者管理员发起的请求所对应的带有参数的组件的参数,匹配出唯一且正确的组件程序,从而最终使得基于组件程序所形成的存储有至少一个组件程序的初始组件虚拟机,由此使得后续通过存储有组件程序的初始组件虚拟机通过部署脚本(例如,ansible脚本)执行对应的组件部署命令,以最终得到能够正常对外提供服务的虚拟机(即,目标组件虚拟机),从而使得云平台的创建与部署过程更为便捷,并降低了组件的部署难度,并间接地取得了云平台创建与部署更为便捷的效果。
同时,根据参数基于组件程序库内的至少一组件程序确定带有参数的组件所对应的组件程序复制至初始组件虚拟机的事件由部署服务通过SCP命令或者CP命令触发根据参数基于组件程序库确定对应的组件程序复制至初始组件虚拟机的事件。部署服务3根据组件的一个或者多个独有的参数访问存储单元2,根据组件程序库的目录(即“/opt/haihe/components”)查询参数对应的组件程序,将查询到的参数对应的组件程序通过SCP命令或者CP命令拷贝至初始组件虚拟机中的/opt/haihe/的目录,从而封装得到存储有组件程序的初始组件虚拟机。
需要说明的是,参数对应的组件程序的拷贝路径可以是前述初始组件虚拟机中的/opt/haihe/的目录,也可以是其他拷贝路径,优选地,将参数对应的组件程序的拷贝路径选择为前述组件程序库的存储目录的上级目录,以方便区分组件程序库中的组件程序以及参数对应的组件程序(即客户或者管理员需要的功能对应的组件,从而对应的组件程序)。带有参数的组件的部署请求可以由前述客户或者管理员以手动加载(例如:点击可视化页面上的部署组件的按钮),或者机器人程序自动加载(例如:客户或者管理员预先设置程序,计算机系统1000运行该程序)的方式触发由部署服务3执行带有参数的组件的部署请求的事件。参图6所示,组件程序A~Z中任意一个组件程序与初始组件虚拟机A~Z中任意一个初始组件虚拟机存在唯一的对应关系,且初始组件虚拟机A~Z中任意一个初始组件虚拟机与目标组件虚拟机A~Z中任意一个目标组件虚拟机也存在唯一的匹配关系,以确保最终部署得到的一个或者多个目标组件虚拟机整个部署过程的准确性。
在本实施例中,根据基础镜像文件创建初始组件虚拟机,当管理员向客户进行交付产品的时候,若客户需要多个组件,不需要交付每个组件的镜像文件以及云平台的镜像文件,只需要交付一个基础镜像文件以及云平台的镜像文件,从而根据一个基础镜像文件创建一个或者多个初始组件虚拟机,最终部署得到一个或者多个与初始组件虚拟机对应的并具有对应服务功能的一个或者多个目标组件虚拟机的正常运行,并有利于实现包含的不同目标组件虚拟机的云平台的批量化部署操作。由此,省略了各组件的镜像文件之间的创建、管理以及维护过程,从而降低了基于依赖于各组件的镜像文件所构建的服务及云平台发生部署过程错误及部署结果错误的概率;而且只需要向客户交付一个基础镜像文件以及云平台的镜像文件,然后再根据一个基础镜像文件进行一个或者多个的组件部署操作,从而简化了组件部署的过程,提高了组件的交付速度,从而提高了管理员向客户交付产品的速度,从而最终确保了客户体验。
步骤S3、部署服务对初始组件虚拟机执行部署脚本以部署目标组件虚拟机。示例性地,部署模块30接收自预处理模块20发送的带有组件程序的初始组件虚拟机执行部署脚本,从而成功部署得到目标组件虚拟机。
具体地,部署服务3执行部署脚本进行对存储有组件程序的初始组件虚拟机进行部署组件的操作,从而部署得到能够正常对外提供服务的虚拟机(即,构成虚拟机的一种具有独立逻辑功能的模块/单元),以定义出目标组件虚拟机。通过ansible脚本(一种部署脚本工具)执行对应的组件部署命令以完成最终目标组件虚拟机的部署操作。示例性地,ansible脚本的命令格式如下(ansible-playbook function/install.yml--tags=组件名),例如:编排组件的命令格式为ansible-playbook function/install.yml--tags=Orc,从而得到目标组件虚拟机,最终,部署结束。前述命令格式中的“Orc”为组件名。需要理解的是,最终部署得到的目标组件虚拟机可视为一种服务或者一个虚拟机或者一种微服务,并可运行于云平台中,以通过一个或者多个目标组件虚拟机以独立或者整体方式对外(即,客户)提供服务。前述云平台可基于OpenStack架构的云平台或者基于Docker容器的云平台。
进一步的,基于上文所述一种组件部署方法的具体实例,本实施例还揭示了一种组件部署系统,包括:预配置模块10,预处理模块20以及部署模块30。预处理模块20包括基础镜像文件生成模块101以及组件程序库生成模块102,预处理模块20包括初始组件虚拟机生成模块201以及组建模块202。组件部署系统所含各个模块的逻辑及各个模块之间的交互逻辑所对应的技术方案,参前述组件部署方法所述,下文予以省略阐述。
具体地,云平台(即,计算机系统1000的一种下位概念)部署预配置模块10、预处理模块20以及部署模块30。预配置模块10内部署基础镜像文件生成模块101以及组件程序库生成模块102。管理员向预配置模块10下发指令,以最终下发至预配置模块10中的基础镜像文件生成模块101以及组件程序库生成模块102。同理,预处理模块20内部署初始组件虚拟机生成模块201以及组建模块202。管理员向预处理模块20下发指令,以最终下发至初始组件虚拟机生成模块201以及组建模块202。同理,管理员向部署模块30下发指令。从而分别实现管理员对预配置模块10和/预处理模块20和/或部署模块30实施指令操作。
基础镜像文件生成模块101获取并保存预先构建的基础镜像文件,组件程序库生成模块102获取并保存预先构建的组件程序库。
具体地,参图2与图3所示,管理员与云平台(即,计算机系统1000)之间形成交互。管理员向预配置模块10发送创建基础镜像文件以及创建组件程序库的请求,预配置模块10接收自管理员发送的基础镜像文件以及组件程序库创建的请求。预配置模块10内部署的基础镜像文件生成模块101响应自管理员发送的创建基础镜像文件的请求,从而创建基础镜像文件并将基础镜像文件并保存至镜像服务1,然后返回至预处理模块20。同理,预配置模块10内部署的组件程序库生成模块102响应自管理员发送的创建组件程序库的请求,从而创建组件程序库并保存至存储单元2,然后返回至预处理模块20。将基础镜像文件上传至云平台的镜像服务1,镜像服务1生成并保存基础镜像文件上传至云平台的镜像服务的事件记录,事件记录包括:镜像名称、镜像ID、镜像地址以及镜像其他信息(例如:32位还是64位,Windows还是CentOS又或者是Ubuntu,大小等等)中的一种或者任意几种。
需要说明的是,将组件程序库上传至和/或预先部署于供述部署服务3访问的存储单元2,以根据参数确定对应的组件程序并复制至初始组件虚拟机。组件程序库可以通过组件生成模块102创建并上传至存储单元2,也可以是管理员在存储单元2内预先存储组件程序库,优选为,组件程序库预先存储于存储单元2,可实现下述直接从组件程序库中通过参数的比对以确定该组件程序,从而简化了组件部署的过程,提高了组件交付的速度;而且,组件程序库预先存储于存储单元2,不需要管理员重新创建,从而避免了创建组件程序库过程中发生错误的问题。
当然,存储单元2可以部署于云平台中,也可以部署于其他操作系统,甚至存储单元2还可以包括部署于云平台中的数据库、文件服务器或者分布式存储系统中的一种或者任意几种,只要能被部署服务3访问,以访问存储单元2中的组件程序库,从而查询组件程序库中的组件程序,并复制至下述初始组件虚拟机即可。
另外,预先构建的基础镜像文件内不预先配置组件程序,即,被预先构建的基础镜像文件可视为一个“空”的镜像文件,从而根据同一个基础镜像文件(即不预先配置组件程序的镜像文件)后续创建多个初始组件虚拟机,以省略了各组件的镜像文件之间的创建、管理以及维护过程,从而降低了基于依赖于各组件的镜像文件所构建的服务及云平台发生错误的概率。
初始组件虚拟机生成模块201触发部署服务3根据基础镜像文件创建与带有参数的组件匹配的初始组件虚拟机,组建模块202根据参数基于组件程序库内的至少一组件程序确定带有参数的组件所对应的组件程序复制至初始组件虚拟机。
具体地,参图2与图4所示,预处理模块20内部署的初始组件虚拟机生成模块201接收自镜像服务1发送的基础镜像文件并响应自管理员发送的带有参数的组件的部署请求,根据基础镜像文件创建与带有参数的组件匹配的没有组件程序初始组件虚拟机,然后将没有组件程序的初始组件虚拟机发送至组建模块202。组建模块202接收自初始组件虚拟机生成模块201发送的没有组件程序的初始组件虚拟机并向存储单元2调用存储单元2中存储的组件程序库,根据管理员发送的带有参数的组件请求,以根据参数从存储单元2内存储的组件程序库,从而调用与带有参数的组件匹配的组件程序并复制至初始组件虚拟机,最终形成存储有组件程序的初始组件虚拟机,向部署模块30返回带有组件程序的初始组件虚拟机。
部署模块30触发部署服务3对初始组件虚拟机执行部署脚本以部署目标组件虚拟机。
具体地,部署模块30出发部署服务3执行部署脚本进而对存储有组件程序的初始组件虚拟机进行部署组件的操作,最终,部署得到能够正常对外提供服务的虚拟机,从而定义出目标组件虚拟机。
需要说明的是,前述组件部署方法中的步骤S1中所含逻辑由组件部署系统中的预配置模块10予以实现,步骤S2中所含逻辑由组件部署系统中的预处理模块20予以实现,步骤S3中所含逻辑由组件部署系统中的部署模块30予以实现。
基于前述技术方案,参图7所示,本实施例还揭示了一种计算机可读介质900。该计算机可读介质900中存储有计算机程序指令901,计算机程序指令901被一处理器902读取并运行时,执行如前文所揭示的组件部署方法中的步骤。
可选地,计算机可读介质900可配置为服务器,且该服务器运行于构建私有云、混合云或者公有云的物理设备上。该计算机可读介质900用于存储程序,处理器902在接收到执行指令后,以执行前文所揭示的组件部署方法。
同时,本实施例所揭示的处理器902可能是一种集成电路芯片,具有信号的处理能力。该处理器902可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该通用处理器也可以是任何常规处理器。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (12)

1.一种组件部署方法,其特征在于,包括:
获取并保存预先构建的基础镜像文件以及组件程序库;
部署服务响应带有参数的组件的部署请求,触发部署服务根据基础镜像文件创建与所述带有参数的组件匹配的初始组件虚拟机,并根据所述参数基于所述组件程序库内的至少一组件程序确定所述带有参数的组件所对应的组件程序复制至所述初始组件虚拟机的事件;
部署服务对所述初始组件虚拟机执行部署脚本以部署目标组件虚拟机。
2.根据权利要求1所述的组件部署方法,其特征在于,所述获取并保存预先构建的基础镜像文件以及组件程序库之后,还包括:
将所述基础镜像文件上传至云平台的镜像服务。
3.根据权利要求2所述的组件部署方法,其特征在于,将所述基础镜像文件上传至云平台的镜像服务之后,还包括:
所述镜像服务生成并保存基础镜像文件上传至云平台的镜像服务的事件记录,所述事件记录包括:镜像名称、镜像ID、镜像地址以及镜像其他信息中的一种或者任意几种。
4.根据权利要求2所述的组件部署方法,其特征在于,将所述组件程序库上传至和/或预先部署于供述部署服务访问的存储单元,以根据所述参数基于所述组件程序库内的至少一组件程序确定所述带有参数的组件所对应的组件程序复制至所述初始组件虚拟机;
所述存储单元包括部署于文件服务器以及分布式存储系统中的一种或者任意几种。
5.根据权利要求4所述的组件部署方法,其特征在于,所述部署请求以手动加载或者机器人程序自动加载的方式触发由所述部署服务执行响应带有参数的组件的部署请求的事件。
6.根据权利要求4所述的组件部署方法,其特征在于,所述根据所述参数基于所述组件程序库内的至少一组件程序确定所述带有参数的组件所对应的组件程序复制至所述初始组件虚拟机的事件由所述部署服务通过SCP命令或者CP命令触发根据所述参数基于所述组件程序库确定对应的组件程序复制至所述初始组件虚拟机的事件。
7.根据权利要求1至6中任一项所述的组件部署方法,其特征在于,所述预先构建的基础镜像文件中不预先配置组件程序。
8.一种组件部署系统,其特征在于,包括:
预配置模块,预处理模块以及部署模块;
所述预处理模块包括基础镜像文件生成模块以及组件程序库生成模块,所述预处理模块包括初始组件虚拟机生成模块以及组建模块;
所述基础镜像文件生成模块获取并保存预先构建的基础镜像文件,所述组件程序库生成模块获取并保存预先构建的组件程序库,所述初始组件虚拟机生成模块触发部署服务根据基础镜像文件创建与所述带有参数的组件匹配的初始组件虚拟机,所述组建模块根据所述参数基于所述组件程序库内的至少一组件程序确定所述带有参数的组件所对应的组件程序复制至所述初始组件虚拟机,所述部署模块触发部署服务对所述初始组件虚拟机执行部署脚本以部署目标组件虚拟机。
9.根据权利要求8所述的组件部署系统,其特征在于,所述基础镜像文件生成模块还包括:
将所述基础镜像文件上传至云平台的镜像服务,所述镜像服务生成并保存基础镜像文件上传至云平台的镜像服务的事件记录,所述事件记录包括:镜像名称、镜像ID、镜像地址以及镜像其他信息中的一种或者任意几种。
10.根据权利要求9所述的组件部署系统,其特征在于,所述组件程序库生成模块还包括:
将所述组件程序库上传至和/或预先部署于供述部署服务访问的存储单元,以根据所述参数确定对应的组件程序并复制至所述初始组件虚拟机;
所述存储单元包括部署于云平台中的数据库、文件服务器以及分布式存储系统中的一种或者任意几种。
11.根据权利要求10所述的组件部署系统,其特征在于,
所述预先构建的基础镜像文件内不预先配置组件程序。
12.一种计算机可读介质,其特征在于,所述计算机可读介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行如权利要求1-7中任一项所述组件部署方法中的步骤。
CN202210034895.5A 2022-01-13 2022-01-13 一种组件部署方法、系统以及计算机可读介质 Pending CN114489939A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210034895.5A CN114489939A (zh) 2022-01-13 2022-01-13 一种组件部署方法、系统以及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210034895.5A CN114489939A (zh) 2022-01-13 2022-01-13 一种组件部署方法、系统以及计算机可读介质

Publications (1)

Publication Number Publication Date
CN114489939A true CN114489939A (zh) 2022-05-13

Family

ID=81512212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210034895.5A Pending CN114489939A (zh) 2022-01-13 2022-01-13 一种组件部署方法、系统以及计算机可读介质

Country Status (1)

Country Link
CN (1) CN114489939A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116089097A (zh) * 2023-04-11 2023-05-09 睿云联(厦门)网络通讯技术有限公司 一种基于多组件多环境的云平台部署方法、设备及介质
CN117519912A (zh) * 2024-01-04 2024-02-06 之江实验室 一种镜像仓库部署的方法、装置、存储介质、设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116089097A (zh) * 2023-04-11 2023-05-09 睿云联(厦门)网络通讯技术有限公司 一种基于多组件多环境的云平台部署方法、设备及介质
CN117519912A (zh) * 2024-01-04 2024-02-06 之江实验室 一种镜像仓库部署的方法、装置、存储介质、设备
CN117519912B (zh) * 2024-01-04 2024-04-05 之江实验室 一种镜像仓库部署的方法、装置、存储介质、设备

Similar Documents

Publication Publication Date Title
CN107766126B (zh) 容器镜像的构建方法、系统、装置及存储介质
US20230289176A1 (en) Integration of containers with external elements
US11829742B2 (en) Container-based server environments
CN110832453B (zh) 使用基于云的系统的应用的分布式版本控制
CN106528224B (zh) 一种Docker容器的内容更新方法、服务器及系统
CN114489939A (zh) 一种组件部署方法、系统以及计算机可读介质
CN107783816A (zh) 虚拟机的创建方法及装置、大数据集群创建的方法及装置
CN113296792A (zh) 存储方法、装置、设备、存储介质和系统
US11150981B2 (en) Fast recovery from failures in a chronologically ordered log-structured key-value storage system
US11210174B2 (en) Automated rollback for database objects
CN112596857B (zh) 一种SaaS多租户数据隔离的方法、装置、设备及介质
US20240086186A1 (en) Method and system for a customized local build environment image
CN112015448A (zh) 一种基于空中下载技术的系统升级方法及装置
CN113485830A (zh) 一种电网监控系统微服务自动扩容方法
CN112130864A (zh) 一种私有云平台服务软件的部署方法及部署装置
CN105843881A (zh) 一种图片处理url映射方法和装置
US20230289177A1 (en) In-band instantiation configuration for application workloads
CN111857736B (zh) 云计算产品的生成方法、装置、设备及存储介质
CN114500268A (zh) chart资源的部署方法、装置、服务器及存储介质
CN116820663A (zh) 镜像构建方法、设备、存储介质及装置
CN113835827A (zh) 基于容器Docker的应用部署方法、装置及电子设备
CN113326052A (zh) 业务组件的升级方法、装置、计算机设备和存储介质
CN114519477A (zh) 大数据平台租户管理系统、方法、存储介质及电子设备
CN113986207B (zh) 一种软件架构生成、调用方法及装置
CN117591247B (zh) 云环境虚拟机的修复方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination