CN113328880B - 分布式集群系统的部署方法、系统、介质和装置 - Google Patents

分布式集群系统的部署方法、系统、介质和装置 Download PDF

Info

Publication number
CN113328880B
CN113328880B CN202110565769.8A CN202110565769A CN113328880B CN 113328880 B CN113328880 B CN 113328880B CN 202110565769 A CN202110565769 A CN 202110565769A CN 113328880 B CN113328880 B CN 113328880B
Authority
CN
China
Prior art keywords
service application
system service
deployment
deployed
cluster
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
CN202110565769.8A
Other languages
English (en)
Other versions
CN113328880A (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.)
Jiangsu Yuncongxihe Artificial Intelligence Co ltd
Original Assignee
Jiangsu Yuncongxihe Artificial Intelligence 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 Jiangsu Yuncongxihe Artificial Intelligence Co ltd filed Critical Jiangsu Yuncongxihe Artificial Intelligence Co ltd
Priority to CN202110565769.8A priority Critical patent/CN113328880B/zh
Publication of CN113328880A publication Critical patent/CN113328880A/zh
Application granted granted Critical
Publication of CN113328880B publication Critical patent/CN113328880B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明涉及软件部署技术领域,具体涉及一种分布式集群系统的部署方法、系统、介质和装置,旨在解决如何在不同部署场景下准确且高效地完成分布式集群系统的部署的问题。为此目的,根据本发明实施例的分布式集群系统部署方法获得部署指令,解析待部署分布式集群系统内每个系统服务应用的配置文件,根据配置文件从系统注册文件中获得系统服务应用依赖的每个其他系统服务应用的环境变量以及待部署分布式集群系统的公共环境变量,并进行每个系统服务应用的部署,以完成待部署分布式集群系统的部署。通过系统注册文件传递集群公共环境变量及集群其他应用环境变量,解决了分布式集群系统中不同系统服务应用变量依赖的问题,使整个部署过程更为准确高效。

Description

