CN114661312A - 一种OpenStack集群嵌套部署方法及系统 - Google Patents
一种OpenStack集群嵌套部署方法及系统 Download PDFInfo
- Publication number
- CN114661312A CN114661312A CN202210299188.9A CN202210299188A CN114661312A CN 114661312 A CN114661312 A CN 114661312A CN 202210299188 A CN202210299188 A CN 202210299188A CN 114661312 A CN114661312 A CN 114661312A
- Authority
- CN
- China
- Prior art keywords
- template
- expansion
- cluster
- contraction
- internal
- 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.)
- Granted
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供了一种OpenStack集群嵌套部署方法及系统获取编排模板,并将编排模板进行语法校正处理,得到目标Heat模板,以确定扩缩容模板;基于扩缩容模板侦测内部集群的性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板所对应的模板类型编译为内部集群适配的扩缩容执行模板所对应的模板类型,以确定与内部集群适配的扩缩容执行模板;将扩缩容执行模板传入内部集群,以对内部集群执行扩缩容操作。通过本发明,实现了外部集群以及内部集群的自由部署,或者进行同时部署外部集群与内部集群,并实现了借助外部集群对内部集群的扩缩容操作。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种OpenStack集群嵌套部署方法及系统。
背景技术
现有的OpenStack集群部署方案一般通过四种方式予以实现,分别是基于Ansible自动化部署集群、基于Kolla-Ansible自动化部署集群、RDO(远程桌面管理工具)自动化部署集群或者手动部署集群。
然而,上述方法并不能解决集群嵌套部署的问题,其中,手动部署每个服务组件,存在部署效率较低的缺陷,且如果集群规模很大,则需要耗费很长时间才能部署一套完整的集群;ROD是一种官方提供集群部署工具,但是只能部署社区版本的OpenStack集群;Kolla-Ansible虽然可以部署不同版本的OpenStack集群,但是如果想要实现集群嵌套部署的话,也是需要人为干预以实现,同样存在部署效率低且部署繁琐的缺陷。另外,前述方法实现集群嵌套部署对开发人员的技术要求较高。
对于集群环境的扩缩容来说,目前可以通过Heat基于Ceilometer监控计量系统予以实现,Ceilometer普遍存在反应性能比较差,并且还要借助于消息队列系统(MessageQueue,MQ)实现性能指标的推送,因此如果消息过多则会出现来不及处理的现象,因此在嵌套部署的集群执行扩缩容场景中存在不够高效的缺点。第二种方法就是通过容器化OpenStack各个组件,并且借助于Kubernetes应用编排系统,以实现集群环境监控以及扩缩容,这种方法存在以下缺点:一方面,需要额外部署Kubernetes服务,从而增加了环境资源的开销;另一方面,需要熟练运用Kubernetes服务,则对于运维人员的技术门槛要求则比较高。
有鉴于此,有必要对现有技术中的集群嵌套部署方法予以改进,以解决上述问题。
发明内容
本发明的目的在于揭示一种OpenStack集群嵌套部署方法及系统,用以实现嵌套部署的内部集群与外部集群的快速部署及扩缩容操作。
为实现上述目的,本发明提供了一种OpenStack集群嵌套部署方法,包括:
获取编排模板,并将所述编排模板进行语法校正处理,得到目标Heat模板,以确定扩缩容模板;
基于所述扩缩容模板侦测内部集群的性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板所对应的模板类型编译为内部集群适配的扩缩容执行模板所对应的模板类型,以确定与内部集群适配的扩缩容执行模板;
将所述扩缩容执行模板传入内部集群,以对内部集群执行扩缩容操作。
作为本发明的进一步改进,所述将所述编排模板进行语法校正处理,得到目标Heat模板,以确定扩缩容模板,包括:
对所述编排模板进行语法解析,并将所述编排模板通过转译关系映射表将所述编排模板转换为目标Heat模板,以确定扩缩容模板。
作为本发明的进一步改进,所述获取编排模板由订阅发布系统接收自主控端以在线配置或者离线配置发起的预配置扩缩容模板包事件予以确定,其中,所述主控端包括用户、第三方服务或者机器人程序。
作为本发明的进一步改进,所述确定扩缩容模板之后,还包括:
将所述扩缩容模板上传至扩缩容系统,以通过所述扩缩容系统基于所述扩缩容模板侦测内部集群的性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板为传入部署于外部集群的模板编排系统,以由所述模板编排系统将扩缩容模板编译为内部集群适配的扩缩容执行模板,其中,所述扩缩容系统部署于基础设施层与模型层之间的控制支配层。
作为本发明的进一步改进,所述基于所述扩缩容模板侦测内部集群的性能监控指标,包括:
所述扩缩容系统将扩缩容模板中的模板信息上传至监控服务;
所述监控服务启动监控流程并根据扩缩容模板中的模板信息所包含的至少一性能监控指标的预设告警条件,获取内部集群的性能监控指标。
作为本发明的进一步改进,所述将所述编排模板通过转译关系映射表将所述编排模板转换为目标Heat模板,包括:
对所述编排模板进行语法解析并根据语法分类,得到第一Heat模板和/或Kubernetes模板;
通过转译关系映射表将所述Kubernetes模板转换为第二Heat模板;
将所述第一Heat模板与所述第二Heat模板重新组合以确定目标Heat模板。
作为本发明的进一步改进,所述性能监控指标包括:CPU信息、磁盘信息中的一种或者任意几种组合。
作为本发明的进一步改进,所述将扩缩容模板所对应的模板类型编译为内部集群适配的扩缩容执行模板所对应的模板类型,包括:
将扩缩容模板所对应的template模板类型编译为内部集群适配的扩缩容执行模板所对应的jsontemplater模板类型。
基于相同发明思想,本发明还提供了一种OpenStack集群嵌套部署系统,包括:
模板获取模块,所述模板获取模块获取编排模板,并将所述编排模板进行语法校正处理,得到目标Heat模板,以确定扩缩容模板;
转换模块,所述转换模块基于所述扩缩容模板侦测内部集群的性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板所对应的模板类型编译为内部集群适配的扩缩容执行模板所对应的模板类型,以确定与内部集群适配的扩缩容执行模板;
扩缩容模块,所述扩缩容模块将所述扩缩容执行模板传入内部集群,以对内部集群执行扩缩容操作。
作为本发明的进一步改进,所述将所述编排模板进行语法校正处理,得到目标Heat模板,以确定扩缩容模板,包括:
对所述编排模板进行语法解析,并将所述编排模板通过转译关系映射表将所述编排模板转换为目标Heat模板,以确定扩缩容模板。
作为本发明的进一步改进,所述模板获取模块还包括:
将所述扩缩容模板上传至扩缩容系统,以通过所述扩缩容系统基于所述扩缩容模板侦测内部集群的性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板为传入部署于外部集群的模板编排系统,以由所述模板编排系统将扩缩容模板编译为内部集群适配的扩缩容执行模板,其中,所述扩缩容系统部署于基础设施层与模型层之间的控制支配层。
与现有技术相比,本发明的有益效果是:
通过本申请,实现了外部集群以及内部集群的自由部署,不仅可以部署外部集群,还可以同时部署嵌套部署的外部集群与内部集群,或者同时部署嵌套部署的外部集群与内部集群,从而提高了嵌套部署的内部集群与外部集群的部署效率。另外,通过本发明,可以实现在外部集群部署多个内部集群,还可以实现在内部集群内再部署一个或者多个内部集群或者在一个外部集群中同时部署多个内部集群,从而可以控制物理资源的合理使用,并实现了对物理资源的细粒度操作。
附图说明
图1为本发明一种OpenStack集群嵌套部署方法的运行于计算机系统的整体拓扑图;
图2为图1所示出的一种OpenStack集群嵌套部署方法的运行于计算机系统的局部拓扑图;
图3为本发明一种OpenStack集群嵌套部署方法的整体流程图;
图4为本发明一种OpenStack集群嵌套部署方法所示出的确定扩缩容模板流程图;
图5为基于图3所示出的OpenStack集群嵌套部署方法的OpenStack集群嵌套部署系统的拓扑图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
集群是指一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点。一个理想的集群是,用户不会意识到集群系统底层的节点,在用户看来,集群是一个系统,而并非多个计算机系统,并且集群系统的管理员可以随意增加或者删改集群系统的节点。
OpenStack集群是指在多个物理服务器上或者多个虚拟机上,部署OpenStack运行所需要的服务组件。OpenStack集群嵌套部署是指在OpenStack集群内部再部署一套OpenStack集群。
扩缩容是指通过容器服务管理控制台,可以根据实际业务需求对集群的节点进行扩容以及缩容处理。
本发明的一种OpenStack集群嵌套部署方法的应用场景为OpenStack集群作嵌套部署以及扩缩容操作。该OpenStack集群嵌套部署方法可以运行在部署有外部集群100、内部集群200以及部署决策系统300的计算机系统1000中,还可以运行于部署有多个计算机系统1000的云平台中,该云平台可以被理解为超融合一体机、计算机、服务器、数据中心或者便捷式终端通过虚拟化技术所形成的一种服务或者系统。申请人在本实施例中主要以计算机系统1000为范例予以示范性说明。
需要说明的是,外部集群100与内部集群200广泛的理解为将集群嵌套部署中位于外部的集群定义为外部集群100,将集群嵌套部署中位于内部的集群定义为内部集群200。例如:参图1所示,计算机系统1000内部署有外部集群100以及内部集群200,假如,在内部集群200内再部署一个集群,则此时将此集群(即,前述再部署一个集群)定义为内部集群,将内部集群200定义为外部集群。另,同样可以在同一个集群在部署多个内部集群,即一个外部集群100内部署有多个内部集群200,对此,本实施例不对OpenStack集群嵌套部署的形式作限定。
在本实施方式中,参图2所示,一种OpenStack集群嵌套部署方法,包括以下步骤S1至步骤S3。
步骤S1、获取编排模板,并将编排模板进行语法校正处理,得到目标Heat模板,以确定扩缩容模板。
示例性地,参图1所示,计算机系统1000内部署外部集群100、内部集群200以及部署决策系统300。其中,部署决策系统300理解为一个进程,可以实现外部集群100与内部集群300的部署,以及内部集群200的扩缩容功能。另外,部署决策系统300内部署Kolla-Ansible,Kolla-Ansible是一个结构相对简单的项目,通过一个shell脚本,根据用户的参数选择不同的playbook和不同的参数调用ansible-playbook执行,用以实现外部集群100的部署。示例性地,部署决策系统300内还部署订阅发布系统31、扩缩容系统32以及执行适配器33。
具体地,订阅发布系统31接收扩缩容模板包,并从扩缩容模板包中提取编排模板(例如,从扩缩容模板包中提取编排模板yaml文件),并对编排模板进行语法解析,将语法解析后的编排模板通过转译关系映射表将编排模板转换为目标Heat模板,以确定扩缩容模板。转译关系映射表可预配置于连接嵌套部署的内部集群与外部集群所构成的计算机系统100的数据库(DB)中,以通过该转译关系映射表实现编排模板编译为目标Heat模板过程中所使用的计算机语法规则,以实现不同模板类型的编排模板对内部集群执行扩缩容操作过程中的适应性。转译关系映射表在被配置于数据库后,并可通过修改值的方式,以修改编译过程所依赖的计算机语法规则。
需要说明的是,订阅发布系统31所接收的扩缩容模板包是由自主控端以在线配置或者离线配置发起的预配置扩缩容模板包事件,其中,主控端包括用户、第三方服务(基于Web Service架构且能够通过API访问云平台的服务,例如,微信小程序、插件)或者机器人程序。例如:用户通过管理页面,然后管理页面连接RestAPI以向部署决策系统300上传扩缩容模板包,其中,管理页面是指管理操作页面,用以实现OpenStack集群的管理配置,RestAPI是指对外提供访问对向数据的统一接口。另外,还可以通过第三方服务连接RestAPI以上传扩缩容模板包。yaml文件是一种资源清单文件,通过命令可以直接使用资源清单文件以实现对大量资源对象进行编排部署。
参图3所示,对编排模板进行语法解析,并将编排模板通过转译关系映射表将编排模板转换为目标Heat模板,以确定扩缩容模板,包括步骤S11至步骤S13。
步骤S11、对编排模板进行语法解析并根据语法分类,得到第一Heat模板和/或Kubernetes模板。
具体地,将编排模板yaml文件进行语法解析,其内部实现了两套语法解析机制,一种为Heat模板语法,另一种为Kubernetes模板语法,根据两种语法解析机制对编排yaml文件进行分类,从而得到第一Heat模板以及Kubernetes模板。
步骤S12、通过转译关系映射表将Kubernetes模板转换为第二Heat模板。
具体地,映射表用于存放键值对(Key-Value),转译关系映射表体现在编排模板编译为目标Heat模板过程中所使用的计算机语法规则,如果提供了键就能查找到相应的值。通过Kubernetes模板语法与Heat模板语法的转译关系映射表,实现Kubernetes模板语法与Heat模板语法的配对,从而将Kubernetes模板转换为第二Heat模板。
步骤S13、将所第一Heat模板与第二Heat模板重新组合以确定目标Heat模板。
具体地,将最终得到的Heat模板语法的第一Heat模板以及通过转译关系映射表转换得到的第二Heat模板进行重新组合,从而确定目标Heat模板。另外,对编排模板进行语法解析以最终得到目标Heat模板,即,扩缩容模板。由此,假如语法解析后仅仅存在一种模板语法或者存储多种模板语法,只要能实现解析、转换,然后重新组合后以确定目标Heat模板即可。步骤S2、基于扩缩容模板侦测内部集群的性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板所对应的模板类型编译为内部集群适配的扩缩容执行模板所对应的模板类型,以确定与内部集群适配的扩缩容执行模板。
示例性地,前述订阅发布系统31内将最终得到的扩缩容模板上传至扩缩容系统32,以通过扩缩容系统32实现下述基于扩缩容模板32侦测内部集群的性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板传入部署于外部集群100的模板编排系统34,以由模板编排系统34将扩缩容模板编译为内部集群200适配的扩缩容执行模板的操作,其中,扩缩容系统32部署于基础设施层与模型层之间的控制支配层。扩缩容系统32将扩缩容模板中的模板信息上传至部署于扩缩容系统32的监控服务,监控服务启动监控流程并根据扩缩容模板中的模板信息所包含的至少一性能监控指标的预设告警条件,获取内部集群的性能监控指标。其中,性能监控指标包括:CPU信息、磁盘信息中的一种或者任意几种组合。
具体地,监控服务启动监控流程,通过Socket连接内部集群200,实现扩缩容系统32部署的监控服务与内部集群200之间的通信,从而基于扩缩容模板中所包含的模板信息,获取内部集群200的性能监控指标。其中Socket是应用层与TCP/IP协议族通信的中间软件抽象层。监控服务接收性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板传入执行适配器33,执行适配器33将扩缩容模板所对应的template模板编译为内部集群200适配的扩缩容执行模板所对应的json templater模板类型,从而确定与内部集群200适配的扩缩容执行模板。需要说明的是,前述基于Socket连接的通信技术以及扩缩容模板中所包含的模板信息的技术手段,实现了对性能监控指标的快速采集,避免了不必要的性能损耗(例如:因监控不需要的性能监控指标所产生的算力消耗、端口消耗、存储空间消耗及带宽消耗等计算机资源的性能耗损),从而增强了内部集群200的编排能力。监控服务对部署于内部集群和/或外部集群中的一个或者多个work节点的实时状态,并基于自定义的性能监控指标对Work节点所属的集群(通常是内部集群)所呈现的性能监控指标,以确定是否将扩缩容模板传递至执行适配器33。执行适配器33是实现具体部署或者扩缩容集群的工作流程,并与模板编排系统34通过API接口341对与API接口341所匹配的内部集群200执行扩缩容操作。另外,通过Socket通信技术,以实现获取内部集群200的性能监控指标,由此避免了额外的性能损耗,另外,通过判断性能监控指标是否符合预设告警条件以确定是否执行后续扩缩容操作,大大增强了集群内部嵌套一个或者多个内部集群场景中对内部集群执行扩缩容操作的编排能力。
步骤S3、将扩缩容执行模板传入内部集群,对内部集群执行扩缩容操作。
具体地,参图2所示,执行适配器33将扩缩容执行模板通过部署于外部集群100的模板编排系统34,由此调用模板编排系统34的API接口341,从而通过API接口341将扩缩容执行模板上传至内部集群200,以实现对与API接口341匹配的内部集群200的扩缩容操作。需要说明的是,通过前述技术方案,实现了外部集群100与内部集群200的自由部署,不仅可以部署外部集群100,还可以同时部署嵌套部署的外部集群100与内部集群200,在实现嵌套集群的部署时,可以同时进行相互嵌套部署的内部集群与外部集群,从而提高了嵌套部署的多个内外集群的部署效率。另外,还可以实现在外部集群100部署多个内部集群200,还可以实现在内部集群200内再部署一个或者多个内部集群(未示出),从而实现多个集群的逐级嵌套部署,从而可以控制物理资源的使用,并实现了对物理资源的细粒度操作。
进一步地,基于上文所述的一种OpenStack集群嵌套部署方法的具体实例,本实施例还揭示了一种OpenStack集群嵌套部署系统,参图5所示,该OpenStack集群嵌套部署系统包括:模板获取模块41、转换模块42以及扩缩容模块43。
模板获取模块41获取编排模板,并将所述编排模板进行语法校正处理,得到目标Heat模板,以确定扩缩容模板。
具体地,订阅发布系统31接收扩缩容模板包,并从扩缩容模板包中提取编排模板(例如,从扩缩容模板包中提取编排模板yaml文件),并对编排模板进行语法解析,将语法解析后的编排模板通过转译关系映射表将编排模板转换为目标Heat模板,从而确定扩缩容模板。
需要说明的是,订阅发布系统31所接收的扩缩容模板包是由自主控端以在线配置或者离线配置发起的预配置扩缩容模板包事件,其中,主控端包括用户、第三方服务(基于Web Service架构且能够通过API访问云平台的服务,例如,微信小程序、插件)或者机器人程序。例如:用户通过嵌布管理页面(一种UI界面)的客户端(例如计算机),在管理页面环境中连接RestAPI以向部署决策系统300上传扩缩容模板包,其中,管理页面是指管理操作页面,用以实现OpenStack集群的管理配置,RestAPI是指对外提供访问对向数据的统一接口。另外,还可以通过第三方服务连接RestAPI以离线配置方式发起预配置扩缩容模板包,以上传扩缩容模板包。yaml文件是一种资源清单文件,通过命令可以直接使用资源清单文件以实现对大量资源对象进行编排部署。
另外,订阅发布系统31内将最终得到的扩缩容模板上传至扩缩容系统32,以通过扩缩容系统32实现下述基于扩缩容模板32侦测内部集群的性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板传入部署于外部集群100的模板编排系统34,以由模板编排系统34将扩缩容模板编译为内部集群200适配的扩缩容执行模板的操作,其中,扩缩容系统32部署于基础设施层与模型层之间的控制支配层。扩缩容系统32将扩缩容模板中的模板信息上传至部署于扩缩容系统32的监控服务,监控服务启动监控流程并根据扩缩容模板中的模板信息所包含的至少一性能监控指标的预设告警条件,获取内部集群的性能监控指标。其中,性能监控指标包括:CPU信息、磁盘信息中的一种或者任意几种组合。
转换模块42基于所述扩缩容模板侦测内部集群的性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板所对应的模板类型编译为内部集群适配的扩缩容执行模板所对应的模板类型,以确定与内部集群适配的扩缩容执行模板。
具体地,监控服务启动监控流程,通过Socket连接内部集群200,实现扩缩容系统32部署的监控服务与内部集群200之间的通信,从而基于扩缩容模板中所包含的模板信息,获取内部集群200的性能监控指标。其中Socket是应用层与TCP/IP协议族通信的中间软件抽象层。监控服务接收性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板传入执行适配器33,执行适配器33将扩缩容模板所对应的template模板编译为内部集群200适配的扩缩容执行模板所对应的jsontemplater模板类型,从而确定与内部集群200适配的扩缩容执行模板。其中,将jsontemplater模板类型宽泛地理解为内部集群200能够识别的文件格式,以后续实现内部集群200的扩缩容操作。
需要说明的是,前述基于Socket通信技术以及扩缩容模板中所包含的模板信息,以实现性能监控指标的快速采集能力,避免了不必要的性能损耗(例如:不需要的性能监控指标)从而增强了内部集群200的编排能力。监控服务是指。执行适配器33是实现具体部署或者扩缩容集群的工作流程。另外,通过Socket通信技术,以实现获取内部集群200的性能监控指标,由此避免了额外的性能损耗,另外,通过判断性能监控指标是否符合预设告警条件以确定是否执行后续扩缩容操作,大大增强了集群的编排能力。
扩缩容模块43将所述扩缩容执行模板传入内部集群,以对内部集群执行扩缩容操作。
具体地,参图2所示,执行适配器33将扩缩容执行模板通过部署于外部集群100的模板编排系统34,由此调用模板编排系统34的API接口341,从而通过API接口341将扩缩容执行模板上传至内部集群200,以实现对与API接口341匹配的内部集群200的扩缩容操作。
需要说明的是,通过前述技术方案,实现了外部集群100与内部集群200的自由部署,不仅可以部署外部集群100,还可以同时部署外部集群100与内部集群200,及实现内外集群嵌套部署时,从而提高了嵌套集群部署的效率。另外,还可以实现在外部集群100部署多个内部集群200,还可以实现在内部集群200内再部署一个或者多个集群,从而可以控制物理资源的使用,并实现了对物理资源的细粒度操作。
另外,前述OpenStack集群嵌套部署方法中的步骤S1所含逻辑由OpenStack集群嵌套部署系统中的模板获取模块41予以实现,前述OpenStack集群嵌套部署方法中的步骤S2所含逻辑由OpenStack集群嵌套部署系统中的转换模块42予以实现。前述OpenStack集群嵌套部署方法中的步骤S3所含逻辑由OpenStack集群嵌套部署系统中的扩缩容模块43予以实现。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (11)
1.一种OpenStack集群嵌套部署方法,其特征在于,包括:
获取编排模板,并将所述编排模板进行语法校正处理,得到目标Heat模板,以确定扩缩容模板;
基于所述扩缩容模板侦测内部集群的性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板所对应的模板类型编译为内部集群适配的扩缩容执行模板所对应的模板类型,以确定与内部集群适配的扩缩容执行模板;
将所述扩缩容执行模板传入内部集群,以对内部集群执行扩缩容操作。
2.根据权利要求1所述的OpenStack集群嵌套部署方法,其特征在于,所述将所述编排模板进行语法校正处理,得到目标Heat模板,以确定扩缩容模板,包括:
对所述编排模板进行语法解析,并将所述编排模板通过转译关系映射表将所述编排模板转换为目标Heat模板,以确定扩缩容模板。
3.根据权利要求1所述的OpenStack集群嵌套部署方法,其特征在于,所述获取编排模板由订阅发布系统接收自主控端以在线配置或者离线配置发起的预配置扩缩容模板包事件予以确定,其中,所述主控端包括用户、第三方服务或者机器人程序。
4.根据权利要求1所述的OpenStack集群嵌套部署方法,其特征在于,所述确定扩缩容模板之后,还包括:
将所述扩缩容模板上传至扩缩容系统,以通过所述扩缩容系统基于所述扩缩容模板侦测内部集群的性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板为传入部署于外部集群的模板编排系统,以由所述模板编排系统将扩缩容模板编译为内部集群适配的扩缩容执行模板,其中,所述扩缩容系统部署于基础设施层与模型层之间的控制支配层。
5.根据权利要求1所述的OpenStack集群嵌套部署方法,其特征在于,所述基于所述扩缩容模板侦测内部集群的性能监控指标,包括:
所述扩缩容系统将扩缩容模板中的模板信息上传至监控服务;
所述监控服务启动监控流程并根据扩缩容模板中的模板信息所包含的至少一性能监控指标的预设告警条件,获取内部集群的性能监控指标。
6.根据权利要求2所述的OpenStack集群嵌套部署方法,其特征在于,所述将所述编排模板通过转译关系映射表将所述编排模板转换为目标Heat模板,包括:
对所述编排模板进行语法解析并根据语法分类,得到第一Heat模板和/或Kubernetes模板;
通过转译关系映射表将所述Kubernetes模板转换为第二Heat模板;
将所述第一Heat模板与所述第二Heat模板重新组合以确定目标Heat模板。
7.根据权利要求2所述的OpenStack集群嵌套部署方法,其特征在于,所述性能监控指标包括:CPU信息、磁盘信息中的一种或者任意几种组合。
8.根据权利要求2所述的OpenStack集群嵌套部署方法,其特征在于,所述将扩缩容模板所对应的模板类型编译为内部集群适配的扩缩容执行模板所对应的模板类型,包括:
将扩缩容模板所对应的template模板类型编译为内部集群适配的扩缩容执行模板所对应的jsontemplater模板类型。
9.一种OpenStack集群嵌套部署系统,其特征在于,包括:
模板获取模块,所述模板获取模块获取编排模板,并将所述编排模板进行语法校正处理,得到目标Heat模板,以确定扩缩容模板;
转换模块,所述转换模块基于所述扩缩容模板侦测内部集群的性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板所对应的模板类型编译为内部集群适配的扩缩容执行模板所对应的模板类型,以确定与内部集群适配的扩缩容执行模板;
扩缩容模块,所述扩缩容模块将所述扩缩容执行模板传入内部集群,以对内部集群执行扩缩容操作。
10.根据权利要求9所述的OpenStack集群嵌套部署系统,其特征在于,所述将所述编排模板进行语法校正处理,得到目标Heat模板,以确定扩缩容模板,包括:
对所述编排模板进行语法解析,并将所述编排模板通过转译关系映射表将所述编排模板转换为目标Heat模板,以确定扩缩容模板。
11.根据权利要求9所述的OpenStack集群嵌套部署系统,其特征在于,所述模板获取模块还包括:
将所述扩缩容模板上传至扩缩容系统,以通过所述扩缩容系统基于所述扩缩容模板侦测内部集群的性能监控指标,当性能监控指标符合预设告警条件时,将扩缩容模板为传入部署于外部集群的模板编排系统,以由所述模板编排系统将扩缩容模板编译为内部集群适配的扩缩容执行模板,其中,所述扩缩容系统部署于基础设施层与模型层之间的控制支配层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210299188.9A CN114661312B (zh) | 2022-03-25 | 2022-03-25 | 一种OpenStack集群嵌套部署方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210299188.9A CN114661312B (zh) | 2022-03-25 | 2022-03-25 | 一种OpenStack集群嵌套部署方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114661312A true CN114661312A (zh) | 2022-06-24 |
CN114661312B CN114661312B (zh) | 2023-06-09 |
Family
ID=82030718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210299188.9A Active CN114661312B (zh) | 2022-03-25 | 2022-03-25 | 一种OpenStack集群嵌套部署方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114661312B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120072578A1 (en) * | 2010-09-17 | 2012-03-22 | Microsoft Corporation | Integrating external and cluster heat map data |
CN107479974A (zh) * | 2017-08-09 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种虚拟机调度方法及装置 |
CN108462746A (zh) * | 2018-03-14 | 2018-08-28 | 广州西麦科技股份有限公司 | 一种基于openstack的容器部署方法及架构 |
CN108469989A (zh) * | 2018-03-13 | 2018-08-31 | 广州西麦科技股份有限公司 | 一种基于集群性能的反馈式自动扩缩容方法及系统 |
CN110096336A (zh) * | 2019-04-29 | 2019-08-06 | 江苏满运软件科技有限公司 | 数据监控方法、装置、设备和介质 |
US10708082B1 (en) * | 2018-08-31 | 2020-07-07 | Juniper Networks, Inc. | Unified control plane for nested clusters in a virtualized computing infrastructure |
CN111522628A (zh) * | 2020-04-27 | 2020-08-11 | 上海仪电(集团)有限公司中央研究院 | 一种基于OpenStack的Kubernetes集群搭建部署方法、架构及存储介质 |
CN111542064A (zh) * | 2020-04-22 | 2020-08-14 | 中国科学院计算技术研究所 | 一种用于无线接入网的容器编排管理系统及编排方法 |
CN111552508A (zh) * | 2020-04-29 | 2020-08-18 | 杭州数梦工场科技有限公司 | 应用程序版本构建方法、装置、电子设备 |
US20200348918A1 (en) * | 2019-05-05 | 2020-11-05 | Mastercard International Incorporated | Automated core services bootstrap for on-premises clusters |
CN112445575A (zh) * | 2020-11-27 | 2021-03-05 | 中国工商银行股份有限公司 | 多集群资源调度方法、装置及系统 |
CN112506444A (zh) * | 2020-12-28 | 2021-03-16 | 南方电网深圳数字电网研究院有限公司 | 基于Kubernetes集群的扩缩容控制方法和装置、电子设备 |
CN113051075A (zh) * | 2021-03-23 | 2021-06-29 | 烽火通信科技股份有限公司 | 一种Kubernetes智能化扩缩容的方法及装置 |
CN113067850A (zh) * | 2021-02-20 | 2021-07-02 | 麒麟软件有限公司 | 一种多云场景下的集群编排系统 |
CN113238763A (zh) * | 2021-05-17 | 2021-08-10 | 京东数字科技控股股份有限公司 | 应用部署的方法、设备、存储介质及程序产品 |
WO2022037612A1 (zh) * | 2020-08-20 | 2022-02-24 | 第四范式(北京)技术有限公司 | 提供应用构建服务的方法及应用构建平台、应用部署方法和系统 |
-
2022
- 2022-03-25 CN CN202210299188.9A patent/CN114661312B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120072578A1 (en) * | 2010-09-17 | 2012-03-22 | Microsoft Corporation | Integrating external and cluster heat map data |
CN107479974A (zh) * | 2017-08-09 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种虚拟机调度方法及装置 |
CN108469989A (zh) * | 2018-03-13 | 2018-08-31 | 广州西麦科技股份有限公司 | 一种基于集群性能的反馈式自动扩缩容方法及系统 |
CN108462746A (zh) * | 2018-03-14 | 2018-08-28 | 广州西麦科技股份有限公司 | 一种基于openstack的容器部署方法及架构 |
US10708082B1 (en) * | 2018-08-31 | 2020-07-07 | Juniper Networks, Inc. | Unified control plane for nested clusters in a virtualized computing infrastructure |
CN110096336A (zh) * | 2019-04-29 | 2019-08-06 | 江苏满运软件科技有限公司 | 数据监控方法、装置、设备和介质 |
US20200348918A1 (en) * | 2019-05-05 | 2020-11-05 | Mastercard International Incorporated | Automated core services bootstrap for on-premises clusters |
CN111542064A (zh) * | 2020-04-22 | 2020-08-14 | 中国科学院计算技术研究所 | 一种用于无线接入网的容器编排管理系统及编排方法 |
CN111522628A (zh) * | 2020-04-27 | 2020-08-11 | 上海仪电(集团)有限公司中央研究院 | 一种基于OpenStack的Kubernetes集群搭建部署方法、架构及存储介质 |
CN111552508A (zh) * | 2020-04-29 | 2020-08-18 | 杭州数梦工场科技有限公司 | 应用程序版本构建方法、装置、电子设备 |
WO2022037612A1 (zh) * | 2020-08-20 | 2022-02-24 | 第四范式(北京)技术有限公司 | 提供应用构建服务的方法及应用构建平台、应用部署方法和系统 |
CN112445575A (zh) * | 2020-11-27 | 2021-03-05 | 中国工商银行股份有限公司 | 多集群资源调度方法、装置及系统 |
CN112506444A (zh) * | 2020-12-28 | 2021-03-16 | 南方电网深圳数字电网研究院有限公司 | 基于Kubernetes集群的扩缩容控制方法和装置、电子设备 |
CN113067850A (zh) * | 2021-02-20 | 2021-07-02 | 麒麟软件有限公司 | 一种多云场景下的集群编排系统 |
CN113051075A (zh) * | 2021-03-23 | 2021-06-29 | 烽火通信科技股份有限公司 | 一种Kubernetes智能化扩缩容的方法及装置 |
CN113238763A (zh) * | 2021-05-17 | 2021-08-10 | 京东数字科技控股股份有限公司 | 应用部署的方法、设备、存储介质及程序产品 |
Non-Patent Citations (3)
Title |
---|
ANNA LEVIN等: "Hierarchical load balancing as a service for federated cloud networks" * |
周旭东: "基于Redis分布式存储的负载平衡及性能优化研究" * |
张春辉: "基于Kubernetes的高可用容器云的设计与实现" * |
Also Published As
Publication number | Publication date |
---|---|
CN114661312B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112799789B (zh) | 一种节点集群管理方法、装置、设备及存储介质 | |
US10560313B2 (en) | Pipeline system for time-series data forecasting | |
CN109525624B (zh) | 一种容器登录方法、装置及存储介质 | |
CN111835786A (zh) | 一种对多规约设备数据采集、设备控制的系统及实现方法 | |
CN111427664A (zh) | 基于容器的协议解析方法、装置、系统以及存储介质 | |
CN103414579A (zh) | 一种适用于云计算的跨平台监控系统及其监控方法 | |
US8849947B1 (en) | IT discovery of virtualized environments by scanning VM files and images | |
CN111625419B (zh) | 一种日志采集方法、系统、设备及计算机可读存储介质 | |
KR20180029900A (ko) | 전자 시스템들에서의 로그 데이터의 관리 | |
CN104243610A (zh) | 一种分布式文件传输服务方法 | |
WO2019062634A1 (zh) | 通信方法及装置 | |
CN104243198B (zh) | 一种基于网络配置协议的网络管理方法和系统 | |
CN103488696A (zh) | Cpe的业务查询方法、装置及系统、acs和cpe | |
CN113900810A (zh) | 分布式图处理方法、系统及存储介质 | |
CN115756822A (zh) | 高性能计算应用性能调优的方法及系统 | |
CN116974948B (zh) | 业务系统测试方法、系统、设备和介质 | |
CN109525443B (zh) | 分布式前置采集通讯链路的处理方法、装置和计算机设备 | |
CN114661312A (zh) | 一种OpenStack集群嵌套部署方法及系统 | |
Ren et al. | Research on communication method of OPC UA client based on ARM | |
CN115499432A (zh) | 家庭终端算力资源管理系统及算力资源调度方法 | |
CN113570347A (zh) | 一种面向微服务架构系统的rpa运维方法 | |
CN112764825A (zh) | 服务集成系统及相应设备和存储介质 | |
CN115129708A (zh) | 数据处理方法、装置和存储介质及电子设备 | |
CN113032054A (zh) | 一种服务执行方法、装置、存储介质及电子装置 | |
CN115037639B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230516 Address after: Room 1602, No. 6, Financial Third Street, Wuxi Economic Development Zone, Jiangsu Province, 214,000 Applicant after: Anchao cloud Software Co.,Ltd. Address before: Room 1601, no.6, financial Third Street, Wuxi Economic Development Zone, Jiangsu Province, 214000 Applicant before: Jiangsu Anchao cloud Software Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |