CN114610334A - 产品可视化部署方法、装置、系统及存储介质 - Google Patents
产品可视化部署方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN114610334A CN114610334A CN202210184967.4A CN202210184967A CN114610334A CN 114610334 A CN114610334 A CN 114610334A CN 202210184967 A CN202210184967 A CN 202210184967A CN 114610334 A CN114610334 A CN 114610334A
- Authority
- CN
- China
- Prior art keywords
- product
- target
- deployment
- mode
- component
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及产品部署领域,公开了一种产品可视化部署方法、装置、系统及存储介质,用于提高产品的部署效率,降低错误率。方法包括:响应于控制界面上的操作,生成产品部署指令,产品部署指令用于将至少一个目标产品部署到目标集群节点;对产品部署指令进行解析,得到至少一个目标产品以及目标集群节点对应的目标部署模式;获取至少一个产品配置模板和目标集群节点的节点配置信息,至少一个产品配置模板与至少一个目标产品一一对应,产品配置模板用于指示目标产品与组件的对应关系;根据至少一个产品配置模板确定对应的目标组件集;根据目标部署方式和目标集群节点的节点配置信息,将目标组件集部署到目标集群节点,并在控制界面上展示部署结果。
Description
技术领域
本发明涉及产品部署领域,尤其涉及一种产品可视化部署方法、装置、系统及存储介质。
背景技术
微服务架构的软件产品通常由诸多组件、服务组成,通过容器统一编排部署,这些组件、服务的正常运行涉及各种所需的内部、外部环境,一个软件开发商通常提供多个产品,这些产品面向特定领域的不同行业。
现有方案通过自动化部署工具实现产品部署,但是自动化部署工具只局限于单一的容器技术,不能同时对不同种类的容器进行支持。
目前,微服务架构对软件产品进行Docker、Kubernetes容器部署需要部署人员掌握各种部署脚本和配置编写,部署过程存在以下问题:基于统一平台的多套产品在不同环境下需要编写不同部署脚本和配置,无法根据不同环境快速部署,进而导致产品部署效率低。
发明内容
本发明提供一种产品可视化部署方法、装置、系统及存储介质,用于提高产品的部署效率,同时降低产品部署错误率。
本发明第一方面提供了一种产品可视化部署方法,包括:响应于控制界面上的操作,生成产品部署指令,所述产品部署指令用于将至少一个目标产品部署到目标集群节点;对所述产品部署指令进行解析,得到至少一个目标产品以及所述目标集群节点对应的目标部署模式;获取至少一个产品配置模板和所述目标集群节点的节点配置信息,所述至少一个产品配置模板与所述至少一个目标产品一一对应,所述产品配置模板用于指示目标产品与组件的对应关系;根据所述至少一个产品配置模板确定对应的目标组件集;根据所述目标部署方式和所述目标集群节点的节点配置信息,将所述目标组件集部署到所述目标集群节点,并在所述控制界面上展示部署结果。
可选的,在本发明第一方面的第一种实现方式中,所述对所述产品部署指令进行解析,得到至少一个目标产品以及所述目标集群节点对应的目标部署模式包括:对所述产品部署指令进行解析,得到产品标识信息和部署模式信息;根据所述产品标识信息确定至少一个目标产品;根据所述部署模式信息确定所述目标集群节点对应的目标部署模式为单机模式、主备模式或集群模式。
可选的,在本发明第一方面的第二种实现方式中,所述根据所述至少一个产品配置模板确定对应的目标组件集包括:确定所述至少一个产品配置模板中的每个产品配置模板对应的至少一个组件;将所述每个产品配置模板对应的至少一个组件合并为所述对应的目标组件集。
可选的,在本发明第一方面的第三种实现方式中,所述根据所述目标部署方式和所述目标集群节点的节点配置信息,将所述目标组件集部署到所述目标集群节点,并在所述控制界面上展示部署结果包括:根据所述目标部署方式确定所述目标集群节点对应的运行配置及部署脚本;根据所述目标集群节点的配置信息,创建目标节点的初始工作目录;基于所述运行配置及部署脚本将所述目标组件集对应的映射文件和初始化脚本导入所述初始工作目录中,执行所述初始化脚本,得到目标工作目录;根据所述目标工作目录将所述映射文件对应的组件镜像或本地组件部署到所述目标集群节点;在所述控制界面上展示所述目标组件集中每个组件的部署结果。
可选的,在本发明第一方面的第四种实现方式中,在所述响应于控制界面上的操作之前,产品可视化部署方法还包括:生成至少一个产品配置模板。
可选的,在本发明第一方面的第五种实现方式中,所述生成至少一个产品配置模板包括:获取至少一个目标产品与多个组件的对应关系;获取所述多个组件的基础信息,所述基础信息包括组件ID、组件名称、组件镜像和组件版本;根据所述对应关系和所述多个组件的基础信息生成至少一个产品配置模板。
可选的,在本发明第一方面的第六种实现方式中,在所述响应于控制界面上的操作之前,产品可视化部署方法还包括:创建所述目标集群节点,所述目标集群节点包括多个节点,所述节点满足所有组件的运行条件;设置所述目标集群节点在每种部署模式下对应的运行配置及部署脚本。
可选的,在本发明第一方面的第七种实现方式中,所述创建所述目标集群节点,所述目标集群节点包括多个节点,所述节点满足所有组件的运行条件包括:获取多个预置节点的基础信息,所述基础信息包括节点名称、IP地址、SSH端口和登录用户密码;根据所述多个预置节点的基础信息在多个预置节点中选取多个目标节点,将所述多个目标节点确定为所述目标集群节点。
可选的,在本发明第一方面的第八种实现方式中,所述设置所述目标集群节点在每种部署模式下对应的运行配置及部署脚本包括:当所述目标集群节点的目标部署模式为单机模式时,根据预设规则设置单机模式运行策略,生成与所述单机模式运行策略对应的运行配置及部署脚本;当所述目标集群节点的目标部署模式为主备模式时,设置主备模式运行策略,并生成与所述主备模式运行策略对应的运行配置及部署脚本,所述主备模式运行策略包括所述单机模式运行策略、同步策略和主备切换策略;当所述目标集群节点的目标部署模式为集群模式时,设置集群模式运行策略,并生成与所述集群模式运行策略对应的运行配置及部署脚本,所述集群模式运行策略包括所述单机模式运行策略、服务器的注册发现策略和服务器的分配策略。
本发明第二方面提供了一种产品可视化部署装置,包括:响应模块,用于响应于控制界面上的操作,生成产品部署指令,所述产品部署指令用于将至少一个目标产品部署到目标集群节点;解析模块,用于对所述产品部署指令进行解析,得到至少一个目标产品以及所述目标集群节点对应的目标部署模式;获取模块,用于获取至少一个产品配置模板和所述目标集群节点的节点配置信息,所述至少一个产品配置模板与所述至少一个目标产品一一对应,所述产品配置模板用于指示目标产品与组件的对应关系;确定模块,用于根据所述至少一个产品配置模板确定对应的目标组件集;部署展示模块,用于根据所述目标部署方式和所述目标集群节点的节点配置信息,将所述目标组件集部署到所述目标集群节点,并在所述控制界面上展示部署结果。
可选的,在本发明第二方面的第一种实现方式中,所述解析模块具体用于:对所述产品部署指令进行解析,得到产品标识信息和部署模式信息;根据所述产品标识信息确定至少一个目标产品;根据所述部署模式信息确定所述目标集群节点对应的目标部署模式为单机模式、主备模式或集群模式。
可选的,在本发明第二方面的第二种实现方式中,确定模块具体用于:确定所述至少一个产品配置模板中的每个产品配置模板对应的至少一个组件;将所述每个产品配置模板对应的至少一个组件合并为所述对应的目标组件集。
可选的,在本发明第二方面的第三种实现方式中,部署展示模块具体用于:根据所述目标部署方式确定所述目标集群节点对应的运行配置及部署脚本;根据所述目标集群节点的配置信息,创建目标节点的初始工作目录;基于所述运行配置及部署脚本将所述目标组件集对应的映射文件和初始化脚本导入所述初始工作目录中,执行所述初始化脚本,得到目标工作目录;根据所述目标工作目录将所述映射文件对应的组件镜像或本地组件部署到所述目标集群节点;在所述控制界面上展示所述目标组件集中每个组件的部署结果。
可选的,在本发明第二方面的第四种实现方式中,产品可视化部署装置还包括:配置生成模块,用于生成至少一个产品配置模板。
可选的,在本发明第二方面的第五种实现方式中,配置生成模块具体用于:获取至少一个目标产品与多个组件的对应关系;获取所述多个组件的基础信息,所述基础信息包括组件ID、组件名称、组件镜像和组件版本;根据所述对应关系和所述多个组件的基础信息生成至少一个产品配置模板。
可选的,在本发明第二方面的第六种实现方式中,产品可视化部署装置还包括:创建模块,用于创建所述目标集群节点,所述目标集群节点包括多个节点,所述节点满足所有组件的运行条件;设置模块,用于设置所述目标集群节点在每种部署模式下对应的运行配置及部署脚本。
可选的,在本发明第二方面的第七种实现方式中,创建模块具体用于:获取多个预置节点的基础信息,所述基础信息包括节点名称、IP地址、SSH端口和登录用户密码;根据所述多个预置节点的基础信息在多个预置节点中选取多个目标节点,将所述多个目标节点确定为所述目标集群节点。
可选的,在本发明第二方面的第八种实现方式中,设置模块具体用于:当所述目标集群节点的目标部署模式为单机模式时,根据预设规则设置单机模式运行策略,生成与所述单机模式运行策略对应的运行配置及部署脚本;当所述目标集群节点的目标部署模式为主备模式时,设置主备模式运行策略,并生成与所述主备模式运行策略对应的运行配置及部署脚本,所述主备模式运行策略包括所述单机模式运行策略、同步策略和主备切换策略;当所述目标集群节点的目标部署模式为集群模式时,设置集群模式运行策略,并生成与所述集群模式运行策略对应的运行配置及部署脚本,所述集群模式运行策略包括所述单机模式运行策略、服务器的注册发现策略和服务器的分配策略。
本发明第三方面提供了一种产品可视化部署系统,包括:多个节点和控制器,所述控制器包括存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述产品可视化部署系统执行上述的产品可视化部署方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的产品可视化部署方法。
本发明提供的技术方案中,响应于控制界面上的操作,生成产品部署指令,产品部署指令用于将至少一个目标产品部署到目标集群节点;对产品部署指令进行解析,得到至少一个目标产品以及目标集群节点对应的目标部署模式;获取至少一个产品配置模板和目标集群节点的节点配置信息,至少一个产品配置模板与至少一个目标产品一一对应,产品配置模板用于指示目标产品与组件的对应关系;根据至少一个产品配置模板确定对应的目标组件集;根据目标部署方式和目标集群节点的节点配置信息,将目标组件集部署到目标集群节点,并在控制界面上展示部署结果。本发明根据部署模式设置对应的运行配置和部署脚本,能够在不同模式中快速切换,提高产品部署的效率,降低错误率。
附图说明
图1为本发明中产品可视化部署方法的第一实施例示意图;
图2为本发明中产品可视化部署方法的第二实施例示意图;
图3为本发明中产品可视化部署方法的第三实施例示意图;
图4为本发明中产品可视化部署装置的一个实施例示意图;
图5为本发明中产品可视化部署装置的另一个实施例示意图;
图6为本发明中产品可视化部署系统的一个实施例示意图。
具体实施方式
本发明提供一种产品可视化部署方法、装置、系统及存储介质,用于提高产品的部署效率,降低错误率。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,可以理解的是,本发明的执行主体可以为产品可视化部署装置,还可以是服务器、终端或控制器,具体此处不做限定。本发明实施例以控制器为执行主体为例进行说明。
请参阅图1,本发明中产品可视化部署方法的第一实施例包括:
101、响应于控制界面上的操作,生成产品部署指令,产品部署指令用于将至少一个目标产品部署到目标集群节点;
当用户进行的操作为部署产品时,用户在显示屏上选择部署的节点、部署的产品和部署模式,控制器响应部署产品操作,生成产品部署指令,部署目标产品到目标集群节点中,选中的部署节点合并为目标集群节点,选中的部署产品为目标产品。其中,用户通过触摸或使用鼠标对显示屏中的对象进行操作,可以有多个可选操作,具体包括:输入组件的基础信息,输入节点的基础信息,定义产品与组件的关系以及部署产品;组件的基础信息,输入节点的基础信息,定义产品与组件的关系可以提前进行设置,也可以在需要生成产品部署指令时进行同步输入。例如,当用户进行的操作为输入组件的基础信息时,控制器响应于输入组件的基础信息操作,生成写入组件信息指令,写入组件的基础信息,组件的基础信息包括组件ID、组件名称、组件镜像和组件版本;当用户进行的操作为输入节点的基础信息时,控制器响应于输入节点的基础信息操作,生成写入节点信息指令,写入节点的基础信息,节点的基础信息包括节点名称、IP地址、SSH端口和登录用户密码;当用户进行的操作为定义产品与组件的关系时,控制器响应于定义产品与组件的关系操作,生成定义关系指令,绑定产品与组件,得到产品配置模板,每个产品对应一个产品配置模板,产品配置模板不仅记录产品与组件的关系还包含组件的基础信息。
基于部署产品操作,用户根据需要搭配上述的其他可选操作来实现将至少一个目标产品部署到目标集群节点的目的。
102、对产品部署指令进行解析,得到至少一个目标产品以及目标集群节点对应的目标部署模式;
其中,控制器将产品部署指令分解,得到其中的产品信息和部署模式信息。产品信息称为产品标识信息,产品标识信息指示至少一个目标产品,用来查找与产品对应的产品配置模板;
部署模式信息用来确定目标集群节点的部署模式,部署模式为单机模式、主备模式或集群模式,单机模式应用在一些功能相对简单的系统,所有组件只需要部署在一台服务器,主备模式应用于一些需要应急场景的系统,当主服务器挂机时备服务器替代主服务器起作用,当主服务器正常工作时备服务器的主要任务是同步数据,集群模式应用于对稳定性和性能要求较高的系统,每个服务或组件运行在多个服务器上同时提供服务。
103、获取至少一个产品配置模板和目标集群节点的节点配置信息,至少一个产品配置模板与至少一个目标产品一一对应,产品配置模板用于指示目标产品与组件的对应关系;
其中,控制器根据从产品部署指令中分解得到的产品标识信息,查找与产品标识信息对应的产品配置模板,产品标识信息指示至少一个目标产品,得到至少一个产品配置模板。
具体的,当查找不到与产品标识信息对应的产品配置模板时,用户进行定义产品与组件的关系操作,控制器响应于定义产品与组件的关系操作,生成定义关系指令,得到与产品标识信息对应的产品配置模板;
当查找不到与产品标识信息对应的产品配置模板且组件不存在于产品可视化部署装置中时,用户进行输入组件的基础信息操作,控制器响应于输入组件的基础信息操作,生成写入组件信息指令,写入组件的基础信息,用户再进行定义产品与组件的关系操作,控制器响应于定义产品与组件的关系操作,生成定义关系指令,得到与产品标识信息对应的产品配置模板。
将产品部署指令分解,得到选中的节点信息,选中的节点合并为目标集群节点,根据目标集群节点的信息获得目标集群节点的节点配置信息。
104、根据至少一个产品配置模板确定对应的目标组件集;
其中,控制器根据产品标识信息读取每个目标产品对应的产品配置模板,产品配置模板不仅记录产品与组件的关系还包含组件的基础信息,识别每个目标产品对应的组件,将所有目标产品对应的组件合并,得到目标组件集。
105、根据目标部署方式和目标集群节点的节点配置信息,将目标组件集部署到目标集群节点,并在控制界面上展示部署结果。
其中,控制器根据目标部署方式确定目标集群节点对应的运行配置及部署脚本,根据目标集群节点的配置信息,创建目标节点的初始工作目录,基于运行配置及部署脚本将目标组件集对应的映射文件和初始化脚本导入初始工作目录中,执行初始化脚本得到目标工作目录,根据目标工作目录将映射文件对应的组件镜像或本地组件部署到目标集群节点,在控制界面上展示目标组件集中每个组件的部署结果。
本发明实施例中,根据部署模式设置对应的运行配置和部署脚本,能够在不同模式中快速切换,提高产品部署的效率,降低错误率。
请参阅图2,本发明中产品可视化部署方法的第二实施例包括:
201、获取至少一个目标产品与多个组件的对应关系;
其中,用户进行定义产品与组件的关系操作,为每个产品绑定产品有效运行时需要的所有组件,组件可以是多个产品共享的资源,在一个集群上部署多个产品时组件可以同时提供服务给多个产品,一个产品可以对应多个组件,一个组件可以对应多个产品。
当产品有效运行时需要的组件不存在于产品可视化部署装置中时,用户进行输入组件的基础信息操作,控制器响应于输入组件的基础信息操作,生成写入组件信息指令,写入组件的基础信息,用户再进行定义产品与组件的关系操作,为产品绑定产品有效运行时需要的所有组件;读取每个目标产品与绑定的组件,得到至少一个目标产品与多个组件的对应关系。
202、获取多个组件的基础信息,基础信息包括组件ID、组件名称、组件镜像和组件版本;
其中,用户进行输入组件的基础信息操作,控制器响应于输入组件的基础信息操作,生成写入组件信息指令,写入组件的基础信息,组件的基础信息包括组件ID、组件名称、组件镜像和组件版本,组件可以按功能类型进行分类,如基础组件类、业务组件类等,组件可以是在远程镜像仓库或服务器本地文件,分别用于在线部署和离线部署,读取目标产品对应的组件的基础信息,得到多个组件的基础信息。
203、根据对应关系和多个组件的基础信息生成至少一个产品配置模板。
其中,控制器响应于定义产品与组件的关系操作,根据目标产品与组件的对应关系及组件的基础信息,生成与目标产品对应的产品配置模板,一个目标产品对应一个产品配置模板,至少一个目标产品对应至少一个产品配置模板,产品配置模板不仅记录产品与组件的关系还包含组件的基础信息。
204、创建目标集群节点,目标集群节点包括多个节点,节点满足所有组件的运行条件;
其中,先准备好需要部署产品的一台或多台已具备运行所有组件条件的容器服务器,一台服务器在本发明实施例中称为一个节点,用户进行输入节点的基础信息操作,控制器响应于输入节点的基础信息操作,生成写入节点信息指令,写入节点的基础信息,节点的基础信息包括节点名称、IP地址、SSH端口和登录用户密码,用户进行部署产品操作时,选中的部署节点合并为目标集群节点。
205、设置目标集群节点在每种部署模式下对应的运行配置及部署脚本。
其中,用户进行部署产品操作时,可选择的部署方式有三种:单机模式、主备模式和集群模式,每次部署时用户为目标集群节点选择其中一种作为目标部署模式,控制器响应部署产品操作,生成产品部署指令,根据产品部署指令中的部署模式信息生成相应的运行配置及部署脚本。
当目标部署模式为单机模式时,根据预设规则设置单机模式运行策略,生成与单机模式运行策略对应的运行配置及部署脚本;
当目标部署模式为主备模式时,设置主备模式运行策略,并生成与主备模式运行策略对应的运行配置及部署脚本,主备模式运行策略包括单机模式运行策略、同步策略和主备切换策略;
当目标部署模式为集群模式时,设置集群模式运行策略,并生成与集群模式运行策略对应的运行配置及部署脚本,集群模式运行策略包括单机模式运行策略、服务器的注册发现策略和服务器的分配策略。
206、响应于控制界面上的操作,生成产品部署指令,产品部署指令用于将至少一个目标产品部署到目标集群节点;
当用户进行的操作为部署产品时,用户在显示屏上选择部署的节点、部署的产品和部署模式,控制器响应部署产品操作,生成产品部署指令,部署目标产品到目标集群节点中,选中的部署节点合并为目标集群节点,选中的部署产品为目标产品。其中,用户通过触摸或使用鼠标对显示屏中的对象进行操作,可以有多个可选操作,具体包括:输入组件的基础信息,输入节点的基础信息,定义产品与组件的关系以及部署产品;组件的基础信息,输入节点的基础信息,定义产品与组件的关系可以提前进行设置,也可以在需要生成产品部署指令时进行同步输入。例如,当用户进行的操作为输入组件的基础信息时,控制器响应于输入组件的基础信息操作,生成写入组件信息指令,写入组件的基础信息,组件的基础信息包括组件ID、组件名称、组件镜像和组件版本;当用户进行的操作为输入节点的基础信息时,控制器响应于输入节点的基础信息操作,生成写入节点信息指令,写入节点的基础信息,节点的基础信息包括节点名称、IP地址、SSH端口和登录用户密码;当用户进行的操作为定义产品与组件的关系时,控制器响应于定义产品与组件的关系操作,生成定义关系指令,绑定产品与组件,得到产品配置模板,每个产品对应一个产品配置模板,产品配置模板不仅记录产品与组件的关系还包含组件的基础信息。
基于部署产品操作,用户根据需要搭配上述的其他可选操作来实现将至少一个目标产品部署到目标集群节点的目的。
207、对产品部署指令进行解析,得到至少一个目标产品以及目标集群节点对应的目标部署模式;
其中,控制器将产品部署指令分解,得到其中的产品信息和部署模式信息。产品信息称为产品标识信息,产品标识信息指示至少一个目标产品,用来查找与产品对应的产品配置模板;
部署模式信息用来确定目标集群节点的部署模式,部署模式为单机模式、主备模式或集群模式,单机模式应用在一些功能相对简单的系统,所有组件只需要部署在一台服务器,主备模式应用于一些需要应急场景的系统,当主服务器挂机时备服务器替代主服务器起作用,当主服务器正常工作时备服务器的主要任务是同步数据,集群模式应用于对稳定性和性能要求较高的系统,每个服务或组件运行在多个服务器上同时提供服务。
208、获取至少一个产品配置模板和目标集群节点的节点配置信息,至少一个产品配置模板与至少一个目标产品一一对应,产品配置模板用于指示目标产品与组件的对应关系;
其中,控制器根据从产品部署指令中分解得到的产品标识信息,查找与产品标识信息对应的产品配置模板,产品标识信息指示至少一个目标产品,得到至少一个产品配置模板。
具体的,当查找不到与产品标识信息对应的产品配置模板时,用户进行定义产品与组件的关系操作,控制器响应于定义产品与组件的关系操作,生成定义关系指令,得到与产品标识信息对应的产品配置模板;
当查找不到与产品标识信息对应的产品配置模板且组件不存在于产品可视化部署装置中时,用户进行输入组件的基础信息操作,控制器响应于输入组件的基础信息操作,生成写入组件信息指令,写入组件的基础信息,用户再进行定义产品与组件的关系操作,控制器响应于定义产品与组件的关系操作,生成定义关系指令,得到与产品标识信息对应的产品配置模板。
将产品部署指令分解,得到选中的节点信息,选中的节点合并为目标集群节点,根据目标集群节点的信息获得目标集群节点的节点配置信息。
209、根据至少一个产品配置模板确定对应的目标组件集;
其中,控制器根据产品标识信息读取每个目标产品对应的产品配置模板,产品配置模板不仅记录产品与组件的关系还包含组件的基础信息,识别每个目标产品对应的组件,将所有目标产品对应的组件合并,得到目标组件集。
210、根据目标部署方式和目标集群节点的节点配置信息,将目标组件集部署到目标集群节点,并在控制界面上展示部署结果。
其中,控制器根据目标部署方式确定目标集群节点对应的运行配置及部署脚本,根据目标集群节点的配置信息,创建目标节点的初始工作目录,基于运行配置及部署脚本将目标组件集对应的映射文件和初始化脚本导入初始工作目录中,执行初始化脚本得到目标工作目录,根据目标工作目录将映射文件对应的组件镜像或本地组件部署到目标集群节点,在控制界面上展示目标组件集中每个组件的部署结果。
本发明实施例中,通过定义产品与组件的关系,单元化组件基本信息,为多种部署模式设置对应的节点集群运行策略,自动生成与策略对应的运行配置及部署脚本的方式,能够满足多种模式下的快速切换部署需求,提高了产品部署的效率,降低了错误率。
请参阅图3,本发明中产品可视化部署方法的第三实施例包括:
301、响应于控制界面上的操作,生成产品部署指令,产品部署指令用于将至少一个目标产品部署到目标集群节点;
当用户进行的操作为部署产品时,用户在显示屏上选择部署的节点、部署的产品和部署模式,控制器响应部署产品操作,生成产品部署指令,部署目标产品到目标集群节点中,选中的部署节点合并为目标集群节点,选中的部署产品为目标产品。其中,用户通过触摸或使用鼠标对显示屏中的对象进行操作,可以有多个可选操作,具体包括:输入组件的基础信息,输入节点的基础信息,定义产品与组件的关系以及部署产品;组件的基础信息,输入节点的基础信息,定义产品与组件的关系可以提前进行设置,也可以在需要生成产品部署指令时进行同步输入。例如,当用户进行的操作为输入组件的基础信息时,控制器响应于输入组件的基础信息操作,生成写入组件信息指令,写入组件的基础信息,组件的基础信息包括组件ID、组件名称、组件镜像和组件版本;当用户进行的操作为输入节点的基础信息时,控制器响应于输入节点的基础信息操作,生成写入节点信息指令,写入节点的基础信息,节点的基础信息包括节点名称、IP地址、SSH端口和登录用户密码;当用户进行的操作为定义产品与组件的关系时,控制器响应于定义产品与组件的关系操作,生成定义关系指令,绑定产品与组件,得到产品配置模板,每个产品对应一个产品配置模板,产品配置模板不仅记录产品与组件的关系还包含组件的基础信息。
基于部署产品操作,用户根据需要搭配上述的其他可选操作来实现将至少一个目标产品部署到目标集群节点的目的。
302、对产品部署指令进行解析,得到至少一个目标产品以及目标集群节点对应的目标部署模式;
其中,控制器将产品部署指令分解,得到其中的产品信息和部署模式信息。产品信息称为产品标识信息,产品标识信息指示至少一个目标产品,用来查找与产品对应的产品配置模板;
部署模式信息用来确定目标集群节点的部署模式,部署模式为单机模式、主备模式或集群模式,单机模式应用在一些功能相对简单的系统,所有组件只需要部署在一台服务器,主备模式应用于一些需要应急场景的系统,当主服务器挂机时备服务器替代主服务器起作用,当主服务器正常工作时备服务器的主要任务是同步数据,集群模式应用于对稳定性和性能要求较高的系统,每个服务或组件运行在多个服务器上同时提供服务。
303、获取至少一个产品配置模板和目标集群节点的节点配置信息,至少一个产品配置模板与至少一个目标产品一一对应,产品配置模板用于指示目标产品与组件的对应关系;
其中,控制器根据从产品部署指令中分解得到的产品标识信息,查找与产品标识信息对应的产品配置模板,产品标识信息指示至少一个目标产品,得到至少一个产品配置模板。
具体的,当查找不到与产品标识信息对应的产品配置模板时,用户进行定义产品与组件的关系操作,控制器响应于定义产品与组件的关系操作,生成定义关系指令,得到与产品标识信息对应的产品配置模板;
当查找不到与产品标识信息对应的产品配置模板且组件不存在于产品可视化部署装置中时,用户进行输入组件的基础信息操作,控制器响应于输入组件的基础信息操作,生成写入组件信息指令,写入组件的基础信息,用户再进行定义产品与组件的关系操作,控制器响应于定义产品与组件的关系操作,生成定义关系指令,得到与产品标识信息对应的产品配置模板。
将产品部署指令分解,得到选中的节点信息,选中的节点合并为目标集群节点,根据目标集群节点的信息获得目标集群节点的节点配置信息。
304、根据至少一个产品配置模板确定对应的目标组件集;
其中,控制器根据产品标识信息读取每个目标产品对应的产品配置模板,产品配置模板不仅记录产品与组件的关系还包含组件的基础信息,识别每个目标产品对应的组件,将所有目标产品对应的组件合并,得到目标组件集。
305、根据目标部署方式确定目标集群节点对应的运行配置及部署脚本;
控制器根据目标部署方式确定目标集群节点对应的运行配置及部署脚本,其中,运行部署脚本用于创建目标节点的运行环境。
306、根据目标集群节点的配置信息,创建目标节点的初始工作目录;
其中,控制器根据目标集群节点的配置信息,创建目标节点的初始工作目录,具体包括以下步骤:
1、控制器根据产品配置模板获取文件路径构造器,通过文件路径构造器得到组件的配置信息和目标路径,解析配置信息和目标路径并将解析结果存储到配置结构体中,同时对配置结构体中的工作目录挂载信息和主机节点约束信息进行参数替换。将参数替换后的配置结构体序列化为特定的文件结构,往特定的文件结构里写入组件目标路径的配置,再将特定的文件结构进行反序列化,根据预定规则解析出组件占用的地址信息,并将组件占用的地址信息写入配置结构体中。
2、控制器创建集群和组件启动任务,将启动任务交给调度器,调度器判断启动任务类型,过滤无效启动任务,同时调度器加锁,尝试将启动任务投入缓冲队列。如果超时,则说明缓冲队列已满,返回错误;如果成功将启动任务投入缓冲队列,记录该集群任务的唯一标识,标识由集群ID与组件ID构成。调度器从缓存队列中将启动任务读取出来,向任务并发控制Channel添加一条相关数据,创建一个协程处理该启动任务,调度器根据组件类型从组件工厂容器中获取不同的组件任务执行器工厂,通过任务执行器工厂创建对应的组件任务执行器,并将任务信息传入组件任务执行器。组件任务执行器根据目标集群的模式调用该组件不同模式下的启动方式,启动过程主要是读取在各种模式下对应的运行配置和部署脚本。相对单机模式,主备模式还包含了主备服务器同步配置策略、主备切换策略,集群模式还包含所有服务器的注册发现策略和分配策略。
3、控制器获取配置结构体里的组件配置信息,确认目标节点的部署模式创建状态和连接方式,若未创建则读取用户对节点的配置信息,若已经创建则根据部署脚本创建节点的运行环境,在目标节点上创建初始工作目录。
307、基于运行配置及部署脚本将目标组件集对应的映射文件和初始化脚本导入初始工作目录中,执行初始化脚本,得到目标工作目录;
控制器基于运行配置及部署脚本将目标组件集对应的映射文件和初始化脚本导入初始工作目录中,执行初始化脚本,得到目标工作目录。其中,映射文件用于反映对应的组件镜像或本地组件。
308、根据目标工作目录将映射文件对应的组件镜像或本地组件部署到目标集群节点;
其中,获取配置结构体中的工作挂载目录,若目标节点没有文件,则创建文件夹并将映射文件对应的组件镜像或本地组件发送至目标节点,部署完成后添加节点端口占用信息。
309、在控制界面上展示目标组件集中每个组件的部署结果。
其中,控制器根据部署文件启动组件服务,在调度器加锁,从任务并发控制Channel中删除该任务,对所有没有捕获的错误进行统一处理,通过WebSocket通知部署工具在显示屏上展示部署结果。
本发明实施例中,控制器根据用户设定的产品与组件的关系以及节点集群模式自动调用组件在对应部署模式下的启动方式,读取对应部署模式下的运行配置和部署脚本,基于运行配置和部署脚本将组件部署到节点上,自动检测并反馈部署结果,实现产品部署的目的,能够满足多种模式快速切换部署,提高产品部署的效率,降低错误率。
请参阅图4,本发明中产品可视化部署装置的一个实施例包括:
响应模块401,用于响应于控制界面上的操作,生成产品部署指令,所述产品部署指令用于将至少一个目标产品部署到目标集群节点;
解析模块402,用于对所述产品部署指令进行解析,得到至少一个目标产品以及所述目标集群节点对应的目标部署模式;
获取模块403,用于获取至少一个产品配置模板和所述目标集群节点的节点配置信息,所述至少一个产品配置模板与所述至少一个目标产品一一对应,所述产品配置模板用于指示目标产品与组件的对应关系;
确定模块404,用于根据所述至少一个产品配置模板确定对应的目标组件集;
部署展示模块405,用于根据所述目标部署方式和所述目标集群节点的节点配置信息,将所述目标组件集部署到所述目标集群节点,并在所述控制界面上展示部署结果。
本发明实施例中,通过基于产品与组件之间的联系建立产品配置模板、在不同部署模式下设置对应的运行配置和部署脚本的方式,提供在多种模式中切换并简单高效地集成产品和部署产品的方案,提高产品部署的效率,降低错误率。
请参阅图5,本发明中产品可视化部署装置的另一个实施例包括:
响应模块401,用于响应于控制界面上的操作,生成产品部署指令,所述产品部署指令用于将至少一个目标产品部署到目标集群节点;
解析模块402,用于对所述产品部署指令进行解析,得到至少一个目标产品以及所述目标集群节点对应的目标部署模式;
获取模块403,用于获取至少一个产品配置模板和所述目标集群节点的节点配置信息,所述至少一个产品配置模板与所述至少一个目标产品一一对应,所述产品配置模板用于指示目标产品与组件的对应关系;
确定模块404,用于根据所述至少一个产品配置模板确定对应的目标组件集;
部署展示模块405,用于根据所述目标部署方式和所述目标集群节点的节点配置信息,将所述目标组件集部署到所述目标集群节点,并在所述控制界面上展示部署结果。
可选的,所述解析模块402具体用于:
对所述产品部署指令进行解析,得到产品标识信息和部署模式信息;
根据所述产品标识信息确定至少一个目标产品;
根据所述部署模式信息确定所述目标集群节点对应的目标部署模式为单机模式、主备模式或集群模式。
可选的,确定模块404具体用于:
确定所述至少一个产品配置模板中的每个产品配置模板对应的至少一个组件;将所述每个产品配置模板对应的至少一个组件合并为所述对应的目标组件集。
可选的,部署展示模块405具体用于:
根据所述目标部署方式确定所述目标集群节点对应的运行配置及部署脚本;
根据所述目标集群节点的配置信息,创建所述目标节点的初始工作目录;
基于所述运行配置及部署脚本将所述目标组件集对应的映射文件和初始化脚本导入所述初始工作目录中,执行所述初始化脚本,得到目标工作目录;
根据所述目标工作目录将所述映射文件对应的组件镜像或本地组件部署到所述目标集群节点;
在所述控制界面上展示所述目标组件集中每个组件的部署结果。
可选的,产品可视化部署装置还包括:
配置生成模块406,用于生成至少一个产品配置模板。
可选的,配置生成模块406具体用于:
获取至少一个目标产品与多个组件的对应关系;
获取所述多个组件的基础信息,所述基础信息包括组件ID、组件名称、组件镜像和组件版本;
根据所述对应关系和所述多个组件的基础信息生成至少一个产品配置模板。
可选的,产品可视化部署装置还包括:
创建模块407,用于创建所述目标集群节点,所述目标集群节点包括多个节点,所述节点满足所有组件的运行条件;
设置模块408,用于设置所述目标集群节点在每种部署模式下对应的运行配置及部署脚本。
可选的,创建模块407具体用于:
获取多个预置节点的基础信息,所述基础信息包括节点名称、IP地址、SSH端口和登录用户密码;
根据所述多个预置节点的基础信息在多个预置节点中选取多个目标节点,将所述多个目标节点确定为所述目标集群节点。
可选的,设置模块408具体用于:
当所述目标集群节点的目标部署模式为单机模式时,根据预设规则设置单机模式运行策略,生成与所述单机模式运行策略对应的运行配置及部署脚本;
当所述目标集群节点的目标部署模式为主备模式时,设置主备模式运行策略,并生成与所述主备模式运行策略对应的运行配置及部署脚本,所述主备模式运行策略包括所述单机模式运行策略、同步策略和主备切换策略;
当所述目标集群节点的目标部署模式为集群模式时,设置集群模式运行策略,并生成与所述集群模式运行策略对应的运行配置及部署脚本,所述集群模式运行策略包括所述单机模式运行策略、服务器的注册发现策略和服务器的分配策略。
本发明实施例中,定义产品与组件的关系,单元化组件基本信息,为多种部署模式设置对应的节点集群运行策略,自动生成与策略对应的运行配置及部署脚本的方式,能够满足多种模式快速切换部署,提高产品部署的效率,降低错误率。
本发明还提供一种产品可视化部署系统,请参考图6,所述产品可视化部署系统包括:多个节点和控制器,所述控制器包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述产品可视化部署方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述品可视化部署方法的步骤。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种产品可视化部署方法,其特征在于,包括:
响应于控制界面上的操作,生成产品部署指令,所述产品部署指令用于将至少一个目标产品部署到目标集群节点;
对所述产品部署指令进行解析,得到至少一个目标产品以及所述目标集群节点对应的目标部署模式;
获取至少一个产品配置模板和所述目标集群节点的节点配置信息,所述至少一个产品配置模板与所述至少一个目标产品一一对应,所述产品配置模板用于指示目标产品与组件的对应关系;
根据所述至少一个产品配置模板确定对应的目标组件集;
根据所述目标部署方式和所述目标集群节点的节点配置信息,将所述目标组件集部署到所述目标集群节点,并在所述控制界面上展示部署结果。
2.根据权利要求1所述的产品可视化部署方法,其特征在于,所述对所述产品部署指令进行解析,得到至少一个目标产品以及所述目标集群节点对应的目标部署模式,包括:
对所述产品部署指令进行解析,得到产品标识信息和部署模式信息;
根据所述产品标识信息确定至少一个目标产品;
根据所述部署模式信息确定所述目标集群节点对应的目标部署模式为单机模式、主备模式或集群模式。
3.根据权利要求1所述的产品可视化部署方法,其特征在于,所述根据所述至少一个产品配置模板确定对应的目标组件集,包括:
确定所述至少一个产品配置模板中的每个产品配置模板对应的至少一个组件;
将所述每个产品配置模板对应的至少一个组件合并为所述对应的目标组件集。
4.根据权利要求1所述的产品可视化部署方法,其特征在于,所述根据所述目标部署方式和所述目标集群节点的节点配置信息,将所述目标组件集部署到所述目标集群节点,并在所述控制界面上展示部署结果,包括:
根据所述目标部署方式确定所述目标集群节点对应的运行配置及部署脚本;
根据所述目标集群节点的配置信息,创建目标节点的初始工作目录;
基于所述运行配置及部署脚本将所述目标组件集对应的映射文件和初始化脚本导入所述初始工作目录中,执行所述初始化脚本,得到目标工作目录;
根据所述目标工作目录将所述映射文件对应的组件镜像或本地组件部署到所述目标集群节点;
在所述控制界面上展示所述目标组件集中每个组件的部署结果。
5.根据权利要求1-4中任意一项所述的产品可视化部署方法,其特征在于,在所述响应于控制界面上的操作之前,所述产品可视化部署方法还包括:
生成至少一个产品配置模板。
6.根据权利要求5所述的产品可视化部署方法,其特征在于,所述生成至少一个产品配置模板,包括:
获取至少一个目标产品与多个组件的对应关系;
获取所述多个组件的基础信息,所述基础信息包括组件ID、组件名称、组件镜像和组件版本;
根据所述对应关系和所述多个组件的基础信息生成至少一个产品配置模板。
7.根据权利要求1-4中任意一项所述的产品可视化部署方法,其特征在于,在所述响应于控制界面上的操作之前,所述产品可视化部署方法还包括:
创建所述目标集群节点,所述目标集群节点包括多个节点,所述节点满足所有组件的运行条件;
设置所述目标集群节点在每种部署模式下对应的运行配置及部署脚本。
8.根据权利要求7所述的产品可视化部署方法,其特征在于,所述创建所述目标集群节点,所述目标集群节点包括多个节点,所述节点满足所有组件的运行条件,包括:
获取多个预置节点的基础信息,所述基础信息包括节点名称、IP地址、SSH端口和登录用户密码;
根据所述多个预置节点的基础信息在多个预置节点中选取多个目标节点,将所述多个目标节点确定为所述目标集群节点。
9.根据权利要求7所述的产品可视化部署方法,其特征在于,所述设置所述目标集群节点在每种部署模式下对应的运行配置及部署脚本,包括:
当所述目标集群节点的目标部署模式为单机模式时,根据预设规则设置单机模式运行策略,生成与所述单机模式运行策略对应的运行配置及部署脚本;
当所述目标集群节点的目标部署模式为主备模式时,设置主备模式运行策略,并生成与所述主备模式运行策略对应的运行配置及部署脚本,所述主备模式运行策略包括所述单机模式运行策略、同步策略和主备切换策略;
当所述目标集群节点的目标部署模式为集群模式时,设置集群模式运行策略,并生成与所述集群模式运行策略对应的运行配置及部署脚本,所述集群模式运行策略包括所述单机模式运行策略、服务器的注册发现策略和服务器的分配策略。
10.一种产品可视化部署装置,其特征在于,包括:
响应模块,用于响应于控制界面上的操作,生成产品部署指令,所述产品部署指令用于将至少一个目标产品部署到目标集群节点;
解析模块,用于对所述产品部署指令进行解析,得到至少一个目标产品以及所述目标集群节点对应的目标部署模式;
获取模块,用于获取至少一个产品配置模板和所述目标集群节点的节点配置信息,所述至少一个产品配置模板与所述至少一个目标产品一一对应,所述产品配置模板用于指示目标产品与组件的对应关系;
确定模块,用于根据所述至少一个产品配置模板确定对应的目标组件集;
部署展示模块,用于根据所述目标部署方式和所述目标集群节点的节点配置信息,将所述目标组件集部署到所述目标集群节点,并在所述控制界面上展示部署结果。
11.一种产品可视化部署系统,其特征在于,所述产品可视化部署系统包括:多个节点和控制器,所述控制器包括存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述产品可视化部署系统执行如权利要求1-9中任意一项所述的产品可视化部署方法。
12.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被计算机执行时实现如权利要求1-9中任一项所述产品可视化部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210184967.4A CN114610334A (zh) | 2022-02-28 | 2022-02-28 | 产品可视化部署方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210184967.4A CN114610334A (zh) | 2022-02-28 | 2022-02-28 | 产品可视化部署方法、装置、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114610334A true CN114610334A (zh) | 2022-06-10 |
Family
ID=81858515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210184967.4A Pending CN114610334A (zh) | 2022-02-28 | 2022-02-28 | 产品可视化部署方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610334A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396437A (zh) * | 2022-08-24 | 2022-11-25 | 中电金信软件有限公司 | 一种集群搭建方法、装置、电子设备及存储介质 |
CN116909582A (zh) * | 2023-09-13 | 2023-10-20 | 云账户技术(天津)有限公司 | 一种可视化大屏业务部署方法、装置及电子设备 |
-
2022
- 2022-02-28 CN CN202210184967.4A patent/CN114610334A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396437A (zh) * | 2022-08-24 | 2022-11-25 | 中电金信软件有限公司 | 一种集群搭建方法、装置、电子设备及存储介质 |
CN116909582A (zh) * | 2023-09-13 | 2023-10-20 | 云账户技术(天津)有限公司 | 一种可视化大屏业务部署方法、装置及电子设备 |
CN116909582B (zh) * | 2023-09-13 | 2024-01-30 | 云账户技术(天津)有限公司 | 一种可视化大屏业务部署方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107515776B (zh) | 业务不间断升级方法、待升级节点和可读存储介质 | |
US8104043B2 (en) | System and method for dynamic cooperative distributed execution of computer tasks without a centralized controller | |
CN114610334A (zh) | 产品可视化部署方法、装置、系统及存储介质 | |
US8438418B2 (en) | Simplifying automated software maintenance of data centers | |
US20080148231A1 (en) | Computer-implemented system for analysis, administration, control, management and monitoring of a complex hardware/software architecture | |
JP2000200300A (ja) | プロジェクト管理統合システムおよび方法 | |
US11456914B2 (en) | Implementing affinity and anti-affinity with KUBERNETES | |
CN112860479A (zh) | 存储数据的方法及云数据中心 | |
CN109933338B (zh) | 区块链部署方法、装置、计算机设备和存储介质 | |
JP2013080275A (ja) | 設定制御装置、設定制御方法および設定制御プログラム | |
US11271895B1 (en) | Implementing advanced networking capabilities using helm charts | |
CN116610332A (zh) | 云存储部署方法、装置和可读存储介质 | |
CN102355499A (zh) | 云计算系统 | |
CN114661375A (zh) | 应用集成方法及装置 | |
US20130263143A1 (en) | Information processing method and system | |
CN111339055B (zh) | 大数据集群扩容方法及装置 | |
CN112214551A (zh) | 数据同步方法、系统、装置、电子设备、存储介质 | |
CN114443294B (zh) | 大数据服务组件部署方法、系统、终端及存储介质 | |
CN115469807A (zh) | 磁盘功能配置方法、装置、设备及存储介质 | |
CN115118587A (zh) | 一种创建连接器的方法及装置 | |
CN111866137B (zh) | 数据采集动态控制方法和装置、电子设备和介质 | |
CN114327770A (zh) | 容器集群管理系统及方法 | |
CN113296847A (zh) | 一种基于自解析节点的工作流引擎的实现方法 | |
CN113672334A (zh) | 一种容器管理方法及装置 | |
CN112434013A (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 |