一种配置管理方法、装置、设备及存储介质制造方法及图纸

技术编号:33246206 阅读:21 留言:0更新日期:2022-04-27 17:58
本公开涉及一种配置管理方法、装置、设备及存储介质,所述方法包括:读取所述各个命名空间对应的第一配置信息;确定各个命名空间之间的层级关系以及目标命名空间;基于所述层级关系将各个命名空间对应的第一配置信息进行合并,得到所述目标命名空间对应的的目标配置信息。本公开实施例通过根据命名空间之间的层级关系将命名空间的配置信息进行合并,得到目标命名空间的配置信息,实现租户、项目、资源组甚至更多级别的配置管理。甚至更多级别的配置管理。甚至更多级别的配置管理。

【技术实现步骤摘要】
一种配置管理方法、装置、设备及存储介质


[0001]本公开涉及数据处理
,尤其涉及一种配置管理方法、装置、设备及存储介质。

技术介绍

[0002]近年来,随着容器化技术的发展,Kubernetes容器化服务逐渐普及,Kubernetes是一个开源的用于管理云平台中的多个主机上的容器化的应用。
[0003]Kubernetes中的应用程序实例不再局限于多租户场景,甚至,租户的某一个资源组或者某一个项目可以独立部署一套应用程序实例。现有的配置管理模型都无法支撑租户、项目、资源组甚至更多级别的配置管理。

技术实现思路

