CN112286628B - 一种统一纳管Kubernetes异构应用的系统及运行方法 - Google Patents
一种统一纳管Kubernetes异构应用的系统及运行方法 Download PDFInfo
- Publication number
- CN112286628B CN112286628B CN202011115981.6A CN202011115981A CN112286628B CN 112286628 B CN112286628 B CN 112286628B CN 202011115981 A CN202011115981 A CN 202011115981A CN 112286628 B CN112286628 B CN 112286628B
- Authority
- CN
- China
- Prior art keywords
- helm
- resource
- component
- parameter
- module
- 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
Images
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/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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种统一纳管Kubernetes异构应用的系统,包括:“Kubernetes资源整合模块”由“资源扫描组件”和“资源组装组件”构成;“Kubernetes资源参数解析模块”由“Kubernetes资源对象参数解析组件”构成;“Operator参数解析模块”由“Operator对象查询组件”和“Operator对象参数解析组件”构成;“Helm参数转换模块”由“Helm参数转换组件”和“Helm参数基础库组件”构成;“统一查询模块”由“北向接口组件”,“查询整合组件”和“实时监听组件”构成;“数据库模块”采用Mysql数据库。本发明还提供了相应的运行方法。
Description
技术领域
本发明属于容器云技术领域,更具体地,涉及一种统一纳管Kubernetes异构应用的系统及运行方法。
背景技术
随着云数据中心以及用户规模的逐渐扩大,云计算的相关技术也蓬勃发展。而随着Docker技术的出现,对容器编排系统的需求也日益迫切。Kubernetes作为开源的大规模容器编排引擎,已经逐步成为了容器云的行业规范。而Kubernetes容器平台的核心价值就是对容器化的应用进行妥善的编排部署和优质的运行管理。
容器云平台作为云计算层级中的平台即服务(Platform as a Service,PaaS),对于应用的管理是其生态中重要的组成部分。而基于Kubernetes的容器云平台,创建容器应用的方式多种多样,将这些应用以统一的方式进行管理并呈现,在产品的易用性、友好性及技术架构的整合性方面有着极其重要的意义。当前阶段,基于Kubernetes引擎,创建容器应用方式主要包括接口、命令行、脚本、Helm技术、Operator技术等。
(1)接口:调用Kubernetes接口,创建容器资源,包括但不限于部署(Deployment),有状态副本集(Statefulset),守护进程集(Daemonset),容器组(Pod),服务(Service,SVC),配置字典(Configmap)等资源对象,并通过应用(Application,APP)Label将不同资源建立联系,构成应用;
(2)命令行:使用kubectl命令行界面(Command-Line Interface,CLI),创建容器资源,包括但不限于Deployment,Statefulset,Daemonset,Pod,SVC,Configmap等,并通过App Label将不同资源建立联系,构成应用;
(3)脚本:编写Yaml格式文件(Yaml文件中对要创建的容器资源进行编排)并创建;
(4)Helm:基于Helm应用包管理工具,编写Helm Charts文件对要创建的容器资源进行编排并创建应用;
(5)Operator:基于Operator对象,编写自定义资源类型(Custom ResourceDefinition,CRD)及Operator资源文件对要创建的容器资源进行编排并创建应用;
前三种方式均是基于原生Kubernetes原生能力进行资源编排。对应到底层具体实现,会转化为一个个实际运行的资源对象,对象间通过标签关联,构成应用;后两种方式是目前业界主流的两种基于Kubernetes容器应用编排工具,可直接实现基于Helm和Operator技术对容器应用部署并以这两种技术对应的资源形态进行管理。
虽然Kubernetes容器云平台的应用创建方式有多种,但几乎所有的容器云平台产品本身都只能提供符合自己产品设计架构的某一类应用的创建及管理方式,对于通过其他方式创建的异构形态容器应用则无法统一纳管。而对于容器云平台,若缺失异构应用统一纳管的能力,会导致平台侧无法感知用户手工从底层创建的不同类型应用,严重情况下会导致界面与Kubernetes底层数据不一致。
同时,现有某些技术方案可以实现Helm应用和Operator应用模板的相互转换,但其应用场景是将原始的编排模板进行转换,如将Helm Charts转换为Operator CRD,转换后即可以CRD方式进行部署。但对于已经运行的通过Helm或Operator应用,则无法转换为其他类型应用进行统一纳管,依然无法解决上述提到的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种统一纳管Kubernetes异构应用的系统及运行方法,用以解决上述背景技术中提出的Kubernetes容器云平台异构形态应用无法统一纳管的问题。同时,对于已经部署了Helm组件,支持管理Helm应用的Kubernetes容器云平台,本发明提供的系统及运行方法也做了兼容,不需要重新部署本发明中包含的原生Helm模块。
为实现上述目的,按照本发明的一个方面,提供了一种统一纳管Kubernetes异构应用的系统,包括“Kubernetes资源整合模块”、“Kubernetes资源参数解析模块”、“Operator参数解析模块”、“Helm参数转换模块”、“统一查询模块”、“数据库模块”和“原生Helm模块”,其中:
所述“Kubernetes资源整合模块”用于对非Operator和非Helm类型的Kubernetes资源对象进行面向应用的整合;
所述“Kubernetes资源参数解析模块”用于对整合的应用层级的Kubernetes资源进行参数剥离和解析,获得参数的字段和值,并调用“Helm参数转换模块”进行参数转换;
所述“Operator参数解析模块”用于对Operator应用进行收集、对参数进行剥离和解析,获得参数的字段和值,并调用“Helm参数转换模块”进行参数转换;
所述“Helm参数转换模块”用于将调用侧传递的参数按照Helm语法格式进行转换,与参数值匹配后输出应用的Helm Chart模板并存入数据库模块;
所述“统一查询模块”用于提供统一的北向Helm应用查询接口,同时监听所转换的异构应用的Kubernetes资源对象变化情况,并更新数据库模块;
所述“数据库模块”采用Mysql数据库,负责存储非Operator和非Helm应用的Kubernetes资源对象,Helm参数转换表及转换后的应用Helm Chart模板;
所述“原生Helm模块”为原生Helm组件,用于提供创建Helm应用和查询真实Helm应用的能力。
本发明的一个实施例中,所述“Kubernetes资源整合模块”由“资源扫描组件”和“资源组装组件”构成,“资源扫描组件”针对非Helm和非Operator应用,定期扫描Kubernetes平台中所有资源的Label,以Label和Namespace作为Key值,将Key相同的Kubernetes资源整理进相同的List中;“资源组装组件”负责将扫描过后组装的一个个List,按照资源名称和Namespace进行归类,封装成面向应用维度的资源集合并存入数据库模块。
本发明的一个实施例中,所述“Kubernetes资源参数解析模块”由“Kubernetes资源对象参数解析组件”构成,该组件从数据库模块中获取“Kubernetes资源整合模块”存取好的应用资源集合,按照应用包含的每一个参数名调用“Helm参数转换模块”进行参数转换。
本发明的一个实施例中,所述“Operator参数解析模块”由“Operator对象查询组件”和“Operator对象参数解析组件”构成,“Operator对象查询组件”定期调用Kubernetes接口查询Operator类型,获得该类型应用对应的所有Kubernetes资源对象并存入数据库模块;“Operator对象参数解析组件”负责剥离资源对象中的所有参数和对应值,并调用“Helm参数转换模块”进行参数转换。
本发明的一个实施例中,所述“Helm参数转换模块”由“Helm参数转换组件”和“Helm参数基础库组件”构成,“Helm参数转换组件”以应用为单位,接收调用侧传递的Kubernetes资源参数和参数值后,再调用“Helm参数基础库组件”接口进行参数转换,转换完成后,与参数值匹配,组装成应用对应的Helm Chart模板并存入数据库模块;“Helm参数基础库组件”的业务核心是数据库模块中的Helm参数转换表,该表按照Kubernetes资源对象的不同,分别存放了每种资源对象的参数与Helm Chart模板参数的对应关系,具体参数转换和Helm Chart模板封装动作则由该组件的主程序完成。
本发明的一个实施例中,所述“统一查询模块”包含“北向接口组件”、“查询整合组件”和“实时监听组件”,其中“北向接口组件”负责提供北向Restful接口,供客户端调用查询到所有的Helm应用,包括真实运行的Helm应用和经过逻辑转换的Helm应用;“查询整合组件”即接口组件的服务端进程,一方面负责查询数据库模块获取到转换的Helm应用集合,另一方面调用“原生Helm模块”接口获取真实的Helm应用集合,两种集合取合集后返回给北向接口组件;“实时监听组件”负责监听数据库模块中存放的转换过的Kubernetes资源对象的变化,将变化内容更新至数据库模块,同时定期扫描数据库模块,将新增的Kubernetes资源对象更新至监听队列并建立新的监听。
按照本发明的另一方面,还提供了一种上述统一纳管Kubernetes异构应用的系统中“Kubernetes资源整合模块”的运行方法,包括:
“Kubernetes资源整合模块”部署完毕后,“资源扫描组件”会定期调用KubernetesApiserver接口查询所有Kubernetes资源对象,此处称为第一资源对象;而后调用“Operator参数解析模块”中“Operator对象查询组件”的接口,查询Operator应用对应的Kubernetes资源对象,此处称作第二资源对象;再调用“原生Helm模块”中Rudder接口查询真实Helm应用对应的Kubernetes资源对象,此处称作第三资源对象,而后从第一资源对象集合中将第二资源对象和第三资源对象集合剔除,剩余集合即为非Operator和非Helm应用的Kubernetes资源对象集合;
而后调用“资源组装组件”服务,该组件遍历该资源集合,以Label和Namespace作为名称,不同资源对象作为数组,将名称相同的资源对象整理进一个List中,其中数组序号代表资源对象类型,数组内容存放具体资源对象的详细参数信息,这样,每一个List就是一个应用的资源对象集合;
最后,“资源组装组件”会将整理好的一个个应用的资源对象集合,按照初始化好的数据库表结构,存入数据库模块的非Operator和非Helm应用的Kubernetes资源对象数据表中。
按照本发明的另一方面,还提供了一种上述统一纳管Kubernetes异构应用的系统中“Kubernetes资源参数解析模块”的运行方法,包括:
“Kubernetes资源参数解析模块”中的“Kubernetes资源对象参数解析组件”从数据库模块中获取“Kubernetes资源整合模块”存取好的一个个应用的资源集合,按照应用名称的不同,以应用中的每一种资源对象为单位,调用“Helm参数转换模块”,将资源对象中的每一个参数转换为Helm Chart模板参数。
按照本发明的另一方面,还提供了一种上述统一纳管Kubernetes异构应用的系统中“Operator参数解析模块”的运行方法,包括:
“Operator参数解析模块”部署完毕后,“Operator对象查询组件”会定期调用Kubernetes Apiserver接口查询Operator应用包含的Kubernetes资源对象,并将查询结果组装成资源对象集合,再将整理好的一个个Operator应用的资源对象集合,按照初始化好的数据库表结构,存入数据库模块的Operator资源对象数据表中;
而后调用“Operator对象参数解析组件”服务,该组件从数据库模块中获取Operator应用的资源集合,按照应用名称的不同,以应用中的每一种资源对象为单位,调用“Helm参数转换模块”,将资源对象中的每一个参数转换为Helm Chart模板参数。
按照本发明的另一方面,还提供了一种上述统一纳管Kubernetes异构应用的系统中“Helm参数转换模块”的运行方法,包括:
“Helm参数转换组件”北向暴露Restful接口,接收“Kubernetes资源对象参数解析组件”和“Operator对象参数解析组件”的调用,接口入参中定义了应用名称变量和资源对象集合List;
“Helm参数转换组件”接收到请求后,遍历资源对象集合List,取出资源对象类型名称和对应的资源对象详细信息数组,调用“Helm参数基础库组件”接口进行参数转换;
“Helm参数基础库组件”接收到请求转换的参数数组后,以资源对象名和参数名为检索条件,查询数据库模块中的Helm参数转换表,取得转换后的Helm参数并返回给调用侧;
“Helm参数转换组件”会针对每一个应用创建一个Helm Chart模板类,当接收到“Helm参数基础库组件”的返回值后,即获取到了转换后的Helm Chart参数,而后将该HelmChart参数加入模板类中,当完成全部参数的添加后,再按照Yaml格式将该类导成HelmChart模板;
最后,“Helm参数转换组件”会将导出的Helm Chart模板,以应用为单位,按照初始化好的数据库表结构,存入数据库模块的Helm Chart模板数据表中。
按照本发明的另一方面,还提供了一种上述统一纳管Kubernetes异构应用的系统中“统一查询模块”的运行方法,包括:
当外部需要查询所有应用时,会调用“北向接口组件”提供的Restful接口,该组件收到查询消息后,调用“查询整合组件”接口进行具体查询,并将查询结果返回给外部调用侧;
“查询整合组件”北向暴露Restful接口,收到查询请求后,首先查询数据库模块的Helm Chart模板数据表,获取转换后的逻辑层面Helm应用,而后以该应用的名称为检索条件,继续查询数据库模块中的非Operator和非Helm应用的Kubernetes资源对象数据表和Operator资源对象数据表,获得该Helm应用对应的Kubernetes资源对象,以数组形式加入该List中,最后,调用“原生Helm模块”接口获取真实的Helm应用集合,再将这两个List集合合并,返回给“北向接口组件”,即可完成符合原生Helm应用查询格式要求的标准查询;
“实时监听组件”第一次启动后,会创建一个入队线程和监听线程,入队线程会定期扫描数据库模块中的非Operator和非Helm应用的Kubernetes资源对象数据表和Operator资源对象数据表,将所有新增的资源对象放入监听队列中;监听线程会定期检查入队线程,将队列中新增的Kubernetes资源对象取出,分别建立Websocket长链接,并调用Kubernetes应用程序编程接口的Watch接口对这些资源对象进行监听,当发现资源有变化时,Kubernetes Watch接口会通知该链接,该链接实现的回调函数便会将变化的内容再更新到数据库模块中的非Operator和非Helm应用的Kubernetes资源对象数据表和Operator资源对象数据表中。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:
(1)可扩展基于Kubernetes容器平台的能力,使其具备基于Helm技术管理异构容器应用的能力;
(2)既支持新创建的容器应用的管理,也支持对已有容器应用的纳管。提升产品的适应性;
(3)基于Helm的容器应用管理,可实现基于应用维度的更新,升级回滚,扩容缩容等,丰富产品的功能。
附图说明
图1为本发明实施例提供的统一纳管Kubernetes异构应用的系统的模块架构图;
图2为本发明实施例提供的“Kubernetes资源整合模块”的运行时序图;
图3为本发明实施例提供的“Operator参数解析模块”的运行时序图;
图4为本发明实施例提供的“Helm参数转换模块”的运行时序图;
图5为本发明实施例提供的“统一查询模块”的运行时序图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
首先对本发明所涉及的名词或术语进行解释:
Label:标签。即给主机配置标签属性,从而通过标签将主机实现分类。
Namespace:命名空间。
Kubernetes Apiserver:Kubernetes平台的核心组件之一,用来提供接口服务。
Rudder:Helm工具集的接口组件,用来提供接口服务。
Tiller:Helm工具集的服务端组件,用来与Kubernetes交互实现应用管理。
Helm Web Server:Helm工具集的Web服务器,其上存放的Helm Charts模板可通过Http协议访问。
API:Application Programming Interface,应用程序编程接口。
Restful API:Restful类型的应用程序编程接口。
Kubernetes Master:Kubernetes平台的主节点,Kubernetes平台部署的物理架构中,按照节点角色不同,可将节点划分为Master和Node两类。
实施例1
本发明系统主要包括“Kubernetes资源整合模块”,“Kubernetes资源参数解析模块”,“Operator参数解析模块”,“Helm参数转换模块”,“统一查询模块”,“数据库模块”和“原生Helm模块”七大部分。
“Kubernetes资源整合模块”主要负责对非Operator和非Helm类型的Kubernetes资源对象进行面向应用的整合。该模块由“资源扫描组件”和“资源组装组件”构成。“资源扫描组件”针对非Helm和非Operator应用,定期扫描Kubernetes平台中所有资源的Label,以Label和Namespace作为Key值,将Key相同的Kubernetes资源整理进相同的List中;“资源组装组件”负责将扫描过后组装的一个个List,按照资源名称和Namespace进行归类,封装成面向应用维度的资源集合并存入数据库模块。
需要说明的是,资源名称不是Label,可以理解为一类应用的名称。而Label是一类资源共同的标签,和资源名称不同。
“Kubernetes资源参数解析模块”主要负责对整合的应用层级的Kubernetes资源进行参数剥离和解析,获得参数的字段和值,并调用“Helm参数转换模块”进行参数转换。该模块由“Kubernetes资源对象参数解析组件”构成。该组件从数据库模块中获取“Kubernetes资源整合模块”存取好的应用资源集合,按照应用包含的每一个参数名调用“Helm参数转换模块”进行参数转换。
“Operator参数解析模块”主要负责对Operator应用进行收集、对参数进行剥离和解析,获得参数的字段和值。并调用“Helm参数转换模块”进行参数转换。该模块由“Operator对象查询组件”和“Operator对象参数解析组件”构成。“Operator对象查询组件”定期调用Kubernetes接口查询Operator类型,获得该类型应用对应的所有Kubernetes资源对象并存入数据库模块;“Operator对象参数解析组件”负责剥离资源对象中的所有参数和对应值,并调用“Helm参数转换模块”进行参数转换。
“Helm参数转换模块”主要负责将调用侧传递的参数按照Helm语法格式进行转换,与参数值匹配后输出应用的Helm Chart模板并存入数据库模块。该模块由“Helm参数转换组件”和“Helm参数基础库组件”构成。“Helm参数转换组件”以应用为单位,接收调用侧传递的Kubernetes资源参数和参数值后,再调用“Helm参数基础库组件”接口进行参数转换。转换完成后,与参数值匹配,组装成应用对应的Helm Chart模板并存入数据库模块;“Helm参数基础库组件”的业务核心是数据库模块中的Helm参数转换表,该表按照Kubernetes资源对象的不同,分别存放了每种资源对象的参数与Helm Chart模板参数的对应关系。而具体参数转换和Helm Chart模板封装动作则由该组件的主程序完成。
由于本发明是将运行的各种异构形态应用在逻辑层面转换为Helm类型应用进行统一管理,并不会将底层已经运行的这些应用按照Helm形态重新部署,而原生的Helm组件只能部署和查询真实的Helm应用,因此利用原生Helm组件接口无法查询到这些转换过来的“Helm应用”。所以本发明提供了“统一查询模块”。该模块主要负责提供统一的北向Helm应用查询接口,同时监听本发明转换的异构应用的Kubernetes资源对象变化情况,并更新数据库模块。原生Helm组件只负责创建Helm应用即可。该模块包含“北向接口组件”,“查询整合组件”和“实时监听组件”。“北向接口组件”负责提供北向Restful接口,供客户端调用查询到所有的Helm应用,包括真实运行的Helm应用和经过逻辑转换的Helm应用;“查询整合组件”即接口组件的服务端进程,一方面负责查询数据库模块获取到转换的Helm应用集合,另一方面调用“原生Helm模块”接口获取真实的Helm应用集合,两种集合取合集后返回给北向接口组件;“实时监听组件”负责监听数据库模块中存放的转换过的Kubernetes资源对象变化情况,将变化内容更新至数据库模块。同时定期扫描数据库模块,将新增的Kubernetes资源对象更新到监听队列中并建立新的监听。
“数据库模块”采用Mysql数据库,负责存储非Operator和非Helm应用的Kubernetes资源对象及转换的应用Helm Chart模板。
“原生Helm模块”即原生Helm组件,在本发明中主要负责提供创建Helm应用和查询真实Helm应用的能力。
实施例2
如图1所示,本发明系统包括“Kubernetes资源整合模块”,“Kubernetes资源参数解析模块”,“Operator参数解析模块”,“Helm参数转换模块”,“统一查询模块”,“数据库模块”和“原生Helm模块”七大模块。“Kubernetes资源整合模块”由“资源扫描组件”和“资源组装组件”构成;“Kubernetes资源参数解析模块”由“Kubernetes资源对象参数解析组件”构成;“Operator参数解析模块”由“Operator对象查询组件”和“Operator对象参数解析组件”构成;“Helm参数转换模块”由“Helm参数转换组件”和“Helm参数基础库组件”构成;“统一查询模块”由“北向接口组件”,“查询整合组件”和“实时监听组件”构成;“数据库模块”采用Mysql数据库,部署阶段会进行数据库初始化,完成非Operator和非Helm应用的Kubernetes资源对象数据表、Operator资源对象数据表、Helm参数转换表和转换后的应用Helm Chart模板数据表的建表工作。
“原生Helm模块”即原生Helm组件。
所有模块中的组件均以容器Pod方式运行,对外接口均以Restful API方式暴露并以Kubernetes nodeport service形态提供服务。
本发明提供的“原生Helm模块”可以通过修改配置文件开关,实现选择性安装。对于已经部署好Helm组件的Kubernetes容器云平台,本发明可自动实现对接,无需重新部署。
实施例3
本发明实施例展示了“Kubernetes资源整合模块”的运行时序,包括:
该模块部署完毕后,“资源扫描组件”会定期(默认5分钟,可配置)调用KubernetesAPI接口查询包括Deployment,Statefulset,Daemonset,Pod,Configmap,持久化卷声明(Persistent Volume Claim,PVC),持久化卷(Persistent Volume,PV)等Kubernetes资源对象,此处称为第一资源对象;而后调用“Operator参数解析模块”中“Operator对象查询组件”的接口,查询Operator应用对应的Kubernetes资源对象,此处称作第二资源对象;再调用“原生Helm模块”中Rudder接口查询真实Helm应用对应的Kubernetes资源对象,此处称作第三资源对象。而后从第一资源对象集合中将第二资源对象和第三资源对象集合剔除,剩余集合即为非Operator和非Helm应用的Kubernetes资源对象集合。
而后调用“资源组装组件”服务,该组件遍历该资源集合,以Label和Namespace作为名称,不同资源对象作为数组,将名称相同的资源对象整理进一个List中。其中数组序号代表资源对象类型,数组内容存放具体资源对象的详细参数信息。这样,每一个List就是一个应用的资源对象集合。
最后,“资源组装组件”会将整理好的一个个应用的资源对象集合,按照初始化好的数据库表结构,存入数据库模块的非Operator和非Helm应用的Kubernetes资源对象数据表中。
具体地,如图2所示,Kubernetes资源整合模块”的运行包括如下步骤:
步骤S201:资源扫描组件调用Apiserver接口查询所有Kubernetes资源对象;
步骤S202:资源扫描组件调用Operator对象查询组件接口查询Operator应用的Kubernetes资源对象;
步骤S302:资源扫描组件调用Rudder接口查询真实Helm应用对应的Kubernetes资源对象;
步骤S204:资源扫描组件从所有Kubernetes资源对象中剔除Operator和Helm资源对象;
步骤S205:资源扫描组件调用资源组装组件接口进行应用资源对象的组装;
步骤S206:资源组装组件组装应用资源对象;
步骤S207:资源组装组件访问数据库模块,将组装好的资源对象存入非Operator和非Helm应用的Kubernetes资源对象数据表。
实施例4
本发明实施例展示了“Operator参数解析模块”的运行时序,包括:
该模块部署完毕后,“Operator对象查询组件”会定期(默认5分钟,可配置)调用Kubernetes API接口查询Operator应用包含的Kubernetes资源对象,并将查询结果组装成资源对象集合。并且,将整理好的一个个Operator应用的资源对象集合,按照初始化好的数据库表结构,存入数据库模块的Operator资源对象数据表中。
而后调用“Operator对象参数解析组件”服务,该组件从数据库模块中获取Operator应用的资源集合,按照应用名称的不同,以应用中的每一种资源对象为单位,调用“Helm参数转换模块”,将资源对象中的每一个参数转换为Helm Chart模板参数。
具体地,如图3所示,“Operator参数解析模块”的运行包括如下步骤:
步骤S301:Operator对象查询组件调用Apiserver接口查询Operator应用的Kubernetes资源对象;
步骤S302:Operator对象查询组件组装Operator应用资源对象集合;
步骤S303:Operator对象查询组件访问数据库模块,将资源对象集合存入Operator资源对象数据表;
步骤S304:Operator对象查询组件调用Operator对象参数解析组件接口开始进行参数解析;
步骤S305:Operator对象参数解析组件访问数据库模块,查询Operator应用的资源对象数据;
步骤S306:Operator对象参数解析组件遍历查询得到的资源对象,进行参数剥离;
步骤S307:Operator对象参数解析组件Helm参数转换模块接口进行参数转换。
实施例5
本发明实施例展示了“Helm参数转换模块”的运行时序,包括:
“Helm参数转换组件”北向暴露Restful API,接收“Kubernetes资源对象参数解析组件”和“Operator对象参数解析组件”的请求。接口入参中定义了应用名称变量和资源对象集合List。
“Helm参数转换组件”接收到请求后,遍历资源对象集合List,取出资源对象类型名称和对应的资源对象详细信息数组,调用“Helm参数基础库组件”接口进行参数转换。
“Helm参数基础库组件”接收到请求转换的参数数组后,以资源对象名和参数名为检索条件,查询数据库模块中的Helm参数转换表,取得转换后的Helm参数并返回给调用侧。其中Helm参数转换表是在部署本发明系统时的数据库模块初始化阶段建立的。由于同一Kubernetes资源对象参数,可能会因资源对象本身的不同而对应不同的Helm Chart参数,即一对多的关系。因此该表以Kubernetes资源对象和Kubernetes资源对象参数名两个值作为双主键。该表是以Kubernetes和Helm为基础,经过对比总结整理而成的。后续随着Kubernetes版本和Helm版本的更新,本发明会不断更新该表的内容。对于已经部署了本发明的容器云平台,本发明支持以补丁方式对该表进行更新。
“Helm参数转换组件”会针对每个应用创建一个Helm Chart模板类,当接收到“Helm参数基础库组件”的返回值后,即获取到了转换后的Helm Chart参数。而后将该HelmChart参数加入模板类中,当完成全部参数的添加后,再按照Yaml格式将该类转换为HelmChart模板。
最后,“Helm参数转换组件”会将导出的Helm Chart模板,以应用为单位,按照初始化好的数据库表结构,存入数据库模块的Helm Chart模板数据表中。
具体地,如图4所示,“Helm参数转换模块”的运行包括如下步骤:
步骤S401:Kubernetes资源对象参数解析组件或Operator对象参数解析组件调用Helm参数转件组件接口进行参数解析;
步骤S402:Helm参数转换组件遍历资源度对象集合,取出每个资源对象;
步骤S403:Helm参数转换组件调用Helm参数基础库组件接口,将每个资源对象进行参数转换;
步骤S404:Helm参数基础库组件访问数据库模块,查询Helm参数转换表,进行实际的参数转换操作;
步骤S405:Helm参数转换组件将转换后的参数加入Helm Chart模板类;
步骤S406:Helm参数转换组件将封装好的Helm Chart模板类转为实际Helm Chart模板;
步骤S407:Helm参数转换组件访问数据库模块,将Helm Chart模板存储HelmChart模板数据表中。
实施例6
本发明实施例展示了“统一查询模块”的运行时序,包括:
当外部需要查询所有应用时,会调用“北向接口组件”提供的Restful API。该组件收到查询消息后,调用“查询整合组件”接口进行具体查询,并将查询结果返回给外部调用侧。
“查询整合组件”北向暴露Restful API,收到查询请求后,首先查询数据库模块的Helm Chart模板数据表,获取转换后的逻辑层面Helm应用,将应用名称,应用镜像信息,应用版本,应用状态组装进以应用名称为关键字的List集合的前四位。而后以该应用名称为检索条件,继续查询数据库模块中的非Operator和非Helm应用的Kubernetes资源对象数据表和Operator资源对象数据表,获得该Helm应用对应的Kubernetes资源对象,以数组形式加入该List中(List值与原生Helm查询返回格式一样)。最后,调用“原生Helm模块”接口获取真实的Helm应用集合。再将这两个List集合合并,返回给“北向接口组件”,即可完成符合原生Helm应用查询格式要求的标准查询。
“实时监听组件”第一次启动后,会创建一个入队线程和监听线程。入队线程会定期(默认5分钟,可配置)扫描数据库模块中的非Operator和非Helm应用的Kubernetes资源对象数据表和Operator资源对象数据表,将所有新增的资源对象放入监听队列中(第一次扫描会全部放入);监听线程会定期(默认5分钟,可配置)检查入队线程,将队列中新增的Kubernetes资源对象取出,分别建立Websocket长链接,并调用Kubernetes API的Watch接口对这些资源对象进行监听。当发现资源有变化时,Kubernetes Watch接口会通知该链接,该链接实现的回调函数便会将变化的内容再更新到数据库模块中的非Operator和非Helm应用的Kubernetes资源对象数据表和Operator资源对象数据表中。
具体地,如图5所示,“统一查询模块”的运行包括如下步骤:
步骤S501:外部客户端调用北向接口组件,查询所有容器应用;
外部客户端是指其他二次开发的客户端或者其他界面或者其他命令行工具,能调用本发明所提供的接口;
步骤S502:北向接口组件将查询消息透传给查询整合组件;
步骤S503:查询整合组件访问数据库模块,查询Helm Chart模板数据表;
步骤S504:查询整合组件获得所有Helm Chart模板,取出应用名称,组装成应用集合;
步骤S505:查询整合组件访问数据库模块,查询非Operator和非Helm应用的Kubernetes资源对象数据表;
步骤S506:查询整合组件访问数据库模块,查询Operator资源对象数据表;
步骤S507:查询整合组件将查询得到的资源对象数组加入应用集合;
步骤S508:查询整合组件调用Rudder接口查询真实Helm应用集合;
步骤S509:查询整合组件组装逻辑Helm和真实Helm应用的集合并返回给上层;
步骤S510:实时监听组件初始化时,创建入队线程和监听线程;
步骤S511:实时监听组件定期访问数据库模块,查询非Operator和非Helm应用的Kubernetes资源对象数据表;
步骤S512:实时监听组件将查询得到的资源对象加入监听队列;
步骤S513:实时监听组件中的监听线程定期扫描监听队列,取出资源对象;
步骤S514:实时监听组件调用Apiserver的Watch接口对这些资源对象建立Websocket长链接;
步骤S515:当资源有更新时,Apiserver会捕获到发生变化的资源对象;
步骤S516:Apiserver调用回调函数,将变化的资源对象通知给实时监听组件;
步骤S517:实时监听组件访问数据库模块,更新非Operator和非Helm应用的Kubernetes资源对象数据表和Operator资源对象数据表。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种统一纳管Kubernetes异构应用的系统,其特征在于,包括“Kubernetes资源整合模块”、“Kubernetes资源参数解析模块”、“Operator参数解析模块”、“Helm参数转换模块”、“统一查询模块”、“数据库模块”和“原生Helm模块”,其中:
所述“Kubernetes资源整合模块”用于对非Operator和非Helm类型的Kubernetes资源对象进行面向应用的整合;
所述“Kubernetes资源参数解析模块”用于对整合的应用层级的Kubernetes资源进行参数剥离和解析,获得参数的字段和值,并调用“Helm参数转换模块”进行参数转换;
所述“Operator参数解析模块”用于对Operator应用进行收集、对参数进行剥离和解析,获得参数的字段和值,并调用“Helm参数转换模块”进行参数转换;
所述“Helm参数转换模块”用于将调用侧传递的参数按照Helm语法格式进行转换,与参数值匹配后输出应用的Helm Chart模板并存入数据库模块;
所述“统一查询模块”用于提供统一的北向Helm应用查询接口,同时监听所转换的异构应用的Kubernetes资源对象变化情况,并更新数据库模块;
所述“数据库模块”采用Mysql数据库,负责存储非Operator和非Helm应用的Kubernetes资源对象,Helm参数转换表及转换后的应用Helm Chart模板;
所述“原生Helm模块”为原生Helm组件,用于提供创建Helm应用和查询真实Helm应用的能力。
2.如权利要求1所述的统一纳管Kubernetes异构应用的系统,其特征在于,所述“Kubernetes资源整合模块”由“资源扫描组件”和“资源组装组件”构成,“资源扫描组件”针对非Helm和非Operator应用,定期扫描Kubernetes平台中所有资源的Label,以Label和Namespace作为Key值,将Key相同的Kubernetes资源整理进相同的List中;“资源组装组件”负责将扫描过后组装的一个个List,按照资源名称和Namespace进行归类,封装成面向应用维度的资源集合并存入数据库模块。
3.如权利要求1或2所述的统一纳管Kubernetes异构应用的系统,其特征在于,所述“Kubernetes资源参数解析模块”由“Kubernetes资源对象参数解析组件”构成,该组件从数据库模块中获取“Kubernetes资源整合模块”存取好的应用资源集合,按照应用包含的每一个参数名调用“Helm参数转换模块”进行参数转换。
4.如权利要求1或2所述的统一纳管Kubernetes异构应用的系统,其特征在于,所述“Operator参数解析模块”由“Operator对象查询组件”和“Operator对象参数解析组件”构成,“Operator对象查询组件”定期调用Kubernetes接口查询Operator类型,获得该类型应用对应的所有Kubernetes资源对象并存入数据库模块;“Operator对象参数解析组件”负责剥离资源对象中的所有参数和对应值,并调用“Helm参数转换模块”进行参数转换。
5.如权利要求1或2所述的统一纳管Kubernetes异构应用的系统,其特征在于,所述“Helm参数转换模块”由“Helm参数转换组件”和“Helm参数基础库组件”构成,“Helm参数转换组件”以应用为单位,接收调用侧传递的Kubernetes资源参数和参数值后,再调用“Helm参数基础库组件”接口进行参数转换,转换完成后,与参数值匹配,组装成应用对应的HelmChart模板并存入数据库模块;“Helm参数基础库组件”的业务核心是数据库模块中的Helm参数转换表,该表按照Kubernetes资源对象的不同,分别存放了每种资源对象的参数与Helm Chart模板参数的对应关系,具体参数转换和Helm Chart模板封装动作则由该组件的主程序完成。
6.如权利要求1或2所述的统一纳管Kubernetes异构应用的系统,其特征在于,所述“统一查询模块”包含“北向接口组件”、“查询整合组件”和“实时监听组件”,其中“北向接口组件”负责提供北向Restful接口,供客户端调用查询到所有的Helm应用,包括真实运行的Helm应用和经过逻辑转换的Helm应用;“查询整合组件”即接口组件的服务端进程,一方面负责查询数据库模块获取到转换的Helm应用集合,另一方面调用“原生Helm模块”接口获取真实的Helm应用集合,两种集合取合集后返回给北向接口组件;“实时监听组件”负责监听数据库模块中存放的转换过的Kubernetes资源对象的变化,将变化内容更新至数据库模块,同时定期扫描数据库模块,将新增的Kubernetes资源对象更新至监听队列并建立新的监听。
7.如权利要求1至6任一项所述的统一纳管Kubernetes异构应用的系统中“Kubernetes资源整合模块”的运行方法,其特征在于,包括:
“Kubernetes资源整合模块”部署完毕后,“资源扫描组件”会定期调用KubernetesApiserver接口查询所有Kubernetes资源对象,此处称为第一资源对象;而后调用“Operator参数解析模块”中“Operator对象查询组件”的接口,查询Operator应用对应的Kubernetes资源对象,此处称作第二资源对象;再调用“原生Helm模块”中Rudder接口查询真实Helm应用对应的Kubernetes资源对象,此处称作第三资源对象,而后从第一资源对象集合中将第二资源对象和第三资源对象集合剔除,剩余集合即为非Operator和非Helm应用的Kubernetes资源对象集合;
而后调用“资源组装组件”服务,该组件遍历该资源集合,以Label和Namespace作为名称,不同资源对象作为数组,将名称相同的资源对象整理进一个List中,其中数组序号代表资源对象类型,数组内容存放具体资源对象的详细参数信息,这样每一个List就是一个应用的资源对象集合;
最后,“资源组装组件”会将整理好的一个个应用的资源对象集合,按照初始化好的数据库表结构,存入数据库模块的非Operator和非Helm应用的Kubernetes资源对象数据表中。
8.如权利要求1至6任一项所述的统一纳管Kubernetes异构应用的系统中“Kubernetes资源参数解析模块”的运行方法,其特征在于,包括:
“Kubernetes资源参数解析模块”中的“Kubernetes资源对象参数解析组件”从数据库模块中获取“Kubernetes资源整合模块”存取好的一个个应用的资源集合,按照应用名称的不同,以应用中的每一种资源对象为单位,调用“Helm参数转换模块”,将资源对象中的每一个参数转换为Helm Chart模板参数。
9.如权利要求1至6任一项所述的统一纳管Kubernetes异构应用的系统中“Operator参数解析模块”的运行方法,其特征在于,包括:
“Operator参数解析模块”部署完毕后,“Operator对象查询组件”会定期调用Kubernetes Apiserver接口查询Operator应用包含的Kubernetes资源对象,并将查询结果组装成资源对象集合,再将整理好的一个个Operator应用的资源对象集合,按照初始化好的数据库表结构,存入数据库模块的Operator资源对象数据表中;
而后调用“Operator对象参数解析组件”服务,该组件从数据库模块中获取Operator应用的资源集合,按照应用名称的不同,以应用中的每一种资源对象为单位,调用“Helm参数转换模块”,将资源对象中的每一个参数转换为Helm Chart模板参数。
10.如权利要求1至6任一项所述的统一纳管Kubernetes异构应用的系统中“Helm参数转换模块”的运行方法,其特征在于,包括:
“Helm参数转换组件”北向暴露Restful接口,接收“Kubernetes资源对象参数解析组件”和“Operator对象参数解析组件”的调用,接口入参中定义了应用名称变量和资源对象集合List;
“Helm参数转换组件”接收到请求后,遍历资源对象集合List,取出资源对象类型名称和对应的资源对象详细信息数组,调用“Helm参数基础库组件”接口进行参数转换;
“Helm参数基础库组件”接收到请求转换的参数数组后,以资源对象名和参数名为检索条件,查询数据库模块中的Helm参数转换表,取得转换后的Helm参数并返回给调用侧;
“Helm参数转换组件”会针对每一个应用创建一个Helm Chart模板类,当接收到“Helm参数基础库组件”的返回值后,即获取到了转换后的Helm Chart参数,而后将该Helm Chart参数加入模板类中,当完成全部参数的添加后,再按照Yaml格式将该类导成Helm Chart模板;
最后,“Helm参数转换组件”会将导出的Helm Chart模板,以应用为单位,按照初始化好的数据库表结构,存入数据库模块的Helm Chart模板数据表中。
11.如权利要求1至6任一项所述的统一纳管Kubernetes异构应用的系统中“统一查询模块”的运行方法,其特征在于,包括:
当外部需要查询所有应用时,会调用“北向接口组件”提供的Restful接口,该组件收到查询消息后,调用“查询整合组件”接口进行具体查询,并将查询结果返回给外部调用侧;
“查询整合组件”北向暴露Restful接口,收到查询请求后,首先查询数据库模块的HelmChart模板数据表,获取转换后的逻辑层面Helm应用,而后以该应用的名称为检索条件,继续查询数据库模块中的非Operator和非Helm应用的Kubernetes资源对象数据表和Operator资源对象数据表,获得该Helm应用对应的Kubernetes资源对象,以数组形式加入List中,最后,调用“原生Helm模块”接口获取真实的Helm应用集合,再将这两个List集合合并,返回给“北向接口组件”,即可完成符合原生Helm应用查询格式要求的标准查询;
“实时监听组件”第一次启动后,会创建一个入队线程和监听线程,入队线程会定期扫描数据库模块中的非Operator和非Helm应用的Kubernetes资源对象数据表和Operator资源对象数据表,将所有新增的资源对象放入监听队列中;监听线程会定期检查入队线程,将队列中新增的Kubernetes资源对象取出,分别建立Websocket长链接,并调用Kubernetes应用程序编程接口的Watch接口对这些资源对象进行监听,当发现资源有变化时,KubernetesWatch接口会通知该链接,该链接实现的回调函数便会将变化的内容再更新到数据库模块中的非Operator和非Helm应用的Kubernetes资源对象数据表和Operator资源对象数据表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011115981.6A CN112286628B (zh) | 2020-10-19 | 2020-10-19 | 一种统一纳管Kubernetes异构应用的系统及运行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011115981.6A CN112286628B (zh) | 2020-10-19 | 2020-10-19 | 一种统一纳管Kubernetes异构应用的系统及运行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112286628A CN112286628A (zh) | 2021-01-29 |
CN112286628B true CN112286628B (zh) | 2022-05-17 |
Family
ID=74496392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011115981.6A Active CN112286628B (zh) | 2020-10-19 | 2020-10-19 | 一种统一纳管Kubernetes异构应用的系统及运行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286628B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11893373B2 (en) * | 2021-11-05 | 2024-02-06 | Microsoft Technology Licensing, Llc | Exposure and de-duplication of input parameters for complex Helm chart deployment |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253628A (zh) * | 2021-12-22 | 2022-03-29 | 金蝶软件(中国)有限公司 | 一种中间件的自动部署装置及自动部署方法 |
CN116450301B (zh) * | 2023-06-14 | 2023-08-15 | 天津市天河计算机技术有限公司 | 基于容器的监控方法、系统、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704164A (zh) * | 2019-09-30 | 2020-01-17 | 珠海市新德汇信息技术有限公司 | 一种基于Kubernetes技术的云原生应用平台构建方法 |
CN110825364A (zh) * | 2019-11-04 | 2020-02-21 | 浪潮云信息技术有限公司 | 一种基于树形结构的应用模板配置方法 |
US10620871B1 (en) * | 2018-11-15 | 2020-04-14 | Robin Systems, Inc. | Storage scheme for a distributed storage system |
CN111158859A (zh) * | 2019-12-30 | 2020-05-15 | 中电工业互联网有限公司 | 基于麒麟操作系统的应用管理系统及其实现与使用方法 |
CN111459763A (zh) * | 2020-04-03 | 2020-07-28 | 中国建设银行股份有限公司 | 跨kubernetes集群监控系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10942719B2 (en) * | 2018-05-15 | 2021-03-09 | Ingram Micro Inc. | System and method for connector development and integration channel development |
-
2020
- 2020-10-19 CN CN202011115981.6A patent/CN112286628B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10620871B1 (en) * | 2018-11-15 | 2020-04-14 | Robin Systems, Inc. | Storage scheme for a distributed storage system |
CN110704164A (zh) * | 2019-09-30 | 2020-01-17 | 珠海市新德汇信息技术有限公司 | 一种基于Kubernetes技术的云原生应用平台构建方法 |
CN110825364A (zh) * | 2019-11-04 | 2020-02-21 | 浪潮云信息技术有限公司 | 一种基于树形结构的应用模板配置方法 |
CN111158859A (zh) * | 2019-12-30 | 2020-05-15 | 中电工业互联网有限公司 | 基于麒麟操作系统的应用管理系统及其实现与使用方法 |
CN111459763A (zh) * | 2020-04-03 | 2020-07-28 | 中国建设银行股份有限公司 | 跨kubernetes集群监控系统及方法 |
Non-Patent Citations (1)
Title |
---|
基于Helm和Operator的K8S应用管理的分享;hxpjava1;《https://blogs.csdn.net/hxpjava1/article/details/86650611》;20190126;全文 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11893373B2 (en) * | 2021-11-05 | 2024-02-06 | Microsoft Technology Licensing, Llc | Exposure and de-duplication of input parameters for complex Helm chart deployment |
Also Published As
Publication number | Publication date |
---|---|
CN112286628A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112286628B (zh) | 一种统一纳管Kubernetes异构应用的系统及运行方法 | |
Schönwälder et al. | Network configuration management using NETCONF and YANG | |
Hoschek | The web service discovery architecture | |
US5724512A (en) | Methods and apparatus for storage and retrieval of name space information in a distributed computing system | |
CN111324571B (zh) | 一种容器集群管理方法、装置及系统 | |
CN101043379A (zh) | 网络管理装置与网络管理方法 | |
CN109643305A (zh) | 数据查询方法、应用和数据库服务器、中间件及系统 | |
JP3652834B2 (ja) | クライアント主導のネットワーク・コンピューティングシステムおよび方法 | |
CN103390018A (zh) | 一种基于SDD的Web服务数据建模与搜索方法 | |
JP4336363B2 (ja) | ビジネスプロセス実行方法、ビジネスプロセス実行システムおよびプログラム | |
US20050192929A1 (en) | Generation and conversion of object that provide for efficient object modification | |
JP2004046810A (ja) | クライアント/サーバ環境におけるアプリケーションステップのディスパッチ方法及びサービスポータルシステム | |
CN107896242B (zh) | 一种服务共享方法及装置 | |
Zhou et al. | A survey on semantic web services and a case study | |
CN100544369C (zh) | 一种基于消息的分布式系统以及在其中通信的方法 | |
Deri | Surfin'network resources across the Web | |
CN116155978A (zh) | 多注册中心适配方法、装置、电子设备及存储介质 | |
CN115189931A (zh) | 一种分布式密钥管理方法、装置、设备、存储介质 | |
Dunka et al. | Simplifying Web Application Development Using-Mean Stack Technologies | |
CN113641641A (zh) | 文件存储服务的切换方法、切换系统、设备及存储介质 | |
CN112287017A (zh) | 一种基于OpenSSH的Impala集群可视化管理方法 | |
CN117743470B (zh) | 用于异构大数据的处理系统 | |
Pavlou | The OSIMIS TMN Platform: Support for Multiple Technology Integrated Management Systems | |
JP2001337858A (ja) | 複製データ管理システム | |
AU718930B2 (en) | Procedure for supporting the generation of an object in a computer system |
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 | ||
GR01 | Patent grant |