CN106126283B - 一种产品部署的方法、装置及系统 - Google Patents

一种产品部署的方法、装置及系统 Download PDF

Info

Publication number
CN106126283B
CN106126283B CN201610451077.XA CN201610451077A CN106126283B CN 106126283 B CN106126283 B CN 106126283B CN 201610451077 A CN201610451077 A CN 201610451077A CN 106126283 B CN106126283 B CN 106126283B
Authority
CN
China
Prior art keywords
component
node
script
monitoring
worker
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.)
Active
Application number
CN201610451077.XA
Other languages
English (en)
Other versions
CN106126283A (zh
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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201610451077.XA priority Critical patent/CN106126283B/zh
Publication of CN106126283A publication Critical patent/CN106126283A/zh
Application granted granted Critical
Publication of CN106126283B publication Critical patent/CN106126283B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

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

Abstract

本发明提供了一种产品部署的方法、装置及系统,该方法包括:Proxy节点确定内置有产品部署所需的服务包、脚本和至少一个组件的镜像;利用镜像中的服务包和至少一个组件以安装操作系统;基于安装的操作系统,通过运行脚本,安装Proxy节点对应的组件,以及控制连接的监控节点安装该监控节点对应的组件,控制每一个连接的worker节点安装该worker节点对应的组件。Proxy节点利用定制化镜像以安装操作系统,并通过运行脚本以分别在Proxy节点、监控节点、worker节点安装各节点对应的组件,从而自动化部署产品。因此,本方案能够进行产品的自动化部署。

Description

一种产品部署的方法、装置及系统
技术领域
本发明涉及计算机技术领域,特别涉及一种产品部署的方法、装置及系统。
背景技术
一个成熟的产品通常由多个不同的功能模块构成。随着用户需求的日益增多,功能实现中也引入更多的组件。
现有的产品部署方案往往偏重手动部署,以完成各组件独立拷贝安装,参数配置的修改等。
可以看出,现有的实现方式不能进行产品的自动化部署。
发明内容
本发明提供了一种产品部署的方法、装置及系统,能够进行产品的自动化部署。
为了达到上述目的,本发明是通过如下技术方案实现的:
第一方面,本发明提供了一种产品部署的方法,应用于Proxy(代理)节点,所述Proxy节点分别与监控节点和至少一个worker节点相连,包括:
S1:确定系统镜像,且所述系统镜像中内置有产品部署所需的服务包、脚本和至少一个组件;
S2:利用所述系统镜像中的服务包和至少一个组件,安装操作系统;
S3:基于所述操作系统,通过运行所述脚本,安装所述Proxy节点对应的组件,以及控制所述监控节点安装所述监控节点对应的组件,控制每一个所述worker节点安装所述worker节点对应的组件。
进一步地,所述至少一个组件包括:所述Proxy节点对应的Yum源组件,且所述Yum源组件中配置有所述服务包;
在S2中,安装的所述操作系统包括:所述至少一个组件中的每一个组件对应的安装包;
在S2之后,进一步包括:确定配置文件,且所述配置文件中包括所述Proxy节点的配置信息、所述监控节点的配置信息和每一个所述worker节点的配置信息;
所述S3包括:基于所述操作系统,通过运行所述脚本,配置所述Yum源组件的包括所述Proxy节点的IP地址的URL(Uniform Resoure Locator,统一资源定位器)地址,在所述Proxy节点、所述监控节点和每一个所述worker节点上分别配置统一的hosts文件,配置所述Proxy节点、所述监控节点和每一个所述worker节点之间互信,以初始化程序;基于所述初始化的程序和根据所述操作系统中的安装包,分别根据所述Proxy节点的配置信息,安装所述Proxy节点对应的组件,根据所述监控节点的配置信息,控制所述监控节点安装所述监控对应的组件,根据每一个所述worker节点的配置信息,控制每一个所述worker节点安装所述worker节点对应的组件。
进一步地,所述配置信息,包括:IP地址,或,IP地址和域名。
进一步地,所述至少一个组件包括:所述Proxy节点对应的HaProxy组件、NFS(Network File System,网络文件系统)组件、Mycat组件和Yum源组件;所述监控节点对应的Ceilometer组件、KeyStone组件和MongoDB组件;所述worker节点对应的IOP(I/OProcessor,输入输出处理器)-Web组件、RabbitMQ组件、MariaDB组件和Swift组件。
进一步地,所述S3中,所述通过运行所述脚本,安装所述Proxy节点对应的组件包括:通过运行所述脚本中的与所述Proxy节点对应的子脚本,依次安装所述NFS组件、所述HaProxy组件、所述Mycat组件和所述Yum源组件;针对在所述Proxy节点上安装的每一个组件,重置其对应的配置文件;
所述通过运行所述脚本,控制所述监控节点安装所述监控对应的组件包括:通过运行所述脚本中的与所述监控节点对应的子脚本,依次安装所述KeyStone组件、所述MongoDB组件和所述Ceilometer组件;针对在所述监控节点上安装的每一个组件,重置其对应的配置文件;
所述通过运行所述脚本,控制每一个所述worker节点安装所述worker节点对应的组件包括:通过运行所述脚本中的与所述worker节点对应的子脚本,依次安装所述MariaDB组件、所述RabbitMQ组件、所述IOP-Web组件和所述Swift组件;针对在所述worker节点上安装的每一个组件,重置其对应的配置文件。
另一方面,本发明提供了一种Proxy节点,所述Proxy节点分别与监控节点和至少一个worker节点相连,包括:
第一确定单元,用于确定系统镜像,且所述系统镜像中内置有产品部署所需的服务包、脚本和至少一个组件;
系统安装单元,用于利用所述系统镜像中的服务包和至少一个组件,安装操作系统;
处理单元,用于基于所述操作系统,通过运行所述脚本,安装所述Proxy节点对应的组件,以及控制所述监控节点安装所述监控节点对应的组件,控制每一个所述worker节点安装所述worker节点对应的组件。
进一步地,该Proxy节点还包括:第二确定单元;
所述第一确定单元中确定的所述至少一个组件包括:所述Proxy节点对应的Yum源组件,且所述Yum源组件中配置有所述服务包;
所述系统安装单元中安装的所述操作系统包括:所述至少一个组件中的每一个组件对应的安装包;
所述系统安装单元,进一步用于完成安装操作系统时,触发所述第二确定单元;
所述第二确定单元,用于在接收到所述系统安装单元发来的触发信号时,确定配置文件,且所述配置文件中包括所述Proxy节点的配置信息、所述监控节点的配置信息和每一个所述worker节点的配置信息;
所述处理单元,具体用于基于所述操作系统,通过运行所述脚本,配置所述Yum源组件的包括所述Proxy节点的IP地址的URL地址,在所述Proxy节点、所述监控节点和每一个所述worker节点上分别配置统一的hosts文件,配置所述Proxy节点、所述监控节点和每一个所述worker节点之间互信,以初始化程序;基于所述初始化的程序和根据所述操作系统中的安装包,分别根据所述Proxy节点的配置信息,安装所述Proxy节点对应的组件,根据所述监控节点的配置信息,控制所述监控节点安装所述监控对应的组件,根据每一个所述worker节点的配置信息,控制每一个所述worker节点安装所述worker节点对应的组件。
进一步地,所述第一确定单元,具体用于确定内置有至少一个组件的系统镜像,且所述至少一个组件包括:所述Proxy节点对应的HaProxy组件、NFS组件、Mycat组件和Yum源组件;所述监控节点对应的Ceilometer组件、KeyStone组件和MongoDB组件;所述worker节点对应的IOP-Web组件、RabbitMQ组件、MariaDB组件和Swift组件。
进一步地,所述处理单元,具体用于通过运行所述脚本中的与所述Proxy节点对应的子脚本,依次安装所述NFS组件、所述HaProxy组件、所述Mycat组件和所述Yum源组件;针对在所述Proxy节点上安装的每一个组件,重置其对应的配置文件;通过运行所述脚本中的与所述监控节点对应的子脚本,依次安装所述KeyStone组件、所述MongoDB组件和所述Ceilometer组件;针对在所述监控节点上安装的每一个组件,重置其对应的配置文件;通过运行所述脚本中的与所述worker节点对应的子脚本,依次安装所述MariaDB组件、所述RabbitMQ组件、所述IOP-Web组件和所述Swift组件;针对在所述worker节点上安装的每一个组件,重置其对应的配置文件。
第三方面,本发明提供了一种产品部署的系统,包括:
监控节点、至少一个worker节点,以及如权利要求6至9中任一所述的Proxy节点,其中,
所述Proxy节点分别与所述监控节点和每一个所述worker节点相连。
本发明提供了一种产品部署的方法、装置及系统,Proxy节点确定内置有产品部署所需的服务包、脚本和至少一个组件的镜像;利用镜像中的服务包和至少一个组件以安装操作系统;基于安装的操作系统,通过运行脚本,安装Proxy节点对应的组件,以及控制连接的监控节点安装该监控节点对应的组件,控制每一个连接的worker节点安装该worker节点对应的组件。Proxy节点利用定制化镜像以安装操作系统,并通过运行脚本以分别在Proxy节点、监控节点、worker节点安装各节点对应的组件,从而自动化部署产品。因此,本发明能够进行产品的自动化部署。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种产品部署的方法的流程图;
图2是本发明一实施例提供的另一种产品部署的方法的流程图;
图3是本发明一实施例提供的一种Proxy节点的示意图;
图4是本发明一实施例提供的另一种Proxy节点的示意图;
图5是本发明一实施例提供的一种产品部署的系统的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种产品部署的方法,应用于Proxy节点,所述Proxy节点分别与监控节点和至少一个worker节点相连,可以包括以下步骤:
步骤101:确定系统镜像,且所述系统镜像中内置有产品部署所需的服务包、脚本和至少一个组件。
步骤102:利用所述系统镜像中的服务包和至少一个组件,安装操作系统。
步骤103:基于所述操作系统,通过运行所述脚本,安装所述Proxy节点对应的组件,以及控制所述监控节点安装所述监控节点对应的组件,控制每一个所述worker节点安装所述worker节点对应的组件。
本发明实施例提供了一种产品部署的方法,Proxy节点确定内置有产品部署所需的服务包、脚本和至少一个组件的镜像;利用镜像中的服务包和至少一个组件以安装操作系统;基于安装的操作系统,通过运行脚本,安装Proxy节点对应的组件,以及控制连接的监控节点安装该监控节点对应的组件,控制每一个连接的worker节点安装该worker节点对应的组件。Proxy节点利用定制化镜像以安装操作系统,并通过运行脚本以分别在Proxy节点、监控节点、worker节点安装各节点对应的组件,从而自动化部署产品。因此,本发明实施例能够进行产品的自动化部署。
在本发明的一个实施例中,为了说明一种在Proxy节点、监控节点和worker节点上统一部署组件的实现方式,所以,
所述至少一个组件包括:所述Proxy节点对应的Yum源组件,且所述Yum源组件中配置有所述服务包;
在步骤102中,安装的所述操作系统包括:所述至少一个组件中的每一个组件对应的安装包;
在步骤102之后,进一步包括:确定配置文件,且所述配置文件中包括所述Proxy节点的配置信息、所述监控节点的配置信息和每一个所述worker节点的配置信息;
所述步骤103包括:基于所述操作系统,通过运行所述脚本,配置所述Yum源组件的包括所述Proxy节点的IP地址的URL地址,在所述Proxy节点、所述监控节点和每一个所述worker节点上分别配置统一的hosts文件,配置所述Proxy节点、所述监控节点和每一个所述worker节点之间互信,以初始化程序;基于所述初始化的程序和根据所述操作系统中的安装包,分别根据所述Proxy节点的配置信息,安装所述Proxy节点对应的组件,根据所述监控节点的配置信息,控制所述监控节点安装所述监控对应的组件,根据每一个所述worker节点的配置信息,控制每一个所述worker节点安装所述worker节点对应的组件。
通过配置yum源地址、配置各节点上统一的hosts文件和配置节点互信,便于执行脚本时各节点间的文件传输,便于在Proxy节点这一单节点上统一处理,从而实现整个集群的初始化安装工作。
在本发明的一个实施例中,所述配置信息包括:IP地址,或,IP地址和域名。
详细地,通过在配置文件中设置每一个节点的IP地址,能够便于Proxy节点根据配置文件中的各节点的IP地址,在各节点安装部署该节点对应的组件。当然,域名可以与IP地址结合使用。
在本发明的一个实施例中,所述至少一个组件包括:所述Proxy节点对应的HaProxy组件、NFS组件、Mycat组件和Yum源组件;所述监控节点对应的Ceilometer组件、KeyStone组件和MongoDB组件;所述worker节点对应的IOP-Web组件、RabbitMQ组件、MariaDB组件和Swift组件。
在本发明的一个实施例中,为了说明一种各节点中的组件安装顺序,所以所述步骤103中,
所述通过运行所述脚本,安装所述Proxy节点对应的组件包括:通过运行所述脚本中的与所述Proxy节点对应的子脚本,依次安装所述NFS组件、所述HaProxy组件、所述Mycat组件和所述Yum源组件;针对在所述Proxy节点上安装的每一个组件,重置其对应的配置文件;
所述通过运行所述脚本,控制所述监控节点安装所述监控对应的组件包括:通过运行所述脚本中的与所述监控节点对应的子脚本,依次安装所述KeyStone组件、所述MongoDB组件和所述Ceilometer组件;针对在所述监控节点上安装的每一个组件,重置其对应的配置文件;
所述通过运行所述脚本,控制每一个所述worker节点安装所述worker节点对应的组件包括:通过运行所述脚本中的与所述worker节点对应的子脚本,依次安装所述MariaDB组件、所述RabbitMQ组件、所述IOP-Web组件和所述Swift组件;针对在所述worker节点上安装的每一个组件,重置其对应的配置文件。
在本实施例中,可以在脚本中预先确定的各节点所需组件的安装顺序,通过运行脚本,在各节点上依次安装其所需组件。
如图2所示,本发明一个实施例提供了另一种产品部署的方法,以IOP Manager自动化部署解决方案为例,具体包括以下步骤:
步骤201:将Proxy节点分别与监控节点和两个worker节点相连。
详细地,产品的正常使用可以基于Proxy节点、监控节点和至少一个worker节点得以实现。其中,各worker节点之间负载均衡,且worker节点数量的增加有益于提升产品的运行效率。例如,当产品为一个web访问浏览页面时,worker节点数量的增加有益于提高访问速度。
本实施例中,节点集群中可以有一个Proxy节点、一个监控节点和两个worker节点,Proxy节点分别与监控节点和各worker节点相连,故可以在Proxy节点上进行各节点的统一处理,实现整个集群的初始化安装工作。
步骤202:确定产品部署所需的服务包、python脚本和11个组件,并将其内置到定制化系统镜像中。
详细地,产品部署所需的服务包可以包括组件安装所需的package包和服务安装所需的package包。其中,组件安装所需的package包可以用于在各节点中安装组件,服务安装所需的package包可以用于组件安装完成后实现组件功能。本发明实施例中,可以将确定的服务包配置于Yum源组件中。
详细地,python脚本可以为一个总脚本,从而确定一个统一的脚本接口,且该python脚本中还可以包括对应于各类节点的子脚本信息,通过运行每一个子脚本,可以使对应的节点安装该节点所需组件。
详细地,本实施例中,针对于IOP Manager,产品部署所需组件可以为下述11个组件:Proxy节点对应的HaProxy组件、NFS组件、Mycat组件和Yum源组件;监控节点对应的Ceilometer组件、KeyStone组件和MongoDB组件;worker节点对应的IOP-Web组件、RabbitMQ组件、MariaDB组件和Swift组件。
其中,本发明一个实施例中,HaProxy组件可以提供高可用和负载均衡;NFS组件可以允许网络中的计算机之间通过TCP/IP网络共享资源;Mycat组件可以为分布式数据库系统;Yum源组件可以为软件的仓库;Ceilometer组件可以提供虚拟机、服务、事件监控;KeyStone组件可以提供管理产品身份验证、服务规则和服务令牌等;MongoDB组件可以为分布式文件存储数据库;IOP-Web组件可以为IOP Manager管理控制代码;RabbitMQ组件可以为消息模块,用于各模块之间通信;MariaDB组件可以为关系型数据库,用于系统元数据存储;Swift组件可以为对象存储模块,用于IOP Manager系统服务包、镜像、租户文件的存储。
步骤203:Proxy节点从定制化系统镜像中解析出服务包、python脚本和11个组件,并根据服务包和11个组件,安装操作系统,且安装的操作系统中包括每一个组件对应的安装包。
Proxy节点根据镜像中的服务包和组件,安装自身操作系统,且安装好的操作系统中包含有用于安装每一个组件所需的安装包。Proxy节点可以基于安装好的操作系统,以在各节点上部署和安装产品。
在本发明一个实施例中,由于Proxy节点分别与监控节点和worker节点相连,故也可以由Proxy节点,同时在每一个节点上安装统一的操作系统,而无需一直依赖于Proxy节点上安装的操作系统。
步骤204:设置包括每一个节点的配置信息的配置文件。
在完成安装操作系统之后,需要确定一个配置文件,该配置文件中可以包括每一个节点的配置信息,以便于Proxy节点根据各节点的配置信息,在各节点上安装组件。
详细地,节点的配置信息可以为该节点的IP地址,或者可以为该节点的IP地址和域名。
步骤205:Proxy节点基于安装的操作系统,通过运行python脚本,配置Yum源组件的包括Proxy节点的IP地址的URL地址,在Proxy节点、监控节点和每一个worker节点上分别配置统一的hosts文件,配置Proxy节点、监控节点和每一个worker节点之间互信,以初始化程序。
Proxy节点在对每一个节点安装对应组件之前,可以通过运行python脚本以首先初始化程序。详细地,程序的初始化可以包括:yum repos,即配置Yum源地址;confighosts,即在各节点配置统一的hosts文件;ssh authorized,即配置各节点互信。
通过配置Yum源地址,如本实施例中,由于Yum源组件可以安装于Proxy节点中,故可以将包括Proxy节点的IP地址的URL地址配置为Yum源地址,以便于通过该URL地址能够准确调用Yum源中的内容。
通过初始化程序,可以便于初始化脚本执行时各节点间文件传输,从而可以在Proxy节点这一单节点上统一处理,实现整个集群的初始化安装工作。
基于初始化的程序,Proxy节点可以根据安装的操作系统中的安装包,以及根据确定的配置文件中各节点的配置信息,通过运行各节点对应的脚本内容,以安装各节点所需的组件。其中,通过运行python脚本,可以根据一定的安装顺序以安装各节点所需的组件。
详细地,下述步骤206说明了Proxy节点安装自身组件的实现过程;下述步骤207说明了Proxy节点控制监控节点以安装其所需组件的实现过程;下述步骤208说明了Proxy节点控制worker节点以安装其所需组件的实现过程。
步骤206:Proxy节点基于初始化的程序,根据操作系统中的安装包和配置文件中的Proxy节点的配置信息,通过运行python脚本中的与Proxy节点对应的子脚本,依次安装NFS组件、HaProxy组件、Mycat组件和Yum源组件,并针对在Proxy节点上安装的每一个组件,重置其对应的配置文件。
详细地,利用python脚本,在完成节点对应组件的安装时,同样可以对每一个组件对应的配置文件进行重置。例如,Proxy节点上的某一组件需要使用监控节点中存储的特定信息,故该组件的配置文件中可以记录有监控节点的IP地址。通过运行python脚本,可以在完成安装每一个组件时,对每一个组件对应的配置文件进行重置。
步骤207:Proxy节点基于初始化的程序,根据操作系统中的安装包和配置文件中的监控节点的配置信息,通过运行python脚本中的与监控节点对应的子脚本,依次安装KeyStone组件、MongoDB组件和Ceilometer组件,并针对在监控节点上安装的每一个组件,重置其对应的配置文件。
步骤208:Proxy节点基于初始化的程序,根据操作系统中的安装包和配置文件中的worker节点的配置信息,通过运行python脚本中的与worker节点对应的子脚本,依次安装MariaDB组件、RabbitMQ组件、IOP-Web组件和Swift组件,并针对在worker节点上安装的每一个组件,重置其对应的配置文件。
组件安装操作全部执行完成时,可以完成数据库的初始化工作,并根据预先确定的服务安装所需的package包,以实现组件功能并启动服务,从而完成产品的自动化部署。
在本发明一个实施例中,IOP Manager快速部署方案可以基于CentOS7系统。
本发明实施例中,通过将产品部署中所需的组件、服务包等内置到定制化系统镜像中,根据该镜像和具有安装流程的脚本,可以实现产品的自动化部署。这一实现方式避免了手动部署繁杂的工作量,有效解决了IOP Manager产品手动部署过程中组件配置繁杂、部署周期冗长等问题,大大提升了部署运维效率。
本发明实施例中,产品自动化部署的实现,不仅为部署人员避免或减少了一定的繁杂工作量,同时降低了因人为操作所带来的出错几率,故提高了产品部署的准确率。
如图3所示,本发明一个实施例提供了一种Proxy节点30,所述Proxy节点分别与监控节点和至少一个worker节点相连,包括:
第一确定单元301,用于确定系统镜像,且所述系统镜像中内置有产品部署所需的服务包、脚本和至少一个组件;
系统安装单元302,用于利用所述系统镜像中的服务包和至少一个组件,安装操作系统;
处理单元303,用于基于所述操作系统,通过运行所述脚本,安装所述Proxy节点对应的组件,以及控制所述监控节点安装所述监控节点对应的组件,控制每一个所述worker节点安装所述worker节点对应的组件。
在本发明一个实施例中,请参考图4,该Proxy节点30还可以包括:第二确定单元401;
所述第一确定单元301中确定的所述至少一个组件包括:所述Proxy节点对应的Yum源组件,且所述Yum源组件中配置有所述服务包;
所述系统安装单元302中安装的所述操作系统包括:所述至少一个组件中的每一个组件对应的安装包;
所述系统安装单元302,进一步用于完成安装操作系统时,触发所述第二确定单元401;
所述第二确定单元401,用于在接收到所述系统安装单元302发来的触发信号时,确定配置文件,且所述配置文件中包括所述Proxy节点的配置信息、所述监控节点的配置信息和每一个所述worker节点的配置信息;
所述处理单元303,具体用于基于所述操作系统,通过运行所述脚本,配置所述Yum源组件的包括所述Proxy节点的IP地址的URL地址,在所述Proxy节点、所述监控节点和每一个所述worker节点上分别配置统一的hosts文件,配置所述Proxy节点、所述监控节点和每一个所述worker节点之间互信,以初始化程序;基于所述初始化的程序和根据所述操作系统中的安装包,分别根据所述Proxy节点的配置信息,安装所述Proxy节点对应的组件,根据所述监控节点的配置信息,控制所述监控节点安装所述监控对应的组件,根据每一个所述worker节点的配置信息,控制每一个所述worker节点安装所述worker节点对应的组件。
在本发明一个实施例中,所述第一确定单元301,具体用于确定内置有至少一个组件的系统镜像,且所述至少一个组件包括:所述Proxy节点对应的HaProxy组件、NFS组件、Mycat组件和Yum源组件;所述监控节点对应的Ceilometer组件、KeyStone组件和MongoDB组件;所述worker节点对应的IOP-Web组件、RabbitMQ组件、MariaDB组件和Swift组件。
在本发明一个实施例中,所述处理单元303,具体用于通过运行所述脚本中的与所述Proxy节点对应的子脚本,依次安装所述NFS组件、所述HaProxy组件、所述Mycat组件和所述Yum源组件;针对在所述Proxy节点上安装的每一个组件,重置其对应的配置文件;通过运行所述脚本中的与所述监控节点对应的子脚本,依次安装所述KeyStone组件、所述MongoDB组件和所述Ceilometer组件;针对在所述监控节点上安装的每一个组件,重置其对应的配置文件;通过运行所述脚本中的与所述worker节点对应的子脚本,依次安装所述MariaDB组件、所述RabbitMQ组件、所述IOP-Web组件和所述Swift组件;针对在所述worker节点上安装的每一个组件,重置其对应的配置文件。
如图5所示,本发明实施例提供了一种产品部署的系统,包括:
监控节点50、至少一个worker节点60,以及上述任一所述的Proxy节点30,其中,
所述Proxy节点30分别与所述监控节点50和每一个所述worker节点60相连。
通过将产品部署中所需的组件、服务包等内置到定制化系统镜像中,所述Proxy节点30根据该镜像以安装操作系统;基于安装的操作系统,根据确定的包括各节点配置信息的配置文件,所述Proxy节点30通过运行具有安装流程的脚本,可以在各节点上安装各节点所需组件,从而实现产品的自动化部署。基于包括各节点的节点集群,通过各节点间的共同作用,可以实现所部署产品对应的功能效果。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
综上所述,本发明的各个实施例至少具有如下有益效果:
1、本发明实施例中,Proxy节点确定内置有产品部署所需的服务包、脚本和至少一个组件的镜像;利用镜像中的服务包和至少一个组件以安装操作系统;基于安装的操作系统,通过运行脚本,安装Proxy节点对应的组件,以及控制连接的监控节点安装该监控节点对应的组件,控制每一个连接的worker节点安装该worker节点对应的组件。Proxy节点利用定制化镜像以安装操作系统,并通过运行脚本以分别在Proxy节点、监控节点、worker节点安装各节点对应的组件,从而自动化部署产品。因此,本发明实施例能够进行产品的自动化部署。
2、本发明实施例中,通过将产品部署中所需的组件、服务包等内置到定制化系统镜像中,根据该镜像和具有安装流程的脚本,可以实现产品的自动化部署。这一实现方式避免了手动部署繁杂的工作量,有效解决了IOP Manager产品手动部署过程中组件配置繁杂、部署周期冗长等问题,大大提升了部署运维效率。
3、本发明实施例中,产品自动化部署的实现,不仅为部署人员避免或减少了一定的繁杂工作量,同时降低了因人为操作所带来的出错几率,故提高了产品部署的准确率。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (8)

1.一种产品部署的方法,其特征在于,应用于代理Proxy节点,所述Proxy节点分别与监控节点和至少一个worker节点相连,包括:
S1:确定系统镜像,且所述系统镜像中内置有产品部署所需的服务包、脚本和至少一个组件;
S2:利用所述系统镜像中的服务包和至少一个组件,安装操作系统;
S3:基于所述操作系统,通过运行所述脚本,安装所述Proxy节点对应的组件,以及控制所述监控节点安装所述监控节点对应的组件,控制每一个所述worker节点安装所述worker节点对应的组件;
所述至少一个组件包括:所述Proxy节点对应的Yum源组件,且所述Yum源组件中配置有所述服务包;
在S2中,安装的所述操作系统包括:所述至少一个组件中的每一个组件对应的安装包;
在S2之后,进一步包括:确定配置文件,且所述配置文件中包括所述Proxy节点的配置信息、所述监控节点的配置信息和每一个所述worker节点的配置信息;
所述S3包括:基于所述操作系统,通过运行所述脚本,配置所述Yum源组件的包括所述Proxy节点的IP地址的统一资源定位器URL地址,在所述Proxy节点、所述监控节点和每一个所述worker节点上分别配置统一的hosts文件,配置所述Proxy节点、所述监控节点和每一个所述worker节点之间互信,以初始化程序;基于所述初始化的程序和根据所述操作系统中的安装包,分别根据所述Proxy节点的配置信息,安装所述Proxy节点对应的组件,根据所述监控节点的配置信息,控制所述监控节点安装所述监控对应的组件,根据每一个所述worker节点的配置信息,控制每一个所述worker节点安装所述worker节点对应的组件。
2.根据权利要求1所述的方法,其特征在于,所述配置信息,包括:IP地址,或,IP地址和域名。
3.根据权利要求1至2中任一所述的方法,其特征在于,
所述至少一个组件包括:所述Proxy节点对应的HaProxy组件、网络文件系统NFS组件、Mycat组件和Yum源组件;所述监控节点对应的Ceilometer组件、KeyStone组件和MongoDB组件;所述worker节点对应的输入输出处理器IOP-Web组件、RabbitMQ组件、MariaDB组件和Swift组件。
4.根据权利要求3所述的方法,其特征在于,
所述S3中,所述通过运行所述脚本,安装所述Proxy节点对应的组件包括:通过运行所述脚本中的与所述Proxy节点对应的子脚本,依次安装所述NFS组件、所述HaProxy组件、所述Mycat组件和所述Yum源组件;针对在所述Proxy节点上安装的每一个组件,重置其对应的配置文件;
所述通过运行所述脚本,控制所述监控节点安装所述监控对应的组件包括:通过运行所述脚本中的与所述监控节点对应的子脚本,依次安装所述KeyStone组件、所述MongoDB组件和所述Ceilometer组件;针对在所述监控节点上安装的每一个组件,重置其对应的配置文件;
所述通过运行所述脚本,控制每一个所述worker节点安装所述worker节点对应的组件包括:通过运行所述脚本中的与所述worker节点对应的子脚本,依次安装所述MariaDB组件、所述RabbitMQ组件、所述IOP-Web组件和所述Swift组件;针对在所述worker节点上安装的每一个组件,重置其对应的配置文件。
5.一种Proxy节点,其特征在于,所述Proxy节点分别与监控节点和至少一个worker节点相连,包括:
第一确定单元,用于确定系统镜像,且所述系统镜像中内置有产品部署所需的服务包、脚本和至少一个组件;
系统安装单元,用于利用所述系统镜像中的服务包和至少一个组件,安装操作系统;
处理单元,用于基于所述操作系统,通过运行所述脚本,安装所述Proxy节点对应的组件,以及控制所述监控节点安装所述监控节点对应的组件,控制每一个所述worker节点安装所述worker节点对应的组件;
进一步包括:第二确定单元;
所述第一确定单元中确定的所述至少一个组件包括:所述Proxy节点对应的Yum源组件,且所述Yum源组件中配置有所述服务包;
所述系统安装单元中安装的所述操作系统包括:所述至少一个组件中的每一个组件对应的安装包;
所述系统安装单元,进一步用于完成安装操作系统时,触发所述第二确定单元;
所述第二确定单元,用于在接收到所述系统安装单元发来的触发信号时,确定配置文件,且所述配置文件中包括所述Proxy节点的配置信息、所述监控节点的配置信息和每一个所述worker节点的配置信息;
所述处理单元,具体用于基于所述操作系统,通过运行所述脚本,配置所述Yum源组件的包括所述Proxy节点的IP地址的统一资源定位器URL地址,在所述Proxy节点、所述监控节点和每一个所述worker节点上分别配置统一的hosts文件,配置所述Proxy节点、所述监控节点和每一个所述worker节点之间互信,以初始化程序;基于所述初始化的程序和根据所述操作系统中的安装包,分别根据所述Proxy节点的配置信息,安装所述Proxy节点对应的组件,根据所述监控节点的配置信息,控制所述监控节点安装所述监控对应的组件,根据每一个所述worker节点的配置信息,控制每一个所述worker节点安装所述worker节点对应的组件。
6.根据权利要求5所述的Proxy节点,其特征在于,
所述第一确定单元,具体用于确定内置有至少一个组件的系统镜像,且所述至少一个组件包括:所述Proxy节点对应的HaProxy组件、网络文件系统NFS组件、Mycat组件和Yum源组件;所述监控节点对应的Ceilometer组件、KeyStone组件和MongoDB组件;所述worker节点对应的输入输出处理器IOP-Web组件、RabbitMQ组件、MariaDB组件和Swift组件。
7.根据权利要求6所述的Proxy节点,其特征在于,
所述处理单元,具体用于通过运行所述脚本中的与所述Proxy节点对应的子脚本,依次安装所述NFS组件、所述HaProxy组件、所述Mycat组件和所述Yum源组件;针对在所述Proxy节点上安装的每一个组件,重置其对应的配置文件;通过运行所述脚本中的与所述监控节点对应的子脚本,依次安装所述KeyStone组件、所述MongoDB组件和所述Ceilometer组件;针对在所述监控节点上安装的每一个组件,重置其对应的配置文件;通过运行所述脚本中的与所述worker节点对应的子脚本,依次安装所述MariaDB组件、所述RabbitMQ组件、所述IOP-Web组件和所述Swift组件;针对在所述worker节点上安装的每一个组件,重置其对应的配置文件。
8.一种产品部署的系统,其特征在于,包括:
监控节点、至少一个worker节点,以及如权利要求5至7中任一所述的Proxy节点,其中,
所述Proxy节点分别与所述监控节点和每一个所述worker节点相连。
CN201610451077.XA 2016-06-21 2016-06-21 一种产品部署的方法、装置及系统 Active CN106126283B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610451077.XA CN106126283B (zh) 2016-06-21 2016-06-21 一种产品部署的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610451077.XA CN106126283B (zh) 2016-06-21 2016-06-21 一种产品部署的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN106126283A CN106126283A (zh) 2016-11-16
CN106126283B true CN106126283B (zh) 2019-05-14

Family

ID=57471133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610451077.XA Active CN106126283B (zh) 2016-06-21 2016-06-21 一种产品部署的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN106126283B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108234164B (zh) * 2016-12-14 2021-03-16 杭州海康威视数字技术股份有限公司 集群部署方法及装置
CN107733985B (zh) * 2017-09-14 2021-02-02 广州西麦科技股份有限公司 一种云计算系统功能组件部署方法及装置
CN108874398A (zh) * 2017-10-30 2018-11-23 北京旷视科技有限公司 服务产品的部署方法、装置、系统和存储介质
CN108509203B (zh) * 2018-03-13 2021-05-28 腾讯科技(深圳)有限公司 软件跨云部署方法、计算机设备及存储介质
CN110730089A (zh) * 2019-09-02 2020-01-24 深圳壹账通智能科技有限公司 区块链网络的监控配置方法及装置、存储介质、电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882946A (zh) * 2012-09-13 2013-01-16 曙光信息产业(北京)有限公司 基于ip-mac的自动化集群部署系统与方法
CN103701661A (zh) * 2013-12-23 2014-04-02 浪潮(北京)电子信息产业有限公司 一种实现节点监控的方法及系统
CN104572154A (zh) * 2013-10-23 2015-04-29 北京天地超云科技有限公司 一种针对rhel操作系统与应用的快速部署方法
CN104754032A (zh) * 2015-02-27 2015-07-01 浪潮集团有限公司 一种部署OpenStack的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882946A (zh) * 2012-09-13 2013-01-16 曙光信息产业(北京)有限公司 基于ip-mac的自动化集群部署系统与方法
CN104572154A (zh) * 2013-10-23 2015-04-29 北京天地超云科技有限公司 一种针对rhel操作系统与应用的快速部署方法
CN103701661A (zh) * 2013-12-23 2014-04-02 浪潮(北京)电子信息产业有限公司 一种实现节点监控的方法及系统
CN104754032A (zh) * 2015-02-27 2015-07-01 浪潮集团有限公司 一种部署OpenStack的方法及装置

Also Published As

Publication number Publication date
CN106126283A (zh) 2016-11-16

Similar Documents

Publication Publication Date Title
CN106126283B (zh) 一种产品部署的方法、装置及系统
US10678526B2 (en) Method and system for managing the end to end lifecycle of a virtualization environment
US8606897B2 (en) Systems and methods for exporting usage history data as input to a management platform of a target cloud-based network
US9619243B2 (en) Synchronous BMC configuration and operation within cluster of BMC
US8601466B2 (en) Software deployment method and system, software deployment server and user server
CN105099739B (zh) 一种基于插件式软件部署方法、装置及应用服务器
US9569294B2 (en) Information handling system physical component inventory to aid operational management through near field communication device interaction
US20050080891A1 (en) Maintenance unit architecture for a scalable internet engine
US20150081878A1 (en) Describing datacenter rack information in management system
US10230567B2 (en) Management of a plurality of system control networks
CN102455936A (zh) 集群的快速部署方法
US8458693B2 (en) Transitioning from static to dynamic cluster management
CN103685608A (zh) 一种自动配置安全虚拟机ip地址的方法及装置
US11811784B2 (en) Integrity verified paths between entities in a container-orchestration system
CN109799998A (zh) OpenStack集群配置及批量部署方法及系统
US20220182851A1 (en) Communication Method and Apparatus for Plurality of Administrative Domains
CN108989123A (zh) 一种服务器配置方法及装置
CN113900670B (zh) 集群服务器应用部署系统
CN112968929B (zh) 一种服务器管理方法和系统
CN112948008A (zh) 一种基于Ironic管理物理裸机的方法
CN112073499A (zh) 一种多机型云物理服务器的动态服务方法
US20140189127A1 (en) Reservation and execution image writing of native computing devices
KR20180080791A (ko) Nfv 환경에서의 vnf 자동 설정 방법 및 이를 위한 nfv mano
CN109286692A (zh) 一种配置服务器ipmi静态ip地址的方法
US20060085542A1 (en) System monitoring in multi-tier application environments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200519

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee after: Tidal Cloud Information Technology Co.,Ltd.

Address before: 250100 Ji'nan high tech Zone, Shandong, No. 1036 wave road

Patentee before: INSPUR ELECTRONIC INFORMATION INDUSTRY Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee after: Inspur cloud Information Technology Co., Ltd

Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee before: Tidal Cloud Information Technology Co.,Ltd.