分布式集群系统的部署方法、系统、介质和装置
技术领域
本发明涉及软件部署技术领域,具体涉及一种分布式集群系统的部署方法、系统、介质和装置。
背景技术
在分布式集群系统软件的私有化部署过程中,随着客户的需求逐渐的多样化,对于软件中的服务的需求也越来越多,越来越复杂,这就导致了在进行私有化部署时,其难度也在不断提升。私有化部署中,实现不同服务的应用之间进行变量共享存在较大的问题。这是因为在进行部署时,为了实现客户需要的功能,往往需要部署一系列的应用,而应用与应用之间会存在着变量依赖关系。例如,将应用A部署完成之后,应用B需要读取应用A部署完成后的配置文件中的相应变量来进行应用B的部署过程。而在实际的应用中,私有化部署往往涉及的应用数量会很多,这些应用之间的变量依赖关系也会更加复杂。因而在进行私有化部署过程需要耗费的时间很长,部署过程也比较困难。
相应地,本领域需要一种新的分布式集群系统的部署方法、系统、介质和设备来解决上述问题。
发明内容
为了解决现有技术中的上述问题,即为了解决如何在不同部署场景下准确且高效地完成分布式集群系统的部署的问题,本发明提供了一种分布式集群系统的部署方法,包括:
解析接收到的部署指令,以获取待部署分布式集群系统内每个系统服务应用的配置文件;
解析所述配置文件,以确定对每个所述系统服务应用进行部署时每个所述系统服务应用依赖的一个或多个其他系统服务应用;
针对每个所述系统服务应用,从预设的所述待部署分布式集群系统的系统注册文件中,分别获取所述依赖的每个其他系统服务应用的环境变量以及获取预设的所述待部署分布式集群系统的集群公共环境变量;
根据每个所述系统服务应用的配置文件并且使用每个所述系统服务应用依赖的每个其他系统服务应用的环境变量以及所述集群公共环境变量,分别对每个所述系统服务应用进行部署,以完成所述待部署分布式集群系统的部署。
在上述分布式集群系统的部署方法的一个可选技术方案中,“分别对每个所述系统服务应用进行部署”的步骤具体包括:
解析所述配置文件,获取每个所述系统服务应用的私有环境变量;
将每个所述系统服务应用的私有环境变量、对每个所述系统服务应用进行部署时每个所述系统服务应用依赖的其他系统服务应用的环境变量以及所述集群公共环境变量,分别写入每个所述系统服务应用的配置池文件;
解析所述配置文件,分别确定对每个所述系统服务应用进行部署时的部署操作;
根据每个所述系统服务应用的部署操作,从每个所述系统服务应用的配置池文件中分别读取每个所述部署操作指定的变量,根据读取到的变量分别执行每个所述部署操作,以对每个所述系统服务应用进行部署。
在上述分布式集群系统的部署方法的一个可选技术方案中,在“分别执行每个所述系统服务应用的部署操作,以完成所述待部署分布式集群系统的部署”的步骤之后,所述方法还包括:
解析每个所述系统服务应用的配置文件,获取每个所述系统服务应用的集群环境变量;
将每个所述系统服务应用的集群环境变量存储到所述系统注册文件中,以便在运行部署完成的所述待部署分布式集群系统时能够从所述系统注册文件中获取对每个所述系统服务应用进行运行时每个所述系统服务应用依赖的其他系统服务应用的集群环境变量;
并且/或者,在“分别执行每个所述系统服务应用的部署操作,以完成所述待部署分布式集群系统的部署”的步骤之后,所述方法还包括:
根据每个所述系统服务应用的配置文件,确定被配置了在部署完成后需要解析域名的系统服务应用并将所述系统服务应用作为待处理系统服务应用;
解析所述待处理系统服务应用的配置文件,获取所述待处理系统服务应用的域名;
将所述域名分别存储至部署完成的所述待部署分布式集群系统中每个节点设备的Hosts文件中,以便每个所述节点设备上部署的系统服务应用能够根据所述Hosts文件中的域名访问所述待处理系统服务应用。
在上述分布式集群系统的部署方法的一个可选技术方案中,所述集群环境变量包括集群局部环境变量和集群全局环境变量;
所述集群局部环境变量是能够被赋予至部署完成的所述待部署分布式集群系统中指定的一个或多个系统服务应用组中每个所述系统服务应用的变量;
所述集群全局环境变量是能够被赋予至部署完成的所述待部署分布式集群系统中每个所述系统服务应用的变量。
本发明还提供了一种分布式集群系统的部署系统,所述部署系统包括:
配置文件获取模块,其用于解析接收到的部署指令,以获取待部署分布式集群系统内每个系统服务应用的配置文件;
配置文件解析模块,其用于解析所述配置文件,以确定对每个所述系统服务应用进行部署时每个所述系统服务应用依赖的一个或多个其他系统服务应用;
环境变量获取模块,其用于针对每个所述系统服务应用,从预设的所述待部署分布式集群系统的系统注册文件中,分别获取所述依赖的每个其他系统服务应用的环境变量以及获取预设的所述待部署分布式集群系统的集群公共环境变量;
集群系统部署模块,其用于根据每个所述系统服务应用的配置文件并且使用每个所述系统服务应用依赖的每个其他系统服务应用的环境变量以及所述集群公共环境变量,分别对每个所述系统服务应用进行部署,以完成所述待部署分布式集群系统的部署。
在上述分布式集群系统的部署系统的一个可选方案中,所述集群系统部署模块包括:
私有环境变量单元,其用于解析所述配置文件,获取每个所述系统服务应用的私有环境变量;
配置池写入单元,其用于将每个所述系统服务应用的私有环境变量、对每个所述系统服务应用进行部署时每个所述系统服务应用依赖的其他系统服务应用的环境变量以及所述集群公共环境变量,分别写入每个所述系统服务应用的配置池文件;
部署操作获取单元,其用于解析所述配置文件,分别确定对每个所述系统服务应用进行部署时的部署操作;
服务应用部署单元,用于根据每个所述系统服务应用的部署操作,从每个所述系统服务应用的配置池文件中分别读取每个所述部署操作指定的变量,根据读取到的变量分别执行每个所述部署操作,以对每个所述系统服务应用进行部署。
在上述分布式集群系统的部署系统的一个可选方案中,所述部署系统还包括:
集群环境变量获取模块,其用于在对每个所述系统服务应用进行部署之后,解析每个所述系统服务应用的配置文件,获取每个所述系统服务应用的集群环境变量;
集群环境变量存储模块,其用于将每个所述系统服务应用的集群环境变量存储到所述系统注册文件中,以便在运行部署完成的所述待部署分布式集群系统时能够从所述系统注册文件中获取对每个所述系统服务应用进行运行时每个所述系统服务应用依赖的其他系统服务应用的集群环境变量;
并且/或者,所述部署系统还包括:
解析域名应用获取模块,其用于根据每个所述系统服务应用的配置文件,确定被配置了在部署完成后需要解析域名的系统服务应用并将所述系统服务应用作为待处理系统服务应用;
服务应用域名解析模块,其用于解析所述待处理系统服务应用的配置文件,获取所述待处理系统服务应用的域名;
域名存储模块,其用于将所述域名分别存储至部署完成的所述待部署分布式集群系统中每个节点设备的Hosts文件中,以便每个所述节点设备上部署的系统服务应用能够根据所述Hosts文件中的域名访问所述待处理系统服务应用。
在上述分布式集群系统的部署系统的一个可选方案中,所述集群环境变量包括集群局部环境变量和集群全局环境变量;
所述集群局部环境变量是能够被赋予至部署完成的所述待部署分布式集群系统中指定的一个或多个系统服务应用组中每个所述系统服务应用的变量;
所述集群全局环境变量是能够被赋予至部署完成的所述待部署分布式集群系统中每个所述系统服务应用的变量。
本发明还提供了一种计算机可读存储介质,所述存储介质中存储有多条程序代码,所述程序代码适用于由处理器加载并运行以执行上述分布式集群系统的部署方法的技术方案中任一项所述的分布式集群系统的部署方法。
本发明还提供了一种控制装置,包括处理器和存储器,所述存储器适用于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行上述分布式集群系统的部署方法的技术方案中任一项所述的分布式集群系统的部署方法。
本领域人员能够理解的是,在实施本发明的技术方案中,分布式集群系统的部署方法包括:解析接收到的部署指令,以获取待部署分布式集群系统内每个系统服务应用的配置文件;解析配置文件,以确定对每个系统服务应用进行部署时每个系统服务应用依赖的一个或多个其他系统服务应用;针对每个系统服务应用,从预设的待部署分布式集群系统的系统注册文件中,分别获取依赖的每个其他系统服务应用的环境变量以及获取预设的待部署分布式集群系统的集群公共环境变量;根据每个系统服务应用的配置文件并且使用每个系统服务应用依赖的每个其他系统服务应用的环境变量以及集群公共环境变量,分别对每个系统服务应用进行部署,以完成待部署分布式集群系统的部署。
通过上述实施方式可知,根据本发明实施例的分布式集群系统的部署方法在接收到部署指令后,获取每个系统服务应用的配置文件,并从获取到的配置文件中解析出需要部署的系统服务应用依赖的其他系统服务应用,并从待部署分布式集群系统的系统注册文件中获取需要部署的系统服务应用所依赖的环境变量,进行系统服务应用的部署。在进行系统服务应用部署的过程中,可以直接从待部署分布式集群系统的系统注册文件中获取部署该系统应用服务所依赖的环境变量,不需要等待与该系统服务应用相关的其他系统应用服务部署完成后,才能够进行部署,解决了现有技术中分布式集群系统中服务应用之间的变量依赖传递的问题。分布式集群系统中的服务应用都可以通过系统注册文件来访问分布式集群系统的公共环境变量以及与其有依赖关系的环境变量,消除了服务应用的启动顺序对服务应用部署顺序的限制,从而能够更为准确高效地实现分布式集群系统的部署。
此外,根据本发明实施例的分布式集群系统的部署方法除了能够通过系统注册文件中获取需要部署的系统服务应用所依赖的环境变量,以更为高效准确地实现分布式集群系统的部署外,还能够在系统服务应用部署完成之后,获取该系统服务应用的全局环境变量和局部环境变量,并存储在系统注册文件中,以便运行部署完成的系统时其他系统服务应用可以从系统注册文件中调用这些变量,正常运行。
同时,在根据本发明实施例的分布式集群系统的部署方法中,系统服务应用完成部署后,能够解析该系统服务应用的配置文件中需要解析的域名,并将解析的域名存储至待部署分布式集群系统中每个节点设备的Hosts文件中,以便应用域名实现对分布式集群内外部资源的访问。基于上述实施方式,即使在分布式集群系统部署完成后修改某个节点设备的IP地址,由于部署在这个节点设备上的系统服务应用的域名并未被修改,因此不会影响部署在其他节点设备上的系统服务应用访问部署在这个节点设备上的系统服务应用,其他节点设备上的系统服务应用仍然可以采用域名正常地访问部署这个节点设备上的系统服务应用,大幅降低了分布式集群系统部署完成后的系统维护难度和工作量。
附图说明
参照附图,本发明的公开内容将变得更易理解。本领域技术人员容易理解的是:这些附图仅仅用于说明的目的,而并非意在对本发明的保护范围组成限制。其中:
图1为根据本发明一个实施例的分布式集群系统的部署方法的主要步骤流程示意图;
图2为根据本发明另一个实施例的分布式集群系统的部署方法的部分步骤流程示意图;
图3为根据本发明又一个实施例的分布式集群系统的部署方法的部分步骤流程示意图;
图4为图1所示分布式集群系统的部署方法实施例中步骤S400的详细流程图;
图5为根据本发明一个实施例的分布式集群系统的部署系统的主要结构框图。
具体实施方式
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“A和/或B”表示所有可能的A与B的组合,比如只是A、只是B或者A和B。术语“至少一个A或B”或者“A和B中的至少一个”含义与“A和/或B”类似,可以包括只是A、只是B或者A和B。单数形式的术语“一个”、“这个”也可以包含复数形式。
这里先解释本发明涉及到的一些术语。
系统服务应用指的是为了使待部署分布式集群系统正常运行必不可少的应用。每个系统服务应用可以包括一个或多个角色,每个角色都是独立的进程(Process)。角色为应用部署的最小单位。当某个系统服务应用包括一个角色时,可以通过执行这个角色以实现系统服务应用的功能;当某个系统服务应用包括多个角色时,每个角色可以分别被配置成实现系统服务应用的一部分功能,通过执行这些角色实现系统服务应用的完整功能。举例:某个系统服务应用是能够实现人脸识别的应用,该应用包括两个角色,一个角色被配置成实现人脸识别中人脸检测的功能,另一个角色被配置成实现人脸识别中人脸比对的功能,只有这两个角色同时存在(部署),才能使这个系统服务应用正常地提供人脸识别的服务。
私有范围:针对某一个系统服务应用,私有范围是只有此系统服务应用中的某一个或某几个角色可以访问,其他角色不能访问的范围。
应用访问范围:针对某一个系统服务应用,应用访问范围是指该系统服务应用内的所有角色都可以访问,而其他系统服务应用不能访问的范围。
集群访问范围(默认):是指分布式集群系统内所有的系统服务应用均可访问,且无需引用,默认面向整个分布式集群系统开放,即为分布式集群系统内的全局环境变量的访问范围。
集群访问范围(非默认):是指指定的分布式集群系统内的系统服务应用可以访问,即为分布式集群系统内的局部环境变量的访问范围。
集群公共环境变量:是指保存在系统注册文件中,安装部署的整个分布式集群系统中各个系统服务应用都能够访问的环境变量。
变量依赖:是指在进行系统服务应用部署过程中,在部署当前系统服务应用时必须使用其他系统服务应用的变量,因此,需要先完成所述的其他系统服务应用的部署,再对当前系统服务应用进行部署。例如,系统服务应用A需要在系统服务应用B服务启动(部署完成后启动)后再部署,即系统服务应用A具有针对系统服务应用B的变量依赖。
系统注册文件指的是待部署系统的本地注册中心文件,即包含系统运行的基础配置及运行系统服务应用相关配置的配置文件。
现有技术中,进行私有化部署时,不论是进行单机部署,还是进行多机部署,其系统的资源都一定程度上存在限制。因而针对一些非必要的文件是不会分配资源进行部署的,如本地注册中心文件等。但是在进行私有化部署的过程中,由于客户需求越来越复杂,需要部署的服务应用会越来越多,服务应用之间的变量依赖关系也会非常复杂,使得部署难度在不断提升。同时,在进行不同场景的部署时,服务应用之间的端点访问以及IP地址修改等问题,也是困扰软件交付人员的一个重要问题。在本发明实施例中,可以借助本地注册中心文件(系统注册文件),控制变量的访问范围,解决变量之间的依赖传递,并基于域名通信来实现平滑的私有化部署过程。
下面参照图1对根据本发明的一个实施例的分布式集群系统的部署方法进行描述,在本实施例中分布式集群系统的部署方法可以包括如下步骤:
步骤S100,解析接收到的部署指令,以获取待部署分布式集群系统内每个系统服务应用的配置文件。
在本实施例中,在获得部署指令之后,可以首先对部署指令进行解析,获得该分布式集群系统的集群编排文件,即分布式集群系统部署的配置文件,该配置文件中包含有分布式集群系统中需要部署的各个系统服务应用及其变量信息,以及部署这些系统服务应用所依赖的其他系统服务应用。其中,变量信息可以包括部署系统服务应用时需要使用变量及其访问范围。
步骤S200,解析配置文件,以确定对每个系统服务应用进行部署时每个系统服务应用依赖的一个或多个其他系统服务应用。
在本实施例中,可以将步骤S100中获得的配置文件进行解析,获取这些配置中包含的各个系统服务应用进行部署过程中依赖的系统服务应用的信息。其中,依赖的系统服务应用是指在进行系统服务应用部署时,该系统服务应用需要获得另一个系统服务应用中的一个或多个变量信息后,才能够进行系统服务应用的部署,此处另一个系统服务应用即为依赖的系统服务应用。
在一种可能的实施方式中,一个系统服务应用A的配置文件片段如下:
depends:
middleware:
-mysql-01
-seaweed-asdf
其中,该系统服务应用A所依赖的其他系统服务应用为mysql-01和seaweed-asdf。
步骤S300,针对每个系统服务应用,从预设的待部署分布式集群系统的系统注册文件中,分别获取依赖的每个其他系统服务应用的环境变量以及获取预设的待部署分布式集群系统的集群公共环境变量。
在本实施例中,基于步骤S200对配置文件的解析结果,对待部署分布式集群系统的系统注册文件进行解析,获取部署系统服务应用所需要的其他系统服务应用的环境变量以及系统注册文件中预设的集群公共环境变量,其中,预设的集群公共环境变量为默认的分布式集群系统内每个系统服务应用均可访问的环境变量。
继续参阅上述步骤S200中的实施方式,通过访问系统注册文件,可以得到系统服务应用A依赖的系统服务应用mysql-01和seaweed-asdf的环境变量以及预设的集群公共环境变量,在系统注册文件中的文件片段如下所示包括:
#系统注册文件endpoints.yml
all:
open-to-cluster:example
middleware:
seaweed-asdf:
seaweed-server:1.1.1.1
seaweed-port:88
mysql-port:3306
mysql-server:2.2.2.2
public-mysql-ip:2.2.2.2
mysql-cwos-portal-password:xxx
其中,open-to-cluster为系统注册文件中预设的默认全局开放变量,即为上述预设的集群公共环境变量。而seaweed-server和seaweed-port是当前待部署的系统服务应用A依赖的系统服务应用seaweed-asdf的环境变量,mysql-server、public-mysql-ip和mysql-cwos-portal-password是当前待部署的系统服务应用A依赖的服务应用mysql-01的环境变量。
步骤S400,根据每个系统服务应用的配置文件并且使用每个系统服务应用依赖的每个其他系统服务应用的环境变量以及集群公共环境变量,分别对每个系统服务应用进行部署,以完成待部署分布式集群系统的部署。
在本实施例中,针对每个系统服务应用,均可以按照下述步骤进行部署,以完成整个待部署分布式集群系统的部署工作:将步骤S300中获得的待部署系统服务应用依赖的其他系统服务应用的环境变量、预设的集群公共环境变量以及这个待部署系统服务应用的配置文件中的私有环境变量都统一存放至一个预设的文件中,以便在进行这个待部署系统服务应用的部署时,可以直接从这个预设的文件中调取需要使用的变量。
进一步地,如图4所述,在本实施例的一种可能的实施方式中,步骤S400可以进一步包括:
步骤S410:解析配置文件,获取每个系统服务应用的私有环境变量。
在本实施方式中,解析每个系统服务应用的配置文件,并从配置文件中获取每个系统服务应的私有环境变量。其中,系统服务应用的私有环境变量是指该环境变量仅该系统服务应用可访问使用。
步骤S420:将每个系统服务应用的私有环境变量、对每个系统服务应用进行部署时每个系统服务应用依赖的其他系统服务应用的环境变量以及集群公共环境变量,分别写入每个系统服务应用的配置池文件。
在本实施方式中,将解析配置文件获得的系统服务应用的私有环境变量、该系统服务应用进行部署时所依赖的其他系统服务应用的环境变量以及预设的集群公共环境变量写入到预设的该系统服务应用的配置池文件中。其中,配置池文件是指包含每个系统服务应用进行部署时所需要的各个环境变量的文件。
继续参阅上述步骤S300所示的系统注册文件的文件片段,将从该文件片段中得到的系统服务应用A依赖的系统服务应用seaweed-asdf的环境变量,系统服务应用mysql-01的环境变量、预设的集群公共环境变量,以及通过解析系统服务应用A的配置文件得到的私有环境变量,全部写入到系统服务应用A的配置池文件,该配置池文件的文件片段如下所示:
#系统服务应用A的配置池文件dependency.yml
#原始应用配置
app_port:8080
#系统注册文件中预设的集群公共环境变量:
open-to-cluster:example
#解析的依赖配置
seaweed-server:1.1.1.1
seaweed-port:80
mysql-server:2.2.2.2
public-mysql-ip:2.2.2.2
mysql-port:3306
mysql-cwos-portal-password:xxx
其中,“解析的依赖配置”指的是通过解析配置文件得到的系统服务应用A进行部署时所依赖的其他系统服务应用的环境变量。在不同的场景下进行分布式集群系统的部署时,系统服务应用的环境变量会发生变化,在分布式集群系统部署时,将环境变量写入配置池文件中,那么在该服务应用部署启动时可以读取配置池文件中的环境变量并将读取到的环境变量更新到配置文件中的相应的变量位置(赋值)。
步骤S430:解析配置文件,分别确定对每个系统服务应用进行部署时的部署操作。
在本实施方式中,可以对系统服务应用的配置文件再次进行解析,获得该系统服务应用的部署操作。此外,也可以根据前述实施例中步骤S200或步骤S410中解析配置文件的结果中获取系统服务应用的部署操作。需要说明的是,部署操作指的是预设的将系统服务应用部署到服务器等计算机设备上时需要执行的操作方法,本领域技术人员可以根据实际需求灵活设置每个系统服务应用的部署操作的具体操作方法,只要能够成功部署系统服务应用即可。
步骤S440,根据每个系统服务应用的部署操作,从每个系统服务应用的配置池文件中分别读取每个部署操作指定的变量,根据读取到的变量分别执行每个部署操作,以对每个系统服务应用进行部署。
在本实施方式中,根据系统服务应用的部署操作,从该系统服务应用的配置池文件中读取该部署操作所需要的环境变量,并将读取到的环境变量更新至该系统服务应用的配置文件中的相应的变量位置(赋值);依据相应的环境变量分别对每个系统服务应用进行部署,以完成整个待部署分布式集群系统的部署。
进一步地,如图2所示,在本实施例的一种可能的实施方式中,步骤S400之后,本实施例还包括下列步骤S510-步骤S610:
步骤S510:解析每个系统服务应用的配置文件,获取每个系统服务应用的集群环境变量。
在本实施方式中,解析已经完成部署的系统服务应用的配置文件,获得该配置文件中的集群环境变量,也就是分布式集群系统中一部分或所有的其他系统服务应用可以访问使用的环境变量。
步骤S610:将每个系统服务应用的集群环境变量存储到系统注册文件中,以便在运行部署完成的待部署分布式集群系统时能够从系统注册文件中获取对每个系统服务应用进行运行时每个系统服务应用依赖的其他系统服务应用的集群环境变量。
在本实施方式中,将步骤S510中获得的集群环境变量存储到系统注册文件中,便于待部署分布式集群系统部署完后其他系统服务应用进行运行时,能够从系统注册文件中获得上述集群环境变量,以保证所述的其他系统服务应用能够正常运行。
在一个实施方式中,根据访问范围的不同,集群环境变量可以包括集群局部环境变量和集群全局环境变量。集群局部环境变量是能够被赋予至部署完成的待部署分布式集群系统中指定的一个或多个系统服务应用组中每个系统服务应用的变量,其中,每个系统服务应用组均可以包括多个系统服务应用。集群全局环境变量是能够被赋予至部署完成的待部署分布式集群系统中每个系统服务应用的变量。
在一种可能的实施方式中,假设系统服务应用A的配置文件的文件片段如下所示:
#应用包配置文件片段
#type值为:public|group|private,
#public:集群访问范围(默认);
#group:集群访问范围(非默认);
#private:应用访问范围
endpoints:
-name:nginx-server
type:public
alias:public-nginx-ip
-name:nginx-version
type:group
aliax:nginx-version
其中,集群访问范围(默认)指的是上述集群全局环境变量,集群访问范围(非默认)指的是上述集群局部环境变量,应用访问范围指的是前述步骤S410-步骤S440所述实施例中的私有环境变量。将集群局部环境变量和集群全局环境变量写入系统注册文件中,可以得到系统注册文件中关于系统服务应用A的文件片段如下所示:
#系统注册文件endpoints.yml
all:
open-to-cluster:example
public-ngnix-ip:3.3.3.3
middleware:
seaweed-asdf:
seaweed-server:1.1.1.1
seaweed-port:80
mysql-01:
mysql-port:3306
mysql-server:2.2.2.2
public-mysql-ip:2.2.2.2
mysql-cwos-portal-password:xxx
nginx:
nginx-version:xxx
如图3所示,在本实施例的另一种可能的实施方式中,步骤S400或步骤S610之后,本实施例还包括下列步骤S520-步骤S720:
步骤S520:根据每个系统服务应用的配置文件,确定被配置了在部署完成后需要解析域名的系统服务应用并将系统服务应用作为待处理系统服务应用。
需要说明的是,在本实施例可以采用计算机技术领域中常规的域名设置方法设置每个系统服务应用的域名(Domain name)并将域名写入到系统服务应用的配置文件中。例如,可以采用一串用点分隔的名字组成的每个系统服务应用的域名,以便在分布式集群系统部署完成后,可以通过域名对系统服务应用进行定位,访问系统服务应用。为了描述简洁,在此不再对域名设置方法进行赘述。
在本实施方式中,在系统服务应用部署完成后,解析该系统服务应用的配置文件,以确定该配置文件中是否包含需要解析的域名。
步骤S620:解析待处理系统服务应用的配置文件,获取待处理系统服务应用的域名。
在本实施方式中,步骤S520中如果确定该配置文件中有需要解析的域名,则对该域名进行解析。
步骤S720:将域名分别存储至部署完成的待部署分布式集群系统中每个节点设备的Hosts文件中,以便每个节点设备上部署的系统服务应用能够根据Hosts文件中的域名访问待处理系统服务应用。
其中,Hosts文件是指计算机技术领域中用于存储计算机网络中各节点的节点信息的计算机文件,在本发明实施例中Hosts文件是指用于存储分布式集群系统中节点设备的设备信息。在一个实施方式中,步骤S720进一步包括,将域名分别存储至部署完成的待部署分布式集群系统中每个节点设备的Hosts文件中之后,将域名与Hosts文件中存储的节点设备的IP地址进行关联,以便根据该关联关系获取相应的IP地址,与IP地址指定的节点设备通信,进而访问部署在这个节点设备上的系统服务应用。例如:当部署在某个节点设备A的系统服务应用a,想要访问部署在其他节点设备B的系统服务应用b时,可以使系统服务应用a获取系统服务应用b的域名,再从节点设备A的Hosts文件中获取与系统服务应用b的域名关联的IP地址(节点设备B的IP地址),进而根据这个IP地址就可以与节点设备B通信连接,访问系统服务应用b。
在本实施方式中,将步骤S620解析的域名存储至待部署分布式集群系统中每个节点设备的Hosts文件中。系统服务应用完成部署后,能够解析该系统服务应用的配置文件中需要解析的域名,并将解析的域名存储至待部署分布式集群系统中每个节点设备的Hosts文件中,以便应用域名实现对分布式集群内外部资源的访问。基于上述实施方式,即使在分布式集群系统部署完成后修改某个节点设备的IP地址,由于部署在这个节点设备上的系统服务应用的域名并未被修改,因此不会影响部署在其他节点设备上的系统服务应用访问部署在这个节点设备上的系统服务应用,其他节点设备上的系统服务应用仍然可以采用域名正常地访问部署这个节点设备上的系统服务应用,大幅降低了分布式集群系统部署完成后的系统维护难度和工作量。
在一种可能的实施方式中,某一个系统服务应用A的配置文件片段为:
domain:
#解析分布式集群系统内部资源
-name:nginx.cluster.local
value:{{nginx-server}}
#也可以解析分布式集群系统外部资源
-name:slb.cluster.local
value:4.4.4.4
此处分布式集群系统内部资源使用了模板语言,解析domain内容,并将其更新至分布式集群系统中的每个节点设备的Hosts文件中。其中,模板语言是指预设的将信息嵌入其他文档中的语言描述方式。上述配置文件中domain(域名)字段内容即为采用模板语言描述的方式嵌入至配置文件中的内容。解析域名时,可以解析分布式集群系统的内部资源的域名,如nginx.cluster.local;也可以解析分布式集群系统的外部资源的域名,如slb.cluster.local。其中,分布式集群系统的内部资源和外部资源是根据节点设备来确定的,如,某一个节点设备上部署的系统服务应用A需要访问在此节点上部署的系统服务应用B时,系统服务应用B即为系统服务应用A要访问的分布式集群系统的内部资源;当某一个节点设备上部署的系统服务应用C需要访问另一个节点设备上的系统服务应用D时,系统服务应用D即为系统服务应用C要访问的分布式集群系统的外部资源。
根据上述步骤所述的分布式集群系统的部署方法实施例可知,根据本发明实施例的分布式集群系统的部署方法能够从部署指令的系统服务应用的配置文件中获取部署该系统服务应用所依赖的其他系统服务应用的环境变量信息以及集群公共环境变量,并从系统注册文件中获取这些变量信息,并依据这些变量信息实现部署过程。本发明实施例通过系统注册文件来传递集群内具有依赖关系的环境变量,解决了应用之间变量依赖的问题。同时,本发明的实施例,在系统服务应用部署完成后,会将其与其他系统服务应用有关的环境变量存储在系统注册文件中,因而其他系统服务应用在进行运行时,也能够通过系统注册文件或者这些环境变量信息,进一步统一了分布式集群系统内部公共环境变量的访问方式,淡化了分布式集群系统中服务应用之间强依赖启动顺序的问题,使得分布式集群系统的部署过程更为准确高效。另外,本发明的实施例,还对系统应用服务的配置文件进行解析,获取其中需要解析的域名,并将域名信息存储至本地Hosts文件中,从而优化了分布式集群系统内外的访问方式,在进行不同场景部署时,即使在分布式集群系统部署完成后修改某个节点设备的IP地址,由于部署在这个节点设备上的系统服务应用的域名并未被修改,因此不会影响部署在其他节点设备上的系统服务应用访问部署在这个节点设备上的系统服务应用,其他节点设备上的系统服务应用仍然可以采用域名正常地访问部署这个节点设备上的系统服务应用,大幅降低了分布式集群系统部署完成后的系统维护难度和工作量。
进一步,本发明还提供了一种分布式集群系统的部署系统。
参阅附图5,图5是根据本发明一个实施例的分布式集群系统的部署系统的主要结构框图。如图5所示,在本实施例中,分布式集群系统的部署系统可以包括配置文件获取模块,其用于解析接收到的部署指令,以获取待部署分布式集群系统内每个系统服务应用的配置文件;配置文件解析模块,其用于解析配置文件,以确定对每个系统服务应用进行部署时每个系统服务应用依赖的一个或多个其他系统服务应用;环境变量获取模块,其用于针对每个系统服务应用,从预设的待部署分布式集群系统的系统注册文件中,分别获取依赖的每个其他系统服务应用的环境变量以及获取预设的待部署分布式集群系统的集群公共环境变量;集群系统部署模块,其用于根据每个系统服务应用的配置文件并且使用每个系统服务应用依赖的每个其他系统服务应用的环境变量以及集群公共环境变量,分别对每个系统服务应用进行部署,以完成待部署分布式集群系统的部署。
在一个实施方式中,集群系统部署模块可以包括私有环境变量单元、配置池写入单元、部署操作获取单元和服务应用部署单元。在本实施方式中私有环境变量单元用于解析配置文件,获取每个系统服务应用的私有环境变量。配置池写入单元用于将每个系统服务应用的私有环境变量、对每个系统服务应用进行部署时每个系统服务应用依赖的其他系统服务应用的环境变量以及集群公共环境变量,分别写入每个系统服务应用的配置池文件。部署操作获取单元用于解析配置文件,分别确定对每个系统服务应用进行部署时的部署操作。服务应用部署单元用于根据每个系统服务应用的部署操作,从每个系统服务应用的配置池文件中分别读取每个部署操作指定的变量,根据读取到的变量分别执行每个部署操作,以对每个系统服务应用进行部署。
在一个实施方式中,分布式集群系统的部署系统还可以包括集群环境变量获取模块和集群环境变量存储模块。在本实施方式中,集群环境变量获取模块用于在对每个系统服务应用进行部署之后,解析每个系统服务应用的配置文件,获取每个系统服务应用的集群环境变量。集群环境变量存储模块用于将每个系统服务应用的集群环境变量存储到系统注册文件中,以便在运行部署完成的待部署分布式集群系统时能够从系统注册文件中获取对每个系统服务应用进行运行时每个系统服务应用依赖的其他系统服务应用的集群环境变量。
在一个实施方式中,分布式集群系统的部署系统还可以包括解析域名应用获取模块、服务应用域名解析模块和域名存储模块。在本实施方式中,解析域名应用获取模块用于根据每个系统服务应用的配置文件,确定被配置了在部署完成后需要解析域名的系统服务应用并将系统服务应用作为待处理系统服务应用。服务应用域名解析模块用于解析待处理系统服务应用的配置文件,获取待处理系统服务应用的域名。域名存储模块用于将域名分别存储至部署完成的待部署分布式集群系统中每个节点设备的Hosts文件中,以便每个节点设备上部署的系统服务应用能够根据Hosts文件中的域名访问待处理系统服务应用。
在一个实施方式中,集群环境变量可以包括集群局部环境变量和集群全局环境变量;集群局部环境变量是能够被赋予至部署完成的待部署分布式集群系统中指定的一个或多个系统服务应用组中每个系统服务应用的变量;集群全局环境变量是能够被赋予至部署完成的待部署分布式集群系统中每个系统服务应用的变量。
上述分布式集群系统的部署系统用于执行图1-图4所示的分布式集群系统的部署方法实施例,两者的技术原理、所解决的技术问题及产生的技术效果相似,本技术领域技术人员可以清楚地了解到,为了描述的方便和简洁,分布式集群系统的部署系统的具体工作过程及有关说明,可以参考分布式集群系统的部署方法的实施例所描述的内容,此处不再赘述。
特别地,本发明的实施例可以通过角色(系统服务应用的角色)配置,动态调配角色私有变量的访问范围,其中变量默认访问范围为私有范围,可将变量设置为本应用(系统服务应用)访问范围,也可以将变量设置为集群访问范围。分布式集群系统的系统服务应用通过角色配置,动态获取分布式集群系统中其他系统服务应用的集群访问变量,实现了多维度控制应用变量访问范围。
需要说明的是,在本发明实施例的部署过程中,部署框架和部署语言没有限制。在本发明实施例的分布式集群系统的系统服务应用进行依赖解析时,对于配置文件的要求和格式没有限制,只要其配置文件能够在相关实现模块中实现即可。在本发明实施例进行域名解析时,对于配置文件的要求、格式以及模板没有限制,只要其配置文件在相关实现模块中实现即可。
本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
进一步,本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的分布式集群系统的部署方法的程序,该程序可以由处理器加载并运行以实现上述分布式集群系统的部署方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中计算机可读存储介质是非暂时性的计算机可读存储介质。
进一步,本发明还提供了一种控制装置。在根据本发明的一个控制装置实施例中,控制装置可以包括处理器和存储装置,存储装置可以被配置成存储执行上述分布式集群系统的部署方法实施例的程序,处理器可以被配置成用于执行存储装置中的程序,该程序包括但不限于执行上述分布式集群系统的部署方法实施例的程序。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该控制装置可以是包括各种电子设备形成的设备。
进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本发明的装置的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图中的各个模块的数量仅仅是示意性的。
本领域技术人员能够理解的是,可以对装置中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本发明的原理,因此,拆分或合并之后的技术方案都将落入本发明的保护范围内。
至此,已经结合附图所示的一个实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

