一种基于云服务的配置管理方法和相关装置与流程
未命名
09-23
阅读:87
评论:0

1.本技术涉及云计算领域,尤其涉及一种基于云服务的配置管理方法和相关装置。
背景技术:
2.随着云原生技术的日益普及,云服务种类日渐增多,使得整个云计算平台的容器化工作已经势在必行。目前kubernetes应用容器化方案是最为广泛且高效的云原生方案。在平台上的云服务也要紧跟步伐进行云原生改造,而其中云服务的配置管理是最为重要的一环。
3.如图1a和图1b所示,目前云服务之间的配置管理通常是采用配置中心与云服务端sidecar代理的方式来实现相关的云服务配置,其中,该配置中心可以以任何形式独立于k8s集群外或者是以容器形式存在于k8s集群内。如图1a与图1b所示,对于不同的云服务来说,每一个云服务均需要旁挂一个sidecar容器运行与该云服务相对应的配置中心代理(即agent)。当云服务启动时,需要调用配置中心agent进行相应的操作。
4.在此方案中,一些配置发生变化后需要重启才能生效的云服务,此类配置中心agent无法帮助云服务自动重启或重建容器,需要手动重启或者重建容器。因此目前亟需一种基于云服务的配置管理方法来实现配置与工作负载的实时同步的支持。
技术实现要素:
5.本技术实施例提供了一种基于云服务的配置管理方法和相关装置,用于实现配置信息与工作负载的实时同步的功能。
6.第一方面,本技术提供一种基于云服务的配置管理方法,具体包括:配置管理装置获取该第一云服务配置模板订阅的第一配置信息,该第一配置信息中包括该第一云服务配置模板从全局配置空间中引用的目标配置模板以及该第一云服务配置模板中该目标配置模板对应的第一键值;配置管理装置将该第一键值与全局配置信息映射表中的第二键值进行比对得到对比结果,其中该第二键值为该全局配置空间中的第一配置模板对应的键值,该全局配置信息映射表用于指示全局中配置空间中各配置模板与配置模板对应的键值的对应关系;配置管理装置根据该比对结果和该第一键值渲染该第一云服务配置模板生成目标服务配置。
7.本技术提供的技术方案中,该配置管理装置通过比对第一云服务配置模板中目标配置模板对应的第一键值与该全局配置信息映射表中存储的该全局配置空间中的第一配置模板对应的第二键值进行比对,从而得到使得第一键值与该第二键值进行同步,进而完成配置变更后云服务自动重启或重建容器,达到实现配置信息与工作负载的实时同步的功能。
8.可选的,本技术中,该配置管理装置根据该比对结果和该第一键值渲染该第一云服务配置模板生成目标服务配置的具体操作可以如下:若该比对结果指示该第一键值与该第二键值不相同,则该配置管理装置确定该目标服务配置中onupdate指令为重建工作负
载;若该比对结果指示该第一键值与该第二键值相同,则该配置管理装置确定该目标服务配置中onupdate指令为执行工作负载。这样该配置管理装置根据第一云服务配置模板对应的第一配置信息维护更新该全局配置信息映射表中的配置信息,从而保证该全局配置空间与该目标服务配置之间的同步,进而保证该工作负载与该目标服务配置之间的实时同步。
9.可选的,在该配置管理装置获取该第一云服务配置模板订阅的第一配置信息之前,该配置管理装置还可以遍历该全局配置空间下的第二云服务配置模板以及该第二云服务配置模板对应的配置信息,此时该第二云服务配置模板包括该目标配置模板,即该第一云服务配置模板会从该第二云服务配置模板中引用该目标配置模板,且该第二云服务配置模板用于指示多个配置模板;然后该配置管理装置根据该第二云服务配置模板与该第二云服务配置模板对应的键值在该全局配置空间中生成该全局配置信息映射表,并在该全局配置空间进行保存,同时也同步至该云服务集群对应的配置中心。这样通过全局配置信息映射表管理该全局配置空间中的各个配置信息,实现对配置信息实时更新,同时方便订阅方在更新后进行快速检索。同时,将该全局配置信息映射表同时保留在本地缓存和配置中心中,可以实现在配置中心无法提供服务时,集群内仍然可以正常运转的功能,增加云服务的可靠性,同时提升了配置信息的获取速度。
10.可选的,该第二云服务配置模板携带用于指示该第二云服务配置模板为配置模板的标签。这样给该第二云服务配置模块添加特定标签,使得云服务用户可以通过相应的文件来实现命名空间对外暴露或才发布云服务需要的共享配置信息,从而实现配置管理装置完成对集群内自定义模板的识别。
11.可选的,该配置管理装置根据该第一键值渲染该第一云服务配置模板生成目标服务配置之后,该配置管理装置还可以获取该目标服务配置对应的云服务的共享配置信息;通过自定义资源定义crd的方式将该共享配置信息在该全局配置空间进行发布,并同步至云服务集群对应的配置中心。这样云服务用户可以通过相应的文件来实现命名空间对外暴露或才发布云服务需要的共享配置信息,从而方便云服务用户在配置变更时进行配置模板引用。
12.可选的,该配置管理装置通过自定义资源定义crd的方式将该共享配置信息在该全局配置空间进行发布,并同步至云服务集群对应的配置中心的具体操作可以如下:该配置管理装置遍历该全局配置空间中是否存在该目标服务配置对应的云服务所属的第二配置信息;若不存在该第二配置信息,则该配置管理装置根据该共享配置信息在该全局配置空间和该云服务集群对应的配置中心创建该第二配置信息,即该配置管理装置为该目标服务配置对应的云服务创建一个新;若存在该第二配置信息,则该配置管理装置根据该共享配置信息在该全局配置空间和该云服务集群对应的配置中心更新该第二配置信息。
13.可选的,该配置管理装置根据该共享配置信息在该全局配置空间和该云服务集群对应的配置中心更新该第二配置信息的具体操作包括:该配置管理装置将该共享配置信息与该第二配置信息进行比对得到更新增量;该配置管理装置根据该更新增量在该全局配置空间和该云服务集群对应的配置中心更新该第二配置信息。这样可以避免触发更多的更新事件。
14.可选的,该配置管理装置根据该第一键值渲染该第一云服务配置模板生成目标服务配置之后,该配置管理装置读取该目标服务配置;该配置管理装置根据该目标服务配置
重建该目标服务配置对应的工作负载或者执行该目标服务配置对应的工作负载。
15.可选的,该配置管理装置还可以获取云服务集群对应的配置中心的第三配置信息,该第三配置信息为该配置中心接收到的修改的配置信息;根据该第三配置信息更新该全局配置空间内的配置信息。
16.第二方面,本技术提供一种基于云服务的配置管理装置,该装置具有实现上述第一方面中配置管理装置行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
17.在一个可能的实现方式中,该装置包括用于执行以上第一方面各个步骤的单元或模块。例如,该装置包括:获取模块,用于获取该第一云服务配置模板订阅的第一配置信息,该第一配置信息中包括该第一云服务配置模板从全局配置空间中引用的目标配置模板以及该第一云服务配置模板中该目标配置模板对应的第一键值;
18.处理模块,用于将该第一键值与全局配置信息映射表中的第二键值进行比对得到对比结果,其中该第二键值为该全局配置空间中的第一配置模板对应的键值,该全局配置信息映射表用于指示全局中配置空间中各配置模板与配置模板对应的键值的对应关系;根据该比对结果和该第一键值渲染该第一云服务配置模板生成目标服务配置。
19.可选的,还包括存储模块,用于保存配置管理装置必要的程序指令和数据。
20.在一种可能的实现方式中,该装置包括:处理器和收发器,该处理器被配置为支持配置管理装置执行上述第一方面提供的方法中相应的功能。收发器用于指示配置管理装置和云服务对应的集群服务器之间的通信,向云服务对应的集群服务器发送上述方法中所涉及的数据。可选的,此装置还可以包括存储器,该存储器用于与处理器耦合,其保存配置管理装置必要的程序指令和数据。
21.在一种可能的实现方式中,当该装置为配置管理装置内的芯片时,该芯片包括:处理模块和收发模块,该收发模块例如可以是该芯片上的输入/输出接口、管脚或电路等,用于获取该第一云服务配置模板订阅的第一配置信息,该第一配置信息中包括该第一云服务配置模板从全局配置空间中引用的目标配置模板以及该第一云服务配置模板中该目标配置模板对应的第一键值,并将该第一配置信息传送给与此芯片耦合的其他芯片或模块中;该处理模块例如可以是处理器,此处理器用于将该第一键值与全局配置信息映射表中的第二键值进行比对得到对比结果,其中该第二键值为该全局配置空间中的第一配置模板对应的键值,该全局配置信息映射表用于指示全局中配置空间中各配置模板与配置模板对应的键值的对应关系;根据该比对结果和该第一键值渲染该第一云服务配置模板生成目标服务配置。该处理模块可执行存储单元存储的计算机执行指令,以支持配置管理装置执行上述第一方面提供的方法。可选地,该存储单元可以为该芯片内的存储单元,如寄存器、缓存等,该存储单元还可以是位于该芯片外部的存储单元,如只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)等。
22.在一种可能实现方式中,该装置包括通信接口和逻辑电路,该通信接口用于获取该第一云服务配置模板订阅的第一配置信息,该第一配置信息中包括该第一云服务配置模板从全局配置空间中引用的目标配置模板以及该第一云服务配置模板中该目标配置模板对应的第一键值;该逻辑电路,用于将该第一键值与全局配置信息映射表中的第二键值进
行比对得到对比结果,其中该第二键值为该全局配置空间中的第一配置模板对应的键值,该全局配置信息映射表用于指示全局中配置空间中各配置模板与配置模板对应的键值的对应关系;根据该比对结果和该第一键值渲染该第一云服务配置模板生成目标服务配置。
23.其中,上述任一处提到的处理器,可以是一个通用中央处理器(central processing unit,cpu),微处理器,特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制上述各方面数据传输方法的程序执行的集成电路。
24.第三方面,本技术实施例提供一种计算机可读存储介质,该计算机存储介质存储有计算机指令,该计算机指令用于执行上述各方面中任意一方面任意可能的实施方式该的方法。
25.第四方面,本技术实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面中任意一方面该的方法。
26.第五方面,本技术提供了一种芯片系统,该芯片系统包括处理器,用于支持配置管理装置实现上述方面中所涉及的功能,例如生成或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,该芯片系统还包括存储器,该存储器,用于保存配置管理装置必要的程序指令和数据,以实现上述各方面中任意一方面的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
27.第六方面,本技术实施例提供一种云服务系统,该系统包括上述方面该的配置管理装置。
附图说明
28.图1a为配置中心以容器形式存在于集群内的一个示例性架构图;
29.图1b为配置中心独立于集群外的一个示例性架构图;
30.图2为本技术实施例中配置管理方法的一个系统架构图;
31.图3为本技术实施例中配置管理方法中全局配置信息映射表的一个示例性方案;
32.图4为本技术实施例中配置管理方法中云服务配置模板的一个示例性方案;
33.图5为本技术实施例中配置管理方法中全局配置空间中的配置信息与配置中心之间的配置更新流程示意图;
34.图6为本技术实施例中配置管理方法的一个应用场景流程示意图;
35.图7为本技术实施例中配置管理方法的一个实施例示意图;
36.图8为本技术实施例中配置管理方法的另一个实施例示意图;
37.图9为本技术实施例中配置管理装置的一个实施例示意图;
38.图10为本技术实施例中配置管理装置的另一个实施例示意图。
具体实施方式
39.为了使本技术的目的、技术方案及优点更加清楚明白,下面结合附图,对本技术的实施例进行描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着新应用场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
40.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本技术中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本技术中所出现的单元的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本技术中均不作限定。并且,作为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分布到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本技术方案的目的。
41.随着云原生技术的日益普及,云服务种类日渐增多,使得整个云计算平台的容器化工作已经势在必行。目前kubernetes应用容器化方案是最为广泛且高效的云原生方案。在平台上的云服务也要紧跟步伐进行云原生改造,而其中云服务的配置管理是最为重要的一环。如图1a和图1b所示,目前云服务之间的配置管理通常是采用配置中心与云服务端sidecar代理的方式来实现相关的云服务配置,其中,该配置中心可以以任何形式独立于k8s集群外或者是以容器形式存在于k8s集群内。如图1a与图1b所示,对于不同的云服务来说,每一个云服务均需要旁挂一个sidecar容器运行与该云服务相对应的配置中心代理(即agent)。当云服务启动时,需要调用配置中心agent进行相应的操作。在此方案中,一些配置发生变化后需要重启才能生效的云服务,此类配置中心agent无法帮助云服务自动重启或重建容器,需要手动重启或者重建容器。因此目前亟需一种基于云服务的配置管理方法来实现配置与工作负载的实时同步的支持。
42.为了解决该技术问题,本技术实施例提供一种基于云服务的配置管理方法,具体包括:配置管理装置获取该第一云服务配置模板订阅的第一配置信息,该第一配置信息中包括该第一云服务配置模板从全局配置空间中引用的目标配置模板以及该第一云服务配置模板中该目标配置模板对应的第一键值;配置管理装置将该第一键值与全局配置信息映射表中的第二键值进行比对得到对比结果,其中该第二键值为该全局配置空间中的第一配置模板对应的键值,该全局配置信息映射表用于指示全局中配置空间中各配置模板与配置模板对应的键值的对应关系;配置管理装置根据该比对结果和该第一键值渲染该第一云服务配置模板生成目标服务配置。
43.为了方便理解,下面对本技术实施例中的部分名词进行说明:
44.命名空间(namespace):是kubernetes提供的组织机制,用于给集群中的任何对象组进行分类、筛选和管理。每一个添加到kubernetes集群的工作负载必须放在一个命名空间中。
45.自定义资源定义(custom resource definition,crd):是kubernetes为提高可扩展性,让开发者自定义资源的一种方式。crd资源可以动态注册到集群中,注册完毕后,用户可以通过kubectl来创建访问这个自定义的资源对象,类似于操作pod一样。
46.operator模式:kubernetes的operator模式概念为允许在不修改kubernetes自身代码的情况下,通过为一个或多个自定义资源关联配置管理器来扩展集群的能力。operator是kubernetes api的客户端,可以作为该自定义资源的配置管理器。
47.具体请参阅图2所示的系统架构,该系统架构中可以包括如下几个部分:配置控制器(即本技术中的配置管理装置)、全局配置空间、配置中心、云服务配置模板、实际服务配置(即本技术中的目标服务配置)、工作负载以及crd。其中,配置控制器(即本技术中的配置管理装置)、全局配置空间、云服务配置模板、实际服务配置(即本技术中的目标服务配置)、工作负载以及crd均部署于k8s1集群中,该云服务配置模板、实际服务配置(即本技术中的目标服务配置)、工作负载以及crd也可以称为部署在云服务空间。下面对各个部分进行说明
48.全局配置空间:也可以称为全局命名空间global namespace。该全局配置空间用于存放全局配置信息、全局配置信息映射表(subscribe-indexer)和云服务间可共享的配置信息。如图2所示,该global-config和该refion_id_config用于指示全局配置信息,该servive1-published-config、servive2-published-config以及servivex-published-config用于指示各个云服务间可共享的配置信息。一种示例性方案中,该全局配置信息映射表(subscribe-indexer)可以如图3所示,其可以包括:global-config(即全局配置)、service1-namespace(即该云服务1与其所属命名空间的映射关系)、service1-config-tpl(即云服务1与其对应的配置模板之间的映射关系)、microservice2-config-tpl(微服务2与其对应的配置模板之间映射关系)、service2-namespace(即该云服务2与其所属命名空间的映射关系)、service2-config-tpl(即云服务2与其对应的配置模板之间的映射关系)。同时该全局配置信息映射表中还包括用于指示其本身性质的标签以及其所属命名空间等信息,具体此处不再赘述。
49.云服务配置模板:也称为configmap。其通过注解(annotation)声明其订阅的配置信息。如图2所示,该云服务配置模板中的service2-config-tpl用于指示该云服务配置模板对应的云服务2,而“subscribes-to:-global-config;-servive1-config”用于指示该云服务配置模板引用该全局配置空间中的“global-config”和“servive1-published-config”的部分配置信息;而该“used-by:[{”kind”:”deployment”,”name”:”microservice1”,”onupdate”:”rebuild”}]”用于指示该云服务配置模板被应用于名称为”microservice1
””
的工作负载,而该云服务配置模板的运行指令为重建该工作负载。
[0050]
工作负载:工作负载可以引用其所在命名空间中的实际服务配置中获取配置,并通过配置模板与工作负载的映射(例如configmap里的annotation声明),寻找到需要变更的workload以及配置发生变化后要执行的动作。如图2所示,该工作负载从该云服务配置模板引用该全局配置空间中的“global-config”和“servive1-published-config”的部分配置信息生成的实际服务配置获取配置信息,并通过配置信息与工作负载的映射(例如云服务配置模板里的annotation声明),寻找到需要变更的workload以及配置发生变化后要执行的动作,如:”onupdate”:”rebuild”。
[0051]
crd:其提供一种自定义资源定义crd模板或者原生configmap,用于跨namespace声明云服务对外暴露的共享配置信息,并将配置以merge形式写入配置中心。
[0052]
配置控制器:即本技术中的配置管理装置,其用于实现以下功能:
[0053]
1、监听全局配置空间内的global配置以及其它云服务发布的共享配置,动态渲染云服务配置模板生成实际服务配置。如图2所示,该云服务配置模板引用该全局配置空间中的global-config和servive1-config进行渲染从而生成如图2所示的实际服务配置。一种示例性方案中,该云服务配置模板可以如图4所示。该云服务配置模板对应于云服务1,其中,该云服务配置模板中“domain_name”这一配置引用了该“global-config”中的“global_domain_name”,而该云服务配置模板对这一配置信息的键值为“xxx”;该云服务配置模板中db_ip这一配置引用了“global-config”中的“db_ip”。同时如图4所示的云服务配置模板加添加了标签“hcc.huaweicloud.com/dynamic-config-template:"true"”,该标签用于指示该云服务配置模板为可识别的配置模板。可以理解的是,该标签也可以换成其他标识,只要可以实现该配置管理装置识别该云服务配置模板即可,具体形式此处不做限定。图4所示的云服务配置模板中还指示了该云服务配置模板的名称为“service2-config-tpl”和所属命名空间为“default”。而图4所示的云服务配置模板还通过注解指示该云服务配置模板与全局配置信息映射表之间的索引关系,具体为:subscribed-configs:'[”global-config”,”db-config”]'。同时,该图4所示的云服务配置模板还通过注解指示该云服务配置模板与工作负载之间的映射关系,具体为:used-by:
[0054]
‘
[[{”kind”:”deployment”,”name”:”microservice1”,”onupdate”:”rebuil d”}]]’。
[0055]
2、云服务配置模板中的配置信息发生变化后,按需执行重建/执行命令等逻辑。如图2所示的实际服务配置对应的配置信息中用于指示该配置管理装置重建该工作负载。
[0056]
3、监控各namespace下和自定义资源,在全局配置空间中创建对应的共享配置。比如如图2所示,创建该servive1-published-config、servive2-published-config以及servivex-published-config。
[0057]
4、监听配置中心,负责k8s中全局配置空间下的配置信息与配置中心的配置信息的同步。比如如图2所示,若该全局配置空间中的“global-config”、“refion_id_config”、“servive1-published-config”、“servive2-published-config”以及“servivex-published-config”任意一个的任意一个配置信息发生也变更,则该将变更后的配置信息同步至该配置中心。而本实施例中,该全局配置空间中的配置信息与该配置中心之间的配置更新流程可以如图5所示:
[0058]
在初部署时,该配置管理装置将该配置中心中的全局配置信息覆盖在该全局配置空间,并根据各个云服务对应的命名空间中发布的共享配置信息在该全局配置空间创建一个对应的共享配置,然后将该全局配置空间中的共享配置同步到该配置中心;在其中某一个云服务进行服务升级时,该配置管理装置将该云服务所属命名空间中的新增配置以merge的形式写入该全局配置空间中该云服务对应的共享配置,并将该新增配置以merge的形式同步至该配置中心。可以理解的是,在判断该云服务所属例名空间中的新增配置与该全局配置空间中的配置的key相同但是value不相同时,value以全局配置空间中的value为准(即该新增加配置将不触发更新)。
[0059]
本实施例中,该配置信息发生变化,也可以是从配置中心开始发生变化,此时该配置管理装置需要将该配置中心中的键值与该全局配置空间中的键值进行逐一比对,只有在发生变化时,该配置管理装置再调用相关应用程序街接口对该全局配置空间中的配置进行更新。这样可以避免触发过多的更新事件。
[0060]
基于上述图2至图5所描述的内容,本技术实施提供的技术方案中,该配置管理方法的一个流程可以如图6所示:
[0061]
应用程序接口服务器(application programming interface-server,api-server)负责接收和处理集群所有api,例如configmap、deployment和cr资源的增删改查操作请求;配置映射表(即本技术中的全局配置信息映射表)是用来维护全局配置空间中的所有配置文件与订阅方的映射关系(如图2所示的subscribe-indexer);全局配置为全局配置空间中发布的全局配置模板(包括如图2所示的“global-config”、“refion_id_config”、“servive1-published-config”、“servive2-published-config”以及“servivex-published-config”);云服务配置模板为用户自定义的单元,其中需要遵循模板规范,其中包括是否为配置模板的标志label、annotation中的引用全局配置的列表,以及annotation中被使用的工作负载实例。operator中自定义资源定义crd能让api-server识别出共享配置cr这种自定义资源;operator中的控制器(即本技术中配置管理装置)执行具体的映射表维护、云服务配置模型渲染、以及共享配置cr的创建与更新操作,同时定时与配置中心同步配置信息。当用户应用云服务配置模板时,控制器首先会自动更新全局配置空间中的配置映射表,然后根据其所引用全局配置信息进行模板渲染,然后生成对应的服务配置供工作负载使用,并对全局配置空间依据共享配置cr发布共享配置信息,同时控制器会调用同步模块将发布的共享配置信息中的数据以merge的形式同步到配置中心里。另外当全局配置空间中的配置发生变化时,控制器会根据配置映射表中的映射关系,找到需要进行变更的云服务配置模板并重新渲染,最后从配置模板搜索出需要滚动更新的工作负载进行更新操作,完成工作负载与配置的自动化同步与生效。
[0062]
本发明实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(global system of mobile communication,gsm)系统、码分多址(code division multiple access,cdma)系统、宽带码分多址(wideband code division multiple access,wcdma)系统、长期演进(long term evolution,lte)系统、lte频分双工(frequency division duplex,fdd)系统、lte时分双工(time division duplex,tdd)、通用移动通信系统(universal mobile telecommunication system,umts)、5g通信系统、以及未来的无线通信系统等。
[0063]
下面结合图7对本技术实施例中基于云服务的配置管理方法的一个实施例进行说明:
[0064]
配置管理装置启动时,该配置管理装置遍历识别云服务配置模板,获取该云服务配置模板对应的配置信息。
[0065]
本实施例中,该配置管理装置在遍历该云服务配置模板之前,该云服务配置模板中需要添加该配置管理装置可识别中的标签。该标签可以是“hcc.huaweicloud.com/dynamic-config-template:"true"”也可以是其他用于识别的特殊标签,具体此处不做限定。
[0066]
该配置管理装置将该云服务配置模板所属命名空间以及该云服务配置模板对应的配置信息记录生成全局配置信息映射表,并将该全局配置信息映射表存储在该全局配置空间。
[0067]
本实施例中,该配置管理装置生成该全局配置信息映射表的一个示例性方案可以如图3所示。具体情况,此处不再赘述。
[0068]
可以理解的是,该配置管理装置在将该全局配置信息映射表存储于该全局配置空间时相当于生成了该云服务集群的本地缓存,同时该配置管理装置还可以将该全局配置空间中的全局配置信息以及该云服务模板对应的配置信息同步至该云服务集群的配置中心,这样就可以实现该云服务集群中配置信息的双重备份,从而提高该云服务集群的可靠性。
[0069]
该配置管理装置获取云用户发布的目标云服务配置模板,并基于该全局配置空间中的全局配置信息渲染该目标云服务配置模块。
[0070]
该配置管理装置在获取到云用户发布的目标云服务配置模板之后,根据该目标云服务配置模板的配置信息确定其在全局配置空间引用的全局配置信息以及该目标云服务配置模板对应的云服务的配置信息。
[0071]
该配置管理装置监测该目标云服务配置模板对应的云服务的的配置信息,并根据目标云服务配置模板的配置信息实时更新该全局配置信息映射表。
[0072]
本实施例中,该配置管理装置通过监测该目标云服务配置模板对应的云服务的配置信息,在目标云服务配置模板对应的云服务的配置信息出现更新时,根据该更新实时同步更新该全局配置信息映射表中关于目标云服务配置模板对应的云服务的配置信息。可以理解的是,该配置管理装置还可以监测各个携带有标签的云服务配置模板的配置信息,在该云服务配置模板的配置信息出现更新时,根据该更新实时同步更新该全局配置信息映射表中关于该云服务配置模板的配置信息。即该配置管理装置实时维护该全局配置信息映射表,方便云服务配置模板在模板渲染时的检索。
[0073]
该配置管理装置根据该目标云服务配置模板中的配置信息获取同步更新的工作负载,并根据调用策略(即onupdate策略)重建工作负载或者执行工作负载。
[0074]
本实施例中,在该配置管理装置在生成该目标云服务配置模板之后,读取该目标云服务配置模板中的配置信息,并根据该配置信息指示的调用策略重那写工作负载或者执行工作负载。即若该配置信息从全局配置空间引用的配置信息的键值未发生变动,则可以执行该工作负载,若该配置信息从全局配置空间引用的配置信息的键值发生变动,则可以重建该工作负载。
[0075]
本实施例中,在该目标云服务配置模板配置成功之后,该配置管理装置还可以执行如下步骤:该配置管理装置获取该目标云服务配置模板对应的云服务的共享配置信息,并根据该共享配置信息在全局配置空间创建或更新该云服务对应的共享配置以及同步该共享配置信息至配置中心。
[0076]
本实施例中,该配置管理装置获取云用户在该目标云服务配置模板中定义的可发布的共享配置信息,然后将该共享配置信息在该全局配置空间中进行比对。若该全局配置空间存在与该共享配置信息属于同一个命名空间的共享配置,则比对该共享配置信息相对于全局配置空间中的共享配置的更新值,并根据该更新值更新该全局配置空间中的共享配置。若该全局配置空间不存在与该共享配置信息属于同一命名空间的共享配置,则根据该
共享配置信息在该全局配置空间创建该目标云服务配置模板对应的云服务的共享配置。比如,该目标云服务配置模板对应于云服务a,而该全局配置空间中未发现该云服务a的共享配置,则该配置管理装置在该全局配置空间创建该云服务a的共享配置。若全局配置空间中存在该云服务a对应的共享配置,则该配置管理装置将该目标云服务配置模板的中的共享配置信息与该云服务a的共享配置进行比对,若存在更新值a,则将该更新值a更新至该全局配置空间的云服务a的共享配置。同时将该云服务a的共享配置同步至配置中心。
[0077]
具体请参阅图8所示,本技术实施例中基于云服务的配置管理方法的一个实施例包括:
[0078]
801、配置管理装置获取该第一云服务配置模板订阅的第一配置信息,该第一配置信息中包括该第一云服务配置模板从全局配置空间中引用的目标配置模板以及该第一云服务配置模板中该目标配置模板对应的第一键值。
[0079]
本实施例中,该配置管理装置可以根据上述图2至图7描述的内容实现上述功能,具体此不再赘述。
[0080]
802、配置管理装置将该第一键值与全局配置信息映射表中的第二键值进行比对得到对比结果,其中该第二键值为该全局配置空间中的第一配置模板对应的键值,该全局配置信息映射表用于指示全局中配置空间中各配置模板与配置模板对应的键值的对应关系。
[0081]
本实施例中,该配置管理装置可以根据上述图2至图7描述的内容实现上述功能,具体此不再赘述。
[0082]
803、配置管理装置根据该比对结果和该第一键值渲染该第一云服务配置模板生成目标服务配置。
[0083]
本实施例中,该配置管理装置可以根据上述图2至图7描述的内容实现上述功能,具体此不再赘述。
[0084]
具体请参阅图9所示,本技术实施例中该配置管理装置900包括:获取模块901、处理模块902、存储模块903,其中获取模块901、处理模块902、存储模块903通过总线连接。配置管理装置900可以是上述方法实施例中的配置管理装置或控制器,也可以配置为配置管理装置或控制器内的一个或多个芯片。配置管理装置900可以用于执行上述方法实施例中的配置管理装置或控制器的部分或全部功能。此存储模块903与处理模块902耦合,使得处理模块702可执行存储模块中存储的计算机执行指令以实现上述方法实施例中配置管理装置的功能。在一个示例中,配置管理装置900中可选的包括的存储模块903可以为芯片内的存储单元,如寄存器、缓存等,该存储模块903还可以是位于芯片外部的存储单元,如rom或可存储静态信息和指令的其他类型的静态存储设备,ram等。
[0085]
可选的,该处理模块902,具体用于若该比对结果指示该第一键值与该第二键值不相同,则确定该目标服务配置中onupdate指令为重建工作负载;若该比对结果指示该第一键值与该第二键值相同,则确定该目标服务配置中onupdate指令为执行工作负载。
[0086]
可选的,该处理模块902,还用于遍历该全局配置空间下的第二云服务配置模板以及该第二云服务配置模板对应的配置信息,该第二云服务配置模板包括该目标配置模板;根据该第二云服务配置模板与该第二云服务配置模板对应的键值在该全局配置空间中生成该全局配置信息映射表;
[0087]
存储模块903,用于保存该全局配置信息映射表。
[0088]
可选的,该第二云服务配置模板携带用于指示该第二云服务配置模板为配置模板的标签。
[0089]
可选的,该获取模块901,还用于获取该目标服务配置对应的云服务的共享配置信息;
[0090]
该处理模块902,还用于通过自定义资源定义crd的方式将该共享配置信息在该全局配置空间进行发布,并同步至云服务集群对应的配置中心。
[0091]
可选的,该处理模块902,具体用于遍历该全局配置空间中是否存在该目标服务配置对应的云服务所属的第二配置信息;若不存在该第二配置信息,则根据该共享配置信息在该全局配置空间和该云服务集群对应的配置中心创建该第二配置信息;若存在该第二配置信息,则根据该共享配置信息在该全局配置空间和该云服务集群对应的配置中心更新该第二配置信息。
[0092]
可选的,该处理模块902,具体用于将该共享配置信息与该第二配置信息进行比对得到更新增量;根据该更新增量在该全局配置空间和该云服务集群对应的配置中心更新该第二配置信息。
[0093]
可选的,该处理模块902,还用于读取该目标服务配置;根据该目标服务配置重建该目标服务配置对应的工作负载或者执行该目标服务配置对应的工作负载。
[0094]
可选的,该获取模块901,还用于获取云服务集群对应的配置中心的第三配置信息,该第三配置信息为修改的配置信息;
[0095]
该处理模块902,还用于根据该第三配置信息更新该全局配置空间内的配置信息。
[0096]
应理解,上述图9对应实施例中配置管理装置的各模块之间所执行的流程与前述图2至图8中对应方法实施例中的配置管理装置执行的流程类似,具体此处不再赘述。
[0097]
图10示出了上述实施例中一种配置管理装置1000可能的结构示意图,该配置管理装置1000可以配置成是前述配置管理装置。该配置管理装置1000可以包括:处理器1002、计算机可读存储介质/存储器1003、收发器1004、输入设备1005和输出设备1006,以及总线1001。其中,处理器,收发器,计算机可读存储介质等通过总线连接。本技术实施例不限定上述部件之间的具体连接介质。
[0098]
一个示例中,该收发器1004获取该第一云服务配置模板订阅的第一配置信息,该第一配置信息中包括该第一云服务配置模板从全局配置空间中引用的目标配置模板以及该第一云服务配置模板中该目标配置模板对应的第一键值;
[0099]
该处理器1002将该第一键值与全局配置信息映射表中的第二键值进行比对得到对比结果,其中该第二键值为该全局配置空间中的第一配置模板对应的键值,该全局配置信息映射表用于指示全局中配置空间中各配置模板与配置模板对应的键值的对应关系;根据该比对结果和该第一键值渲染该第一云服务配置模板生成目标服务配置。
[0100]
又一个示例中,处理器1002可以运行操作系统,控制各个设备和器件之间的功能。收发器1004可以包括基带电路和射频电路。
[0101]
该收发器1004与该处理器1002可以实现上述图2至图8中任一实施例中相应的步骤,具体此处不做赘述。
[0102]
可以理解的是,图10仅仅示出了配置管理装置的简化设计,在实际应用中,配置管
理装置可以包含任意数量的收发器,处理器,存储器等,而所有的可以实现本技术的配置管理装置都在本技术的保护范围之内。
[0103]
上述装置1000中涉及的处理器1002可以是通用处理器,例如cpu、网络处理器(network processor,np)、微处理器等,也可以是asic,或一个或多个用于控制本技术方案程序执行的集成电路。还可以是数字信号处理器(digital signal processor,dsp)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。控制器/处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。处理器通常是基于存储器内存储的程序指令来执行逻辑和算术运算。
[0104]
上述涉及的总线1001可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0105]
上述涉及的计算机可读存储介质/存储器1003还可以保存有操作系统和其他应用程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,上述存储器可以是rom、可存储静态信息和指令的其他类型的静态存储设备、ram、可存储信息和指令的其他类型的动态存储设备、磁盘存储器等等。存储器1003可以是上述存储类型的组合。并且上述计算机可读存储介质/存储器可以在处理器中,还可以在处理器的外部,或在包括处理器或处理电路的多个实体上分布。上述计算机可读存储介质/存储器可以具体体现在计算机程序产品中。举例而言,计算机程序产品可以包括封装材料中的计算机可读介质。
[0106]
可以替换的,本技术实施例还提供一种通用处理系统,例如通称为芯片,该通用处理系统包括:提供处理器功能的一个或多个微处理器;以及提供存储介质的至少一部分的外部存储器,所有这些都通过外部总线体系结构与其它支持电路连接在一起。当存储器存储的指令被处理器执行时,使得处理器执行配置管理装置在图2至图8该实施例中的配置管理方法中的部分或全部步骤,和/或用于本技术所描述的技术的其它过程。
[0107]
结合本技术公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于终端中。当然,处理器和存储介质也可以作为分立组件存在于第一通信装置中。
[0108]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0109]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或
讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0110]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0111]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0112]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
技术特征:
1.一种基于云服务的配置管理方法,其特征在于,包括:获取所述第一云服务配置模板订阅的第一配置信息,所述第一配置信息中包括所述第一云服务配置模板从全局配置空间中引用的目标配置模板以及所述第一云服务配置模板中所述目标配置模板对应的第一键值;将所述第一键值与全局配置信息映射表中的第二键值进行比对得到对比结果,其中所述第二键值为所述全局配置空间中的第一配置模板对应的键值,所述全局配置信息映射表用于指示全局中配置空间中各配置模板与配置模板对应的键值的对应关系;根据所述比对结果和所述第一键值渲染所述第一云服务配置模板生成目标服务配置。2.根据权利要求1所述的方法,其特征在于,所述根据所述比对结果和所述第一键值渲染所述第一云服务配置模板生成目标服务配置包括:若所述比对结果指示所述第一键值与所述第二键值不相同,则确定所述目标服务配置中onupdate指令为重建工作负载;若所述比对结果指示所述第一键值与所述第二键值相同,则确定所述目标服务配置中onupdate指令为执行工作负载。3.根据权利要求1所述的方法,其特征在于,在获取所述第一云服务配置模板订阅的第一配置信息之前,所述方法还包括:遍历所述全局配置空间下的第二云服务配置模板以及所述第二云服务配置模板对应的配置信息,所述第二云服务配置模板包括所述目标配置模板;根据所述第二云服务配置模板与所述第二云服务配置模板对应的键值在所述全局配置空间中生成所述全局配置信息映射表,并保存。4.根据权利要求3所述的方法,其特征在于,所述第二云服务配置模板携带用于指示所述第二云服务配置模板为配置模板的标签。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述第一键值渲染所述第一云服务配置模板生成目标服务配置之后,所述方法还包括:获取所述目标服务配置对应的云服务的共享配置信息;通过自定义资源定义crd的方式将所述共享配置信息在所述全局配置空间进行发布,并同步至云服务集群对应的配置中心。6.根据权利要求5所述的方法,其特征在于,所述通过自定义资源定义crd的方式将所述共享配置信息在所述全局配置空间进行发布,并同步至云服务集群对应的配置中心包括:遍历所述全局配置空间中是否存在所述目标服务配置对应的云服务所属的第二配置信息;若不存在所述第二配置信息,则根据所述共享配置信息在所述全局配置空间和所述云服务集群对应的配置中心创建所述第二配置信息;若存在所述第二配置信息,则根据所述共享配置信息在所述全局配置空间和所述云服务集群对应的配置中心更新所述第二配置信息。7.根据权利要求6所述的方法,其特征在于,所述根据所述共享配置信息在所述全局配置空间和所述云服务集群对应的配置中心更新所述第二配置信息包括:将所述共享配置信息与所述第二配置信息进行比对得到更新增量;
根据所述更新增量在所述全局配置空间和所述云服务集群对应的配置中心更新所述第二配置信息。8.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据所述第一键值渲染所述第一云服务配置模板生成目标服务配置之后,所述方法还包括:读取所述目标服务配置;根据所述目标服务配置重建所述目标服务配置对应的工作负载或者执行所述目标服务配置对应的工作负载。9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:获取云服务集群对应的配置中心的第三配置信息,所述第三配置信息为修改的配置信息;根据所述第三配置信息更新所述全局配置空间内的配置信息。10.一种基于云服务的配置管理装置,其特征在于,包括:获取模块,用于获取所述第一云服务配置模板订阅的第一配置信息,所述第一配置信息中包括所述第一云服务配置模板从全局配置空间中引用的目标配置模板以及所述第一云服务配置模板中所述目标配置模板对应的第一键值;处理模块,用于将所述第一键值与全局配置信息映射表中的第二键值进行比对得到对比结果,其中所述第二键值为所述全局配置空间中的第一配置模板对应的键值,所述全局配置信息映射表用于指示全局中配置空间中各配置模板与配置模板对应的键值的对应关系;根据所述比对结果和所述第一键值渲染所述第一云服务配置模板生成目标服务配置。11.根据权利要求10所述的装置,其特征在于,所述处理模块,具体用于若所述比对结果指示所述第一键值与所述第二键值不相同,则确定所述目标服务配置中onupdate指令为重建工作负载;若所述比对结果指示所述第一键值与所述第二键值相同,则确定所述目标服务配置中onupdate指令为执行工作负载。12.根据权利要求10所述的装置,其特征在于,所述处理模块,还用于遍历所述全局配置空间下的第二云服务配置模板以及所述第二云服务配置模板对应的配置信息,所述第二云服务配置模板包括所述目标配置模板;根据所述第二云服务配置模板与所述第二云服务配置模板对应的键值在所述全局配置空间中生成所述全局配置信息映射表;存储模块,用于保存所述全局配置信息映射表。13.根据权利要求12所述的装置,其特征在于,所述第二云服务配置模板携带用于指示所述第二云服务配置模板为配置模板的标签。14.根据权利要求10至13中任一项所述的装置,其特征在于,所述获取模块,还用于获取所述目标服务配置对应的云服务的共享配置信息;所述处理模块,还用于通过自定义资源定义crd的方式将所述共享配置信息在所述全局配置空间进行发布,并同步至云服务集群对应的配置中心。15.根据权利要求14所述的装置,其特征在于,所述处理模块,具体用于遍历所述全局配置空间中是否存在所述目标服务配置对应的云服务所属的第二配置信息;若不存在所述第二配置信息,则根据所述共享配置信息在所述全局配置空间和所述云服务集群对应的配置中心创建所述第二配置信息;若存在所述第二配置信息,则根据所述共享配置信息在所述全局配置空间和所述云服务集群对应的配置中心更新所述第二配置信息。
16.根据权利要求15所述的装置,其特征在于,所述处理模块,具体用于将所述共享配置信息与所述第二配置信息进行比对得到更新增量;根据所述更新增量在所述全局配置空间和所述云服务集群对应的配置中心更新所述第二配置信息。17.根据权利要求10至16中任一项所述的装置,其特征在于,所述处理模块,还用于读取所述目标服务配置;根据所述目标服务配置重建所述目标服务配置对应的工作负载或者执行所述目标服务配置对应的工作负载。18.根据权利要求10至17中任一项所述的装置,其特征在于,所述获取模块,还用于获取云服务集群对应的配置中心的第三配置信息,所述第三配置信息为修改的配置信息;所述处理模块,还用于根据所述第三配置信息更新所述全局配置空间内的配置信息。19.一种基于云服务的配置管理装置,其特征在于,包括至少一个处理器和存储器,所述存储器用于存储程序,所述处理器调用所述存储器中的程序执行如权利要求1至9任一项所述的方法。20.一种计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得计算机执行如权利要求1至9中任一项所述的方法。21.一种计算机可读存储介质,其特征在于,存储程序,当所述程序在计算机上运行时,使得计算机执行如权利要求1至9中任一项所述的方法。22.一种云服务系统,其特征在于,所述云服务系统包括上述权利要求10至18中任一项所述云服务的配置管理装置。
技术总结
本申请实施例提供了一种基于云服务的配置管理方法和相关装置,用于实现配置与工作负载的实时同步的功能。具体包括:获取第一云服务配置模板订阅的第一配置信息,第一配置信息中包括第一云服务配置模板从全局配置空间中引用的目标配置模板以及第一云服务配置模板中目标配置模板对应的第一键值;将第一键值与全局配置信息映射表中的第二键值进行比对得到对比结果,其中第二键值为全局配置空间中的第一配置模板对应的键值,全局配置信息映射表用于指示全局中配置空间中各配置模板与配置模板对应的键值的对应关系;根据比对结果和第一键值渲染第一云服务配置模板生成目标服务配置。配置。配置。
技术研发人员:陈炜青 魏世江 王勇桥 潘畅
受保护的技术使用者:华为云计算技术有限公司
技术研发日:2022.03.17
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/