CN114371882B - 一种应用的统一配置管理方法、系统、装置及存储介质 - Google Patents
一种应用的统一配置管理方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN114371882B CN114371882B CN202111610128.6A CN202111610128A CN114371882B CN 114371882 B CN114371882 B CN 114371882B CN 202111610128 A CN202111610128 A CN 202111610128A CN 114371882 B CN114371882 B CN 114371882B
- Authority
- CN
- China
- Prior art keywords
- application
- configuration
- configuration information
- current
- determining
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000011161 development Methods 0.000 abstract description 9
- 230000004044 response Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种应用的统一配置管理方法、系统、装置及存储介质。该方法根据预设应用编码规则,确定应用的编码标识;根据预设应用配置规则,确定应用的配置信息;根据Sidecar规则,在Pod中创建应用的配置代理服务;响应于当前应用的配置信息查询请求,当前配置代理服务通过访问kubernetes API接口获取当前应用的配置信息,并将当前应用的配置信息发送给当前应用。该系统包括第一确定模块、第二确定模块、创建模块和配置代理模块。通过使用上述方法,能够对应用进行统一配置管理,有利于降低对应用的侵入性,同时,缓解对于开发语言和框架的限制。本申请可广泛应用于计算机技术领域内。
Description
技术领域
本申请涉及计算机技术领域,尤其是一种应用的统一配置管理方法、系统、装置及存储介质。
背景技术
现如今,越来越多的系统基于K8s来部署和管理,在构建复杂系统时,通常会部署独立的配置中心,以便对系统内各服务的配置信息进行统一管理。相关技术中,各服务需要通过配置中心开发SDK及安全认证机制,从配置中心获取所需配置信息,对应用有一定的侵入性,同时不支持多种开发语言及框架,有较多的使用限制。
发明内容
本申请的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
为此,本申请实施例的一个目的在于提供一种应用的统一配置管理方法,该方法能够对应用进行统一配置管理,有利于降低对应用的侵入性,同时,缓解对于开发语言和框架的限制。
本申请实施例的另一个目的在于提供一种应用的统一配置管理系统。
为了达到上述技术目的,本申请实施例所采取的技术方案包括:
一方面,本申请实施例提供了一种应用的统一配置管理方法,包括以下步骤:根据预设应用编码规则,确定所述应用的编码标识;根据预设应用配置规则,确定所述应用的配置信息;其中,所述配置信息中包括所述应用的编码标识;根据Sidecar规则,在所述Pod中创建所述应用的配置代理服务;所述配置代理服务用于通过downwardAPI与所述应用的编码标识进行绑定;响应于当前应用的配置信息查询请求,当前配置代理服务通过访问kubernetes API接口获取所述当前应用的配置信息,并将所述当前应用的配置信息发送给所述当前应用。本申请实施例的应用的统一配置管理方法,能够对应用进行统一配置管理,有利于降低对应用的侵入性,同时,缓解对于开发语言和框架的限制。
另外,根据本申请上述实施例的应用的统一配置管理方法,还可以具有以下附加的技术特征:
进一步地,本申请实施例的应用的统一配置管理方法中,所述配置代理服务配置在容器中,所述在所述Pod中创建所述应用的配置代理服务,包括:创建服务账号;创建角色,并确定所述角色的访问权限;其中,所述访问权限供所述角色访问所述应用的配置信息;将所述服务账号和所述角色进行绑定,确定所述服务账号的访问权限;通过downwardAPI将所述Pod的预设标签信息挂载到所述容器的预设文件中;其中,所述预设标签信息中包括所述应用的编码标识。
进一步地,在本申请的一个实施例中,还包括:所述配置代理服务根据所述预设文件,获取所述应用的编码标识,得到与所述应用的编码标识具有绑定关系的配置代理服务。
进一步地,在本申请的一个实施例中,所述根据预设应用配置规则,确定所述应用的配置信息,包括:所述配置信息以key:value的形式存储;若配置信息为字符型的明文信息,确定所述配置信息的存储位置为configMap中的第一位置;或者,若配置信息为文件型的明文信息,确定所述配置信息的存储位置为configMap中的第二位置;或者,若配置信息为字符型的密文信息,确定所述配置信息的存储位置为Secret中的第三位置;或者,若配置信息为文件型的密文信息,确定所述配置信息的存储位置为Secret中的第四位置。
进一步地,在本申请的一个实施例中,所述当前应用通过以下步骤发送所述配置信息查询请求:所述当前应用通过调用http get接口的方式发送所述配置信息查询请求。
进一步地,在本申请的一个实施例中,所述当前配置代理服务通过访问kubernetes API接口获取所述当前应用的配置信息,包括:所述当前配置代理服务根据所述配置信息查询请求,得到当前应用的编码标识;根据所述配置信息查询请求和所述当前应用的编码标识,通过访问kubernetes API接口获取所述当前应用的配置信息。
进一步地,在本申请的一个实施例中,还包括:将临时存储卷挂载到应用所在容器的预定文件中。
另一方面,本申请实施例提出了一种应用的统一配置管理系统,包括:第一确定模块,用于根据预设应用编码规则,确定所述应用的编码标识;第二确定模块,用于根据预设应用配置规则,确定所述应用的配置信息;其中,所述配置信息中包括所述应用的编码标识;创建模块,用于根据Sidecar规则,在所述Pod中创建所述应用的配置代理服务;所述配置代理服务用于通过downwardAPI与所述应用的编码标识进行绑定;配置代理模块,用于根据当前应用的配置信息查询请求,当前配置代理服务通过访问kubernetes API接口获取所述当前应用的配置信息,并将所述当前应用的配置信息发送给所述当前应用。
另一方面,本申请实施例提供了一种应用的统一配置管理装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现上述的任一种应用的统一配置管理方法。
另一方面,本申请实施例提供了一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于实现上述的任一种应用的统一配置管理方法。
本申请实施例中的应用的统一配置管理方法,根据预设应用编码规则,确定所述应用的编码标识;根据预设应用配置规则,确定所述应用的配置信息;其中,所述配置信息中包括所述应用的编码标识;根据Sidecar规则,在所述Pod中创建所述应用的配置代理服务;所述配置代理服务用于通过downwardAPI与所述应用的编码标识进行绑定;响应于当前应用的配置信息查询请求,当前配置代理服务通过访问kubernetes API接口获取所述当前应用的配置信息,并将所述当前应用的配置信息发送给所述当前应用。通过使用上述方法,能够对应用进行统一配置管理,有利于降低对应用的侵入性,同时,缓解对于开发语言和框架的限制。
附图说明
为了更清楚地说明本申请实施例或者现有技术中的技术方案,下面对本申请实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本申请的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1为本申请提出的应用的统一配置管理方法具体实施例的流程示意图;
图2为本申请提出的应用的统一配置管理方法中配置信息的存储示意图;
图3为本申请提出的应用的统一配置管理系统具体实施例的结构示意图;
图4为本申请提出的应用的统一配置管理装置具体实施例的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
kubernetes(K8s)是一个开源的容器集群管理系统,发展非常迅速,已经成为最流行和最活跃的容器编排系统,其给系统运维部署带来的效率提升已得到广泛认可,越来越多的系统基于K8s来部署和管理。
在构建复杂系统时,系统由较多的模块或服务组成,一般会部署独立的配置中心服务,以方便对系统内各服务的配置信息进行统一管理。但各服务需要基于配置中心的开发SDK及安全认证机制从配置中心获取所需配置信息,对应用有一定侵入性,另外支持的开发语言和框架也有所限制。
因此,本申请实施例提出的一种应用的统一配置管理方法和系统,首先将参照附图描述根据本申请实施例提出的一种应用的统一配置管理方法。
参照图1,本申请实施例中提供一种应用的统一配置管理方法,本申请实施例中的应用的统一配置管理方法,可应用于终端中,也可应用于服务器中,还可以是运行于终端或服务器中的软件等。终端可以是平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请实施例中的应用的统一配置管理方法主要包括以下步骤:
S101:根据预设应用编码规则,确定所述应用的编码标识;
本申请实施例中,根据预设应用编码规则,确定应用的编码标识。预设应用编码规则用于表征对应用进行命名时的规则,可以通过固定含义的字符串对应用进行标识。在一些可能的实施方式中,编码规则可以是app-autoconfig-appId,其中autoconfig用于表征该应用服务的类型。appId用于表征该应用服务的标识,用于区分不同的应用服务。可选地,appId可以用系统自动生成的字符串形式进行表示,也可以选择用户自定义的形式进行表示。本申请并不限定预设应用编码规则的具体形式。
S102:根据预设应用配置规则,确定所述应用的配置信息;其中,所述配置信息中包括所述应用的编码标识;
本申请实施例中,根据预设应用配置规则,确定应用的配置信息;其中,配置信息中包括应用的编码标识。对于应用的不同配置信息,选用不同的方式处理,即根据预设应用配置规则,确定应用的配置信息。
S103:根据Sidecar规则,在所述Pod中创建所述应用的配置代理服务;所述配置代理服务用于通过downwardAPI与所述应用的编码标识进行绑定;
本申请实施例中,根据Sidecar规则,在Pod中创建应用的配置代理服务;配置代理服务用于通过downwardAPI与应用的编码标识进行绑定。Sidecar规则,因其类似于连接到摩托车的边车,因此也称为边车规则。将配置代理服务和应用放置于同一个Pod中,进行配置信息的获取与传输动作时,无需对应用进行修改,有利于降低对应用的侵入性。同时,支持应用配置信息的权限隔离和安全访问。配置代理服务通过downwardAPI与应用的编码标识进行绑定,将应用与配置代理服务进行提前绑定,应用只能查询自身的配置信息,有利于提升应用配置的安全性能。
S104:响应于当前应用的配置信息查询请求,当前配置代理服务通过访问kubernetes API接口获取所述当前应用的配置信息,并将所述当前应用的配置信息发送给所述当前应用。
本申请实施例中,通过上述对于配置代理服务的创建过程,当当前应用进行配置信息查询时,发送配置信息查询请求,当前配置代理服务访问K8S的API接口,获取当前应用的配置信息,并将配置信息发送给当前应用。基于上述配置代理服务与应用的编码标识已进行绑定,通过配置信息查询请求,得到应用的编码标识,从而查询到应用的配置信息。通过上述方法,能够对应用进行统一配置管理,有利于降低对应用的侵入性,同时,缓解对于开发语言和框架的限制。
可选地,本申请实施例中的应用的统一配置管理方法,所述配置代理服务配置在容器中,所述在所述Pod中创建所述应用的配置代理服务,包括:
创建服务账号;
创建角色,并确定所述角色的访问权限;其中,所述访问权限供所述角色访问所述应用的配置信息;
将所述服务账号和所述角色进行绑定,确定所述服务账号的访问权限;
通过downwardAPI将所述Pod的预设标签信息挂载到所述容器的预设文件中;其中,所述预设标签信息中包括所述应用的编码标识。
本步骤中,配置代理服务的创建过程如下:创建服务账号ServiceAccount,对于应用的服务账号,可确定标识为sa-app-autoconfig。创建角色role;具体地,可以设定标识为rl-app-autoconfig;确定角色的访问权限,也就是给角色访问应用的配置信息的权限,以读取应用的配置信息。将服务账号和角色进行绑定,确定服务账号的访问权限,确定服务账号访问应用的配置信息的权限。通过downwardAPI将Pod的预设标签信息挂载到容器的预设文件中;其中,所述预设标签信息中包括所述应用的编码标识。通过downwardAPI将配置代理服务与应用的编码标识进行绑定。在一些可能的实施方式中,预设标签信息可以是metadata.labels信息,预设文件可以是/etc/autoconfig-downward/labels文件;即通过downwardAPI将Pod的metadata.labels信息挂载到config-proxy所在容器的/etc/autoconfig-downward/labels文件中,用于将配置代理服务与应用的编码标识进行绑定。
可选地,本申请实施例中的应用的统一配置管理方法,还包括:
所述配置代理服务根据所述预设文件,获取所述应用的编码标识,得到与所述应用的编码标识具有绑定关系的配置代理服务。
本步骤中,所述配置代理服务根据所述预设文件,获取所述应用的编码标识,得到与所述应用的编码标识具有绑定关系的配置代理服务。通过将配置代理服务与应用的编码标识进行绑定,当应用需要进行配置信息查询时,无需发送自身的编码标识,有利于缓解其它应用获取本编码标识的风险,提升配置信息传递的安全性能。
可选地,本申请实施例中的应用的统一配置管理方法,所述根据预设应用配置规则,确定所述应用的配置信息,包括:
所述配置信息以key:value的形式存储;
若配置信息为字符型的明文信息,确定所述配置信息的存储位置为configMap中的第一位置;
或者,若配置信息为文件型的明文信息,确定所述配置信息的存储位置为configMap中的第二位置;
或者,若配置信息为字符型的密文信息,确定所述配置信息的存储位置为Secret中的第三位置;
或者,若配置信息为文件型的密文信息,确定所述配置信息的存储位置为Secret中的第四位置。
本步骤中,创建应用的配置信息,配置信息以key:value的形式进行存储。具体地,可根据配置信息的保密级别和信息类型,划分为四种不同的配置信息的存储方式。参照图2所示,明文字符类配置保存到名为cm-appId的configMap中,明文文件类配置保存到名为cm-appId-file的configMap中。密文字符类配置保存到名为srt-appId的Secret中,密文文件类配置保存到名为srt-appId-file的Secret中。上述的存储方式属于举例性说明,本领域技术人员可以根据实际需求,对配置信息的存储形式和存储位置进行设置。
可选地,本申请实施例中的应用的统一配置管理方法,所述当前应用通过以下步骤发送所述配置信息查询请求:
所述当前应用通过调用http get接口的方式发送所述配置信息查询请求。
本步骤中,当前应用可以调用http get接口的方式发送配置信息查询请求,配置代理服务接收该查询请求后进行配置信息的查询操作,在一些可能的实施方式中,调用地址可以是:http://localhost:port/config-proxy/getAppConfig?configKey=xx&configType=xx&isSecret=xx&cachSecond=xx,其中localhost用于表征本地地址,形式固定;port用于表征配置代理服务config-proxy的服务端口;configKey为配置名称;configType为配置类型,0代表字符类型,1代表文件类型;isSecret为是否加密配置,0代表非加密,1代表加密。cachSecond为配置缓存时间,单位为秒,用以对配置信息进行缓存,提高性能。配置代理服务config-proxy基于以上信息和appId调用k8s service API接口,获取应用对应的configmap或secret信息,并从中解析出configKey对应的配置值,返回给调用方。该接口不接受appId参数,而是基于downwardAPI提前绑定了应用信息,因此应用只能查询自身的配置信息,简化了权限管理操作。
可选地,本申请实施例中的应用的统一配置管理方法,所述当前配置代理服务通过访问kubernetes API接口获取所述当前应用的配置信息,包括:
所述当前配置代理服务根据所述配置信息查询请求,得到当前应用的编码标识;
根据所述配置信息查询请求和所述当前应用的编码标识,通过访问kubernetesAPI接口获取所述当前应用的配置信息。
本步骤中,当前配置代理服务接收到发出配置信息查询请求的同时,通过绑定的信息,得到当前应用的编码标识;从而根据配置信息查询请求和编码标识,通过访问kubernetes API接口获取当前应用的配置信息。
可选地,本申请实施例中的应用的统一配置管理方法,还包括:
将临时存储卷挂载到应用所在容器的预定文件中。
本步骤中,将临时存储卷挂载到应用所在容器的预定文件中,屏蔽应用调用K8S的API接口的权限,有利于提升应用配置的安全性。在一些可能的实施方式中,临时存储卷可以是emptyDir,预定文件可以是/var/run/secrets/kubernetes.io/serviceaccount目录信息。即挂载emptyDir到应用容器/var/run/secrets/kubernetes.io/serviceaccount目录,屏蔽应用的部分访问权限。
为了更好的理解本申请提出的一种应用的配置方法,下面以一具体实施例进行详细介绍:
步骤一:准备3台配置为16G内存、8核心CPU的虚拟机,部署K8s集群,启用权限管理和PodPreset机制;
步骤二:创建ServiceAccount sa-app-autoconfig;
步骤三:创建role rl-app-autoconfig,设置该role支持configMap、secret的访问权限;
步骤四:将sa-app-autoconfig和rl-app-autoconfig进行绑定;
步骤五:给应用分配标识appId,本实施例中为10001;
步骤六:按需给应用创建配置信息。明文字符类配置保存到名为cm-10001的configMap中,明文文件类配置保存到名为cm-10001-file的configMap中。密文字符类配置保存到名为srt-10001的Secret中,密文文件类配置保存到名为srt-10001-file的Secret中;
步骤七:配置应用发布Pod,获取配置信息,主要步骤如下:
a)给Pod增加label标签app:app-autoconfig-10001;
b)给Pod配置ServiceAccount权限sa-app-autoconfig;
c)以Sidecar形式部署config-proxy服务到应用所在Pod,服务端口为18080;通过downwardAPI将Pod的metadata.labels信息挂载到config-proxy所在容器的/etc/autoconfig-downward/labels文件;
d)挂载emptyDir到应用容器/var/run/secrets/kubernetes.io/serviceaccount目录;
e)获取应用配置信息,如DB_SERVER,应用调用http get接口http://localhost:18080/config-proxy/getAppConfig?configKey=DB_SERVER&configType=0&isSe cret=0&cacheSecond=100从config-proxy获取。
通过上述描述可知,通过本申请提出的一种应用的统一配置管理方法,能够对应用进行统一配置管理,有利于降低对应用的侵入性,同时,缓解对于开发语言和框架的限制。
其次,参照附图描述根据本申请实施例提出的一种应用的统一配置管理系统。
图3是本申请一个实施例的一种应用的统一配置管理系统结构示意图。该系统具体包括:
第一确定模块310,用于根据预设应用编码规则,确定所述应用的编码标识;
第二确定模块320,用于根据预设应用配置规则,确定所述应用的配置信息;其中,所述配置信息中包括所述应用的编码标识;
创建模块330,用于根据Sidecar规则,在所述Pod中创建所述应用的配置代理服务;所述配置代理服务用于通过downwardAPI与所述应用的编码标识进行绑定;
配置代理模块340,用于根据当前应用的配置信息查询请求,当前配置代理服务通过访问kubernetes API接口获取所述当前应用的配置信息,并将所述当前应用的配置信息发送给所述当前应用。
可见,上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
参照图4,本申请实施例提供了一种应用的统一配置管理装置,包括:
至少一个处理器410;
至少一个存储器420,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器410执行时,使得所述至少一个处理器410实现所述的应用的统一配置管理方法。
同理,上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本申请的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本申请,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本申请是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本申请。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本申请的范围,本申请的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干程序用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行程序的定序列表,可以具体实现在任何计算机可读介质中,以供程序执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从程序执行系统、装置或设备取程序并执行程序的系统)使用,或结合这些程序执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供程序执行系统、装置或设备或结合这些程序执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的程序执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
以上是对本申请的较佳实施进行了具体说明,但本申请并不限于所述实施例,熟悉本领域的技术人员在不违背本申请精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (8)
1.一种应用的统一配置管理方法,其特征在于,所述应用位于Pod中,所述方法包括以下步骤:
根据预设应用编码规则,确定所述应用的编码标识;
根据预设应用配置规则,确定所述应用的配置信息;其中,所述配置信息中包括所述应用的编码标识;
根据Sidecar规则,在所述Pod中创建所述应用的配置代理服务;所述配置代理服务用于通过downwardAPI与所述应用的编码标识进行绑定;
响应于当前应用的配置信息查询请求,当前配置代理服务通过访问kubernetes API接口获取所述当前应用的配置信息,并将所述当前应用的配置信息发送给所述当前应用;
所述配置代理服务配置在容器中,所述在所述Pod中创建所述应用的配置代理服务,包括:
创建服务账号;
创建角色,并确定所述角色的访问权限;其中,所述访问权限供所述角色访问所述应用的配置信息;
将所述服务账号和所述角色进行绑定,确定所述服务账号的访问权限;
通过downwardAPI将所述Pod的预设标签信息挂载到所述容器的预设文件中;其中,所述预设标签信息中包括所述应用的编码标识;
所述当前配置代理服务通过访问kubernetes API接口获取所述当前应用的配置信息,包括:
所述当前配置代理服务根据所述配置信息查询请求,得到所述当前应用的编码标识;
根据所述配置信息查询请求和所述当前应用的编码标识,通过访问kubernetes API接口获取所述当前应用的配置信息。
2.根据权利要求1所述的应用的统一配置管理方法,其特征在于,还包括:
所述配置代理服务根据所述预设文件,获取所述应用的编码标识,得到与所述应用的编码标识具有绑定关系的配置代理服务。
3.根据权利要求1所述的应用的统一配置管理方法,其特征在于,所述根据预设应用配置规则,确定所述应用的配置信息,包括:
所述配置信息以key:value的形式存储;
若配置信息为字符型的明文信息,确定所述配置信息的存储位置为configMap中的第一位置;
或者,若配置信息为文件型的明文信息,确定所述配置信息的存储位置为configMap中的第二位置;
或者,若配置信息为字符型的密文信息,确定所述配置信息的存储位置为Secret中的第三位置;
或者,若配置信息为文件型的密文信息,确定所述配置信息的存储位置为Secret中的第四位置。
4.根据权利要求1所述的应用的统一配置管理方法,其特征在于,所述当前应用通过以下步骤发送所述配置信息查询请求:
所述当前应用通过调用http get接口的方式发送配置信息查询请求。
5.根据权利要求1所述的应用的统一配置管理方法,其特征在于,还包括:
将临时存储卷挂载到所述应用所在容器的预定文件中。
6.一种应用的统一配置管理系统,其特征在于,包括:
第一确定模块,用于根据预设应用编码规则,确定所述应用的编码标识;
第二确定模块,用于根据预设应用配置规则,确定所述应用的配置信息;其中,所述配置信息中包括所述应用的编码标识;
创建模块,用于根据Sidecar规则,在Pod中创建所述应用的配置代理服务;所述配置代理服务用于通过downwardAPI与所述应用的编码标识进行绑定;
配置代理模块,用于根据当前应用的配置信息查询请求,当前配置代理服务通过访问kubernetes API接口获取所述当前应用的配置信息,并将所述当前应用的配置信息发送给所述当前应用;
所述配置代理服务配置在容器中,创建模块,还用于:
创建服务账号;
创建角色,并确定所述角色的访问权限;其中,所述访问权限供所述角色访问所述应用的配置信息;
将所述服务账号和所述角色进行绑定,确定所述服务账号的访问权限;
通过downwardAPI将所述Pod的预设标签信息挂载到所述容器的预设文件中;其中,所述预设标签信息中包括所述应用的编码标识;
配置代理模块,还用于:
所述当前配置代理服务根据所述配置信息查询请求,得到所述当前应用的编码标识;
根据所述配置信息查询请求和所述当前应用的编码标识,通过访问kubernetes API接口获取所述当前应用的配置信息。
7.一种应用的统一配置管理装置,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-5中任一项所述的应用的统一配置管理方法。
8.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于:所述处理器可执行的程序在由处理器执行时用于实现如权利要求1-5中任一项所述的应用的统一配置管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111610128.6A CN114371882B (zh) | 2021-12-27 | 2021-12-27 | 一种应用的统一配置管理方法、系统、装置及存储介质 |
PCT/CN2022/140393 WO2023125152A1 (zh) | 2021-12-27 | 2022-12-20 | 一种应用的统一配置管理方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111610128.6A CN114371882B (zh) | 2021-12-27 | 2021-12-27 | 一种应用的统一配置管理方法、系统、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114371882A CN114371882A (zh) | 2022-04-19 |
CN114371882B true CN114371882B (zh) | 2024-09-10 |
Family
ID=81142476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111610128.6A Active CN114371882B (zh) | 2021-12-27 | 2021-12-27 | 一种应用的统一配置管理方法、系统、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114371882B (zh) |
WO (1) | WO2023125152A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114371882B (zh) * | 2021-12-27 | 2024-09-10 | 天翼物联科技有限公司 | 一种应用的统一配置管理方法、系统、装置及存储介质 |
CN114860377A (zh) * | 2022-04-24 | 2022-08-05 | 支付宝(杭州)信息技术有限公司 | 一种针对容器运维的业务处理方法、装置以及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109104467A (zh) * | 2018-07-25 | 2018-12-28 | 北京京东尚科信息技术有限公司 | 开发环境构建方法、装置以及平台系统和存储介质 |
CN111198726A (zh) * | 2019-12-30 | 2020-05-26 | 中科星图股份有限公司 | 一种适应传统应用云化的配置系统及方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10079832B1 (en) * | 2017-10-18 | 2018-09-18 | Palantir Technologies Inc. | Controlling user creation of data resources on a data processing platform |
US11347806B2 (en) * | 2019-12-30 | 2022-05-31 | Servicenow, Inc. | Discovery of containerized platform and orchestration services |
CN111414643B (zh) * | 2020-03-17 | 2024-06-21 | 深圳市卡数科技有限公司 | 数据权限控制方法、装置、服务器及存储介质 |
CN113821335A (zh) * | 2021-01-22 | 2021-12-21 | 北京沃东天骏信息技术有限公司 | 一种数据处理的方法、装置和存储介质 |
CN113157339B (zh) * | 2021-04-23 | 2023-07-18 | 东云睿连(武汉)计算技术有限公司 | 一种基于osb的应用服务扩展方法、系统、存储介质及装置 |
CN113364620B (zh) * | 2021-06-03 | 2023-01-17 | 上海井星信息科技有限公司 | 一种软交换集中配置管理系统 |
CN113419729B (zh) * | 2021-06-22 | 2023-10-20 | 康键信息技术(深圳)有限公司 | 基于组件化的前端页面搭建方法、装置、设备及存储介质 |
CN113760452B (zh) * | 2021-08-02 | 2023-09-26 | 阿里巴巴新加坡控股有限公司 | 一种容器调度方法、系统、设备及存储介质 |
CN113791759A (zh) * | 2021-09-09 | 2021-12-14 | 上海仙塔智能科技有限公司 | 代码开发的处理方法、装置、电子设备与存储介质 |
CN114371882B (zh) * | 2021-12-27 | 2024-09-10 | 天翼物联科技有限公司 | 一种应用的统一配置管理方法、系统、装置及存储介质 |
-
2021
- 2021-12-27 CN CN202111610128.6A patent/CN114371882B/zh active Active
-
2022
- 2022-12-20 WO PCT/CN2022/140393 patent/WO2023125152A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109104467A (zh) * | 2018-07-25 | 2018-12-28 | 北京京东尚科信息技术有限公司 | 开发环境构建方法、装置以及平台系统和存储介质 |
CN111198726A (zh) * | 2019-12-30 | 2020-05-26 | 中科星图股份有限公司 | 一种适应传统应用云化的配置系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2023125152A1 (zh) | 2023-07-06 |
CN114371882A (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3484125B1 (en) | Method and device for scheduling interface of hybrid cloud | |
CN114371882B (zh) | 一种应用的统一配置管理方法、系统、装置及存储介质 | |
US10263994B2 (en) | Authorized delegation of permissions | |
US10127401B2 (en) | Redacting restricted content in files | |
CA2936956C (en) | An entity handle registry to support traffic policy enforcement | |
US9912682B2 (en) | Aggregation of network traffic source behavior data across network-based endpoints | |
CN106372465A (zh) | 一种动态链接库安全管理方法、系统和电子设备 | |
CN111935110A (zh) | 一种对租户访问容器实例的权限的控制方法和装置 | |
CN112511316B (zh) | 单点登录接入方法、装置、计算机设备及可读存储介质 | |
US11063922B2 (en) | Virtual content repository | |
US11882154B2 (en) | Template representation of security resources | |
CN113312669B (zh) | 密码同步方法、设备及存储介质 | |
US11531628B2 (en) | Protecting cache accesses in multi-tenant processing environments | |
CN112115500A (zh) | 一种访问文件的方法、装置及系统 | |
US20230205927A1 (en) | Use of Semantically Segmented Filenames | |
US20220385596A1 (en) | Protecting integration between resources of different services using service-generated dependency tags | |
US20050190780A1 (en) | DSLAM-hosted information storage functionality | |
CN113765876B (zh) | 报表处理软件的访问方法和装置 | |
CN115189956A (zh) | 一种文件安全共享方法 | |
US9928386B1 (en) | Data protection system | |
JP2013179472A (ja) | モバイルデバイス及びプログラム | |
CN103051607B (zh) | 访问方法、设备及系统 | |
CN108134785B (zh) | 一种服务器的切换方法、装置、终端设备及存储介质 | |
WO2022071946A1 (en) | Data transformations based on policies | |
US7577742B1 (en) | Account creation method and apparatus |
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 |