Claims (8)

1.一种分布式集群系统的部署方法,其特征在于,所述方法包括:
解析接收到的部署指令,以获取待部署分布式集群系统内每个系统服务应用的配置文件;
解析所述配置文件,以确定对每个所述系统服务应用进行部署时每个所述系统服务应用依赖的一个或多个其他系统服务应用;
针对每个所述系统服务应用,从预设的所述待部署分布式集群系统的系统注册文件中,分别获取所述依赖的每个其他系统服务应用的环境变量以及获取预设的所述待部署分布式集群系统的集群公共环境变量;
根据每个所述系统服务应用的配置文件并且使用每个所述系统服务应用依赖的每个其他系统服务应用的环境变量以及所述集群公共环境变量,分别对每个所述系统服务应用进行部署,以完成所述待部署分布式集群系统的部署;
“分别对每个所述系统服务应用进行部署”的步骤具体包括:
解析所述配置文件,获取每个所述系统服务应用的私有环境变量;
将每个所述系统服务应用的私有环境变量、对每个所述系统服务应用进行部署时每个所述系统服务应用依赖的其他系统服务应用的环境变量以及所述集群公共环境变量,分别写入每个所述系统服务应用的配置池文件;
解析所述配置文件,分别确定对每个所述系统服务应用进行部署时的部署操作;
根据每个所述系统服务应用的部署操作,从每个所述系统服务应用的配置池文件中分别读取每个所述部署操作指定的变量,根据读取到的变量分别执行每个所述部署操作,以对每个所述系统服务应用进行部署。
2.根据权利要求1所述的分布式集群系统的部署方法,其特征在于,在“分别执行每个所述系统服务应用的部署操作,以完成所述待部署分布式集群系统的部署”的步骤之后,所述方法还包括:
解析每个所述系统服务应用的配置文件,获取每个所述系统服务应用的集群环境变量;
将每个所述系统服务应用的集群环境变量存储到所述系统注册文件中,以便在运行部署完成的所述待部署分布式集群系统时能够从所述系统注册文件中获取对每个所述系统服务应用进行运行时每个所述系统服务应用依赖的其他系统服务应用的集群环境变量;
并且/或者,
在“分别执行每个所述系统服务应用的部署操作,以完成所述待部署分布式集群系统的部署”的步骤之后,所述方法还包括:
根据每个所述系统服务应用的配置文件,确定被配置了在部署完成后需要解析域名的系统服务应用并将所述系统服务应用作为待处理系统服务应用;
解析所述待处理系统服务应用的配置文件,获取所述待处理系统服务应用的域名;
将所述域名分别存储至部署完成的所述待部署分布式集群系统中每个节点设备的Hosts文件中,以便每个所述节点设备上部署的系统服务应用能够根据所述Hosts文件中的域名访问所述待处理系统服务应用。
3.根据权利要求2所述的分布式集群系统的部署方法,其特征在于,所述集群环境变量包括集群局部环境变量和集群全局环境变量;
所述集群局部环境变量是能够被赋予至部署完成的所述待部署分布式集群系统中指定的一个或多个系统服务应用组中每个所述系统服务应用的变量;
所述集群全局环境变量是能够被赋予至部署完成的所述待部署分布式集群系统中每个所述系统服务应用的变量。
4.一种分布式集群系统的部署系统,其特征在于,所述部署系统包括:
配置文件获取模块,其用于解析接收到的部署指令,以获取待部署分布式集群系统内每个系统服务应用的配置文件;
配置文件解析模块,其用于解析所述配置文件,以确定对每个所述系统服务应用进行部署时每个所述系统服务应用依赖的一个或多个其他系统服务应用;
环境变量获取模块,其用于针对每个所述系统服务应用,从预设的所述待部署分布式集群系统的系统注册文件中,分别获取所述依赖的每个其他系统服务应用的环境变量以及获取预设的所述待部署分布式集群系统的集群公共环境变量;
集群系统部署模块,其用于根据每个所述系统服务应用的配置文件并且使用每个所述系统服务应用依赖的每个其他系统服务应用的环境变量以及所述集群公共环境变量,分别对每个所述系统服务应用进行部署,以完成所述待部署分布式集群系统的部署;
所述集群系统部署模块包括:
私有环境变量单元,其用于解析所述配置文件,获取每个所述系统服务应用的私有环境变量;
配置池写入单元,其用于将每个所述系统服务应用的私有环境变量、对每个所述系统服务应用进行部署时每个所述系统服务应用依赖的其他系统服务应用的环境变量以及所述集群公共环境变量,分别写入每个所述系统服务应用的配置池文件;
部署操作获取单元,其用于解析所述配置文件,分别确定对每个所述系统服务应用进行部署时的部署操作;
服务应用部署单元,用于根据每个所述系统服务应用的部署操作,从每个所述系统服务应用的配置池文件中分别读取每个所述部署操作指定的变量,根据读取到的变量分别执行每个所述部署操作,以对每个所述系统服务应用进行部署。
5.根据权利要求4所述的分布式集群系统的部署系统,其特征在于,所述部署系统还包括:
集群环境变量获取模块,其用于在对每个所述系统服务应用进行部署之后,解析每个所述系统服务应用的配置文件,获取每个所述系统服务应用的集群环境变量;
集群环境变量存储模块,其用于将每个所述系统服务应用的集群环境变量存储到所述系统注册文件中,以便在运行部署完成的所述待部署分布式集群系统时能够从所述系统注册文件中获取对每个所述系统服务应用进行运行时每个所述系统服务应用依赖的其他系统服务应用的集群环境变量;
并且/或者,所述部署系统还包括:
解析域名应用获取模块,其用于根据每个所述系统服务应用的配置文件,确定被配置了在部署完成后需要解析域名的系统服务应用并将所述系统服务应用作为待处理系统服务应用;
服务应用域名解析模块,其用于解析所述待处理系统服务应用的配置文件,获取所述待处理系统服务应用的域名;
域名存储模块,其用于将所述域名分别存储至部署完成的所述待部署分布式集群系统中每个节点设备的Hosts文件中,以便每个所述节点设备上部署的系统服务应用能够根据所述Hosts文件中的域名访问所述待处理系统服务应用。
6.根据权利要求5所述的分布式集群系统的部署系统,其特征在于,所述集群环境变量包括集群局部环境变量和集群全局环境变量;
所述集群局部环境变量是能够被赋予至部署完成的所述待部署分布式集群系统中指定的一个或多个系统服务应用组中每个所述系统服务应用的变量;
所述集群全局环境变量是能够被赋予至部署完成的所述待部署分布式集群系统中每个所述系统服务应用的变量。
7.一种控制装置,包括处理器和存储装置,所述存储装置适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行权利要求1至3中任一项所述的分布式集群系统的部署方法。
8.一种计算机可读存储介质,其中存储有多条程序代码,其特征在于,所述程序代码适于由处理器加载并运行以执行权利要求1至3中任一项所述的分布式集群系统的部署方法。
CN202110565769.8A 2021-05-24 2021-05-24 分布式集群系统的部署方法、系统、介质和装置 Active CN113328880B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110565769.8A CN113328880B (zh) 2021-05-24 2021-05-24 分布式集群系统的部署方法、系统、介质和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110565769.8A CN113328880B (zh) 2021-05-24 2021-05-24 分布式集群系统的部署方法、系统、介质和装置

