一种云产品按需按规格部署方法及设备与流程

文档序号:32786426发布日期:2023-01-03 19:05阅读:25来源:国知局
一种云产品按需按规格部署方法及设备与流程

1.本技术涉及计算机技术领域,尤其涉及一种云产品按需按规格部署方法及设备。


背景技术:

2.随着云产品市场的不断扩张,客户的不断增长,整包部署的方案推进,同一个稳定版本需在不同的局点进行部署。针对客户的不同需求,产品的部署形态也不尽相同,例如,在多集群部署的场景,每个集群需要部署的产品可能不同,有的集群需要部署ecs,有的集群不需要部署ecs,而针对同一个集群,由于客户的体量不同,每个集群的规模也不尽相同,最终体现在产品层面部署所需的资源配置也不同。
3.现有的技术中针对差异化部署需求,需要提供定制的版本包。针对不同集群需要部署的产品不同,只能在产品部署阶段手动选择不需要部署的产品进行部署。


技术实现要素:

4.本技术实施例提供一种云产品按需按规格部署方法及设备,通过配置中心,将客户的差异化需求转化为全局配置,在产品安装部署时通过全局配置解析,实现同一版本包的相同产品差异化部署,实现一个稳定版本多场景交付。
5.本技术实施例提供一种云产品按需按规格部署方法,包括:
6.提供配置中心,以基于所述配置中心录入目标集群的全局配置,其中所述全局配置中具有标识集群配置的字段数据;
7.在触发所述云产品的部署操作后,基于所配置的全局配置确定当前集群的规模;以及,
8.解析所述云产品的版本包,并基于所述全局配置,获取当前集群的产品配置,以基于所述产品配置确定是否需要在当前区域部署所述版本包中的任一子产品,其中所述版本包中具有多个子产品;
9.根据所述全局配置和所述产品配置调整所述云产品的上线描述文件,以在调整后,上线所述云产品。
10.可选的,所述字段数据包括:
11.用以描述目标集群角色的第一字段;
12.用以描述目标集群身份的第二字段;
13.用以描述目标集群集群规模的第三字段。
14.可选的,所述产品配置的结构体包括:版本号、子产品列表、子产品名称、子产品标识、子产品上线顺序以及子产品亲和集群字段。
15.可选的,根据所述全局配置和所述产品配置调整所述云产品的上线描述文件包括:
16.基于所述全局配置中标识集群配置的字段数据,对应配置产品服务的副本数。
17.可选的,在触发所述云产品的部署操作后还包括:基于所述全局配置的第一字段
进行产品配置过滤,以过滤掉不属于所述第一字段描述范围的产品;以及
18.基于所述第二字段判断所需部署的目标集群数量,并设置跨集群访问方式。。
19.可选的,根据所述全局配置和所述产品配置调整所述云产品的上线描述文件包括:基于所述第二字段描述的目标集群身份,对应调整服务调用间的域名配置;以及
20.基于所述第三字段调整产品描述文件的配置。
21.本技术实施例还提出一种计算机设备,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被处理器执行时实现前述的云产品按需按规格部署方法的步骤。
22.本技术实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述的云产品按需按规格部署方法的步骤。
23.本技术实施例通过配置中心,将客户的差异化需求转化为全局配置,在产品安装部署时通过全局配置解析,实现同一版本包的相同产品差异化部署,实现一个稳定版本多场景交付。
24.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
25.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
26.图1为云产品部署方法的流程示意图。
具体实施方式
27.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
28.本技术实施例提供一种云产品按需按规格部署方法,包括如下步骤:
29.在步骤s101中,提供配置中心,以基于所述配置中心录入目标集群的全局配置,其中所述全局配置中具有标识集群配置的字段数据。具体的,如图1所示,在产品部署之前,需要在配置中心录入对应目标集群的全局配置,全局配置确认无误后,再部署服务上触发产品部署。
30.在步骤s102中,在触发所述云产品的部署操作后,基于所配置的全局配置确定当前集群的规模。
31.在全局配置确认无误后,在部署服务上触发产品部署,触发部署后,首先会将版本包中的版本配置文件products.json导入数据库作为元数据。触发产品部署操作以后,解析全局配置,在一些实施例中,全局配置的字段数据包括:用以描述目标集群角色的第一字
段;用以描述目标集群身份的第二字段;用以描述目标集群集群规模的第三字段。例如在一些具体示例中,触发产品部署操作以后,解析全局配置,配置参考如下:(本实施例中选取集群级的参数,其配置结构体可扩展)
32.{
33."global.cluster.role":"manager",
34."global.central.clustercode":"cluster0",
35."global.cluster.clustercode":"cluster1",
36."global.cluster.scale":"small"
37."global.cluster.products_undeploy":"oss,vpc",
38."global.cluster.cluster.domainname":"cec.com",
39....
40.}
41.global.cluster.role(第一字段)表明当前的集群的角色,根据集群的定位,其可选值有三个,分别为manager、business、integration。master表明是中心region,business表明为业务region,integration表明为单region。
42.global.central.clustercode(第二字段)表明中央集群的集群id。
43.global.cluster.clustercode(第二字段)表明当前集群的集群id。
44.global.cluster.scale(第三字段)表明当前集群的规模,根据集群中服务器的数量而定,当前默认值为small、standard、large,值的定义规则如下表(可扩展)。
45.集群规模枚举值节点数量小规模small3~200个标准规模standard200~1000个大规模large1000个以上
46.global.cluster.products_undeploy表明当前集群不需要部署的产品,该值可以为空。
47."global.cluster.cluster.domainname":"cec.com",表明当前集群的主域名。
48.在步骤s103中,解析所述云产品的版本包,并基于所述全局配置获取当前集群的产品配置,以基于所述产品配置确定是否需要在当前区域部署所述版本包中的任一子产品,其中所述版本包中具有多个子产品。本实施例中所指的云产品是整合了多个子产品的整合包,本示例中进一步基于所述产品配置确定是否需要在当前区域部署所述版本包中的任一子产品。全局配置解析完毕以后,需要解析版本包中产品配置,其配置结构体如下:
49.[0050][0051]
在一些实施例中,所述产品配置的结构体包括:版本号、子产品列表、子产品名称、子产品标识、子产品上线顺序以及子产品亲和集群字段。作为一种具体的应用示例,产品配置的结构体包括:
[0052]
package_version为产品包的版本号,
[0053]
products为子产品列表,按照列表中的结构体进行扩展,
[0054]
version为子产品版本
[0055]
name为子产品名称
[0056]
sub_name为子产品id,视为唯一标识
[0057]
order为产品上线的顺序,体现产品依赖
[0058]
affinity_cluster_role为产品亲和集群的角色,根据这个值判定在当前集群是否需要部署。
[0059]
在步骤s104中,根据所述全局配置和所述产品配置调整所述云产品的上线描述文件,以在调整后,上线所述云产品。在一些实施例中,根据所述全局配置和所述产品配置调整所述云产品的上线描述文件包括:基于所述全局配置中标识集群配置的字段数据,对应配置产品服务的副本数。
[0060]
在具体应用中,可以根据全局配置和产品配置调整上线描述文件(产品基线),描述文件具体逻辑如下(选取spec片段):
[0061]
spec:
[0062]
{{-if eq global.cluster.scale"small"}}
[0063]
replicas:1
[0064]
{{-else if eq.global.cluster.scale"standard"}}
[0065]
replicas:2
[0066]
{{-else if eq global.cluster.scale"large"}}
[0067]
replicas:3
[0068]
{{-else}}
[0069]
replicas:2
[0070]
{{-end}}
[0071]
当global.cluster.scale值为small时,产品服务的副本数为1,当global.cluster.scale值为standard时,产品服务的副本数为2,当global.cluster.scale值为large时,产品服务的副本数为3。本技术实施例选取片段,阐明全局配置使用逻辑,按照此逻辑可以任意修改相关的产品配置(cpu,memory等)。
[0072]
本技术实施例通过配置中心,将客户的差异化需求转化为全局配置,在产品安装部署时通过全局配置解析,实现同一版本包的相同产品差异化部署,实现一个稳定版本多场景交付。
[0073]
在一些实施例中,在触发所述云产品的部署操作后还包括:基于所述全局配置的第一字段进行产品配置过滤,以过滤掉不属于所述第一字段描述范围的产品;以及
[0074]
基于所述第二字段判断所需部署的目标集群数量,并设置跨集群访问方式,设置跨集群访问方式可以基于当前集群的主域名实现。
[0075]
在一些实施例中,根据所述全局配置和所述产品配置调整所述云产品的上线描述文件包括:基于所述第二字段描述的目标集群身份,对应调整服务调用间的域名配置;以及
[0076]
基于所述第三字段调整产品描述文件的配置。
[0077]
具体的,一种示例性的产品的部署过程如下:
[0078]
获取并解析全局配置;
[0079]
获取并解析版本包的products.json元数据;
[0080]
根据“global.cluster.role”:“manager”过滤产品配置,从产品列表中过滤掉不不属于manager范围的产品。例如通过此步骤过滤后,确定的需要部署的产品为oss、vpc、
ebs(因为affinity_cluster_role的值为“*”,标识匹配所有值)
[0081]
根据”global.cluster.products_undeploy”值过滤掉当前集群不需部署的产品,例如通过此步骤过滤后,确定需要部署的产品为ebs。
[0082]
判断"global.central.clustercode"与"global.cluster.clustercode"的值是否相同,如果相同在表明为单集群,如果不相同则表明为多集群。
[0083]
根据"global.central.clustercode"与"global.cluster.clustercode"的值,调整多集群场景下的产品配置,主要为服务调用间的域名配置,其配置遵循的规则为{sub_name}.{global.cluster.clustercode}.{global.cluster.domainname},以ebs为例,其在cluster0的域名为“ebs.cluster0.cec.com”,其在cluster1的域名为“ebs.cluster1.cec.com”[0084]
根据global.cluster.scale值调整产品描述文件配置,如上global.cluster.scale为small,则最终的spec.replicas为1。
[0085]
综上,在当前集群我们只部署ebs产品,并且其产品副本数为1(spec.replicas为1),其在当前集群的域名为ebs.cluster1.com。
[0086]
综上,利用本实施例的方法在当前的集群只部署ebs产品,并且其产品副本数为1(spec.replicas为1),其在当前集群的域名为ebs.cluster1.com。
[0087]
利用本实施例的部署方法可以实现一个版本支持子产品差异化部署,一个版本支持多种集群规模的场景交付,减少人为参数调整,提高交付便捷性,提升产品稳定性,提升集群资源利用率。
[0088]
本技术实施例还提出一种计算机设备,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被处理器执行时实现前述的云产品按需按规格部署方法的步骤。
[0089]
本技术实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述的云产品按需按规格部署方法的步骤。
[0090]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0091]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0092]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本技术各个实施例所述的方法。
[0093]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员
在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本技术的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1