[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种配置管理方法、装置、设备及存储介质,实现租户、项目、资源组甚至更多级别的配置管理。
[0005]第一方面,本公开实施例提供一种配置管理方法,所述方法包括:
[0006]读取所述各个命名空间对应的第一配置信息;
[0007]确定各个命名空间之间的层级关系以及目标命名空间;
[0008]基于所述层级关系将各个命名空间对应的第一配置信息进行合并,得到所述目标命名空间对应的的目标配置信息。
[0009]第二方面,本公开实施例提供一种配置管理装置,所述装置包括:
[0010]第一配置信息读取模块,用于读取所述各个命名空间对应的第一配置信息;
[0011]层级关系确定模块,用于确定各个命名空间之间的层级关系以及目标命名空间;
[0012]目标配置信息确定模块,用于基于所述层级关系将各个命名空间对应的第一配置信息进行合并,得到所述目标命名空间对应的的目标配置信息。
[0013]第三方面,本公开实施例提供一种电子设备,包括:
[0014]存储器;
[0015]处理器;以及
[0016]计算机程序;
[0017]其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如上述第一方面中所述的配置管理方法。
[0018]第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中所述的配置管理方法。
[0019]本公开实施例提供的配置管理方法、装置、设备及存储介质,所述方法包括:读取所述各个命名空间对应的第一配置信息;确定各个命名空间之间的层级关系以及目标命名空间;基于所述层级关系将各个命名空间对应的第一配置信息进行合并,得到所述目标命名空间对应的的目标配置信息。本公开实施例通过根据命名空间之间的层级关系将命名空
间的配置信息进行合并,得到目标命名空间的配置信息,实现租户、项目、资源组甚至更多级别的配置管理。
附图说明
[0020]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0021]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0022]图1为本公开实施例提供的一种配置管理方法的流程图;
[0023]图2为本公开实施例提供的一种配置获取的流程图;
[0024]图3为本公开实施例提供的配置管理装置的结构示意图;
[0025]图4为本公开实施例提供的配置管理设备的结构示意图。
具体实施方式
[0026]为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
[0027]在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
[0028]常见的配置管理工具有Nacos管理模型、阿波罗(Apollo)管理模型,配置管理工具用来存储应用程序的配置。
[0029]其中,Nacos管理模型是开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计。可以构建云本机应用程序和微服务平台。Nacos基本上支持现在所有类型的服务,例如,Kubernetes服务。
[0030]Apollo管理模型是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。
[0031]面对复杂的部署场景,Apollo和Nacos都有不同的管理模型。
[0032]Apollo管理模型主要包括:应用(Application),环境(Environment),集群(Cluster)和命名空间(Namespace)。
[0033]其中,应用(Application)是Apollo配置中心中以应用为主维度管理,可以管理一个应用在不同环境、不同集群下的配置信息,配置信息可以分为不同的命名空间管理。
[0034]环境(Environment)一般使用场景指开发环境、测试环境、生产环境等。
[0035]集群(Cluster)是指一个应用不同实例的分组,比如生产环境中,上海机房的应用实例分为一个集群,北京机房的应用实例分为一个集群。
[0036]命名空间(Namespace)是指一个应用不同配置的分组,可以类比为配置文件。
[0037]Nacos管理模型主要包括:命名空间(Namespace),配置分组(Group),配置集
(dataId)。
[0038]其中,Nacos管理模型中的命名空间(Namespace)与Apollo管理模型中的命名空间概念完全不同,该命名空间是个比较通用的概念,可以指代不同的租户、不同的环境等。
[0039]配置分组(Group)一般为有一定关系的配置集的集合。例如:一个产品可以是一个配置分组,一个模块(应用)也可以是一个配置分组。
[0040]配置集(dataId):通常一个配置文件就是一个配置集。
[0041]从上述Apollo管理模型和Nacos的管理模型中,可以看出,Apollo管理模型和Nacos管理模型都能支撑不同环境、不同实例的配置管理,Nacos管理模型由于模型简单、开放,可以应用于多租户场景。但是,在Kubernetes容器化服务逐渐普及,应用程序实例不再局限于多租户场景,甚至,租户的某一个资源组或者某一个项目可以独立部署一套应用程序实例。这要求配置管理工具能够支撑租户、项目、资源组甚至更多级别的配置管理。由于租户、项目、资源组之间存在包含关系,所以每一级配置除了可以设置独有的配置信息,也可以继承上一级的配置信息。在这些场景中,现有的Apollo管理模型和Nacos管理模型都无法满足。
[0042]针本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种配置管理方法,其特征在于,所述方法包括:读取各个命名空间对应的第一配置信息;确定各个命名空间之间的层级关系以及目标命名空间;基于所述层级关系将各个命名空间对应的第一配置信息进行合并,得到所述目标命名空间对应的的目标配置信息。2.根据权利要求1所述的方法,其特征在于,确定各个命名空间之间的层级关系以及目标命名空间,包括:根据读取命名空间的先后顺序确定各个命名空间之间的层级关系,其中,先读取到的命名空间比后读取到的命名空间的层级高;将最后一个读取到的命名空间确定为目标命名空间。3.根据权利要求1所述的方法,其特征在于,基于所述层级关系将各个命名空间对应的第一配置信息进行合并,得到所述目标命名空间对应的的目标配置信息包括:按照所述层级关系由低到高依次将各个命名空间对应的第一配置信息进行合并,得到所述目标命名空间对应的的目标配置信息。4.根据权利要求3所述的方法,其特征在于,所述第一配置信息包括配置名称,配置内容;按照所述层级关系由低到高依次将各个命名空间对应的第一配置信息进行合并,得到所述目标命名空间对应的的目标配置信息,包括:在所述第一配置信息的合并过程中,如果存在配置名称相同,且配置内容不同的第一配置信息,将低层级的命名空间对应的第一配置信息确定为所述目标命名空间对应的的目标配置信息。5.根据权利要求4所述的方法,其特征在于,所述第一配置信息还包括配置格式;基于所述层级关系将各个命名空间对应的第一配置信息进行合并之前,还包括:将各个命名空间对应的第一配置信息均转换为Map格式;得到所述目标命名空间对应的的目标配置信息之后,还包括:将所述目标配置信息由Map格式的转换为第一配置信息中包括的配置格式。6.一种配置管理装置,其特征在于,所述装置包括:第一配置信息读取模块,用于读取各个命名空间对应的第一配置信息;层级关系确定模块,用于确定各个命名空间之间的层级关系以及目标命名空间;目...

【专利技术属性】
技术研发人员:李瑞
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1