Publications (2)

Publication Number Publication Date
CN113328880A CN113328880A (zh) 2021-08-31
CN113328880B true CN113328880B (zh) 2022-12-20

Family

ID=77416466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110565769.8A Active CN113328880B (zh) 2021-05-24 2021-05-24 分布式集群系统的部署方法、系统、介质和装置

Country Status (1)

Country Link
CN (1) CN113328880B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116066B (zh) * 2021-11-30 2024-05-07 湖南麒麟信安科技股份有限公司 一种云平台集群控制方法、系统及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639489A (zh) * 2018-12-18 2019-04-16 郑州云海信息技术有限公司 一种RabbitMQ集群部署方法、系统、设备和介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963928A (zh) * 2009-07-22 2011-02-02 升东网络科技发展(上海)有限公司 数据库全量备份系统及方法
CN106982266A (zh) * 2017-05-27 2017-07-25 郑州云海信息技术有限公司 一种自动化部署集群的方法和装置
CN107547654B (zh) * 2017-09-12 2020-10-02 郑州云海信息技术有限公司 一种分布式对象存储集群、部署、服务方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639489A (zh) * 2018-12-18 2019-04-16 郑州云海信息技术有限公司 一种RabbitMQ集群部署方法、系统、设备和介质

Also Published As

Publication number Publication date
CN113328880A (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
CN108737325B (zh) 一种多租户数据隔离方法、装置及系统
US10430171B2 (en) Extensions for deployment patterns
US11030025B2 (en) Managing inter-process communications in a containerized application environment
US10296317B2 (en) Continuous publication of application to remote computing devices
US20140380308A1 (en) Methods and apparatus to generate a customized application blueprint
WO2019242162A1 (zh) 中间件安装方法、装置、计算机设备及存储介质
CN108243079B (zh) 一种基于vpc进行网络访问的方法与设备
US10572294B1 (en) Automated application footprint discovery for application migration to containers
US10250601B2 (en) Updating database drivers for client applications through a database server push
CN106550037A (zh) 一种服务器间共享数据的方法及装置
CN112615758B (zh) 一种应用识别方法、装置、设备及存储介质
CN109672722B (zh) 数据部署方法及装置、计算机存储介质和电子设备
US11785054B2 (en) Deriving system architecture from security group relationships
CN113328880B (zh) 分布式集群系统的部署方法、系统、介质和装置
US10827034B2 (en) Providing application versions via delta volumes
CN112615945A (zh) 域名解析记录管理方法、装置、计算机设备及存储介质
CN113760306A (zh) 安装软件的方法、装置、电子设备及存储介质
CN114356521A (zh) 任务调度方法、装置、电子设备及存储介质
US20210006551A1 (en) Tag-based access permissions for cloud computing resources
US20110264883A1 (en) Device for selecting and configuring a default storage section and the corresponding method
CN107018140B (zh) 一种权限控制方法和系统
US10469473B2 (en) Network authentication system extensions
US11777907B2 (en) Computer asset discovery for digital transformation
CN109189753B (zh) 一种在hue中添加用户信息的方法及装置
US11487570B1 (en) Efficient creation of endpoints for accessing services directly within a cloud-based system

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
GR01 Patent grant
GR01 Patent grant