[发明专利]一种k8s容器云平台中CRD应用集成调用方法与装置有效
| 申请号: | 202211290188.9 | 申请日: | 2022-10-21 |
| 公开(公告)号: | CN115357369B | 公开(公告)日: | 2023-03-24 |
| 发明(设计)人: | 郑焕波;陈光;李勇;程宏才;曾令仿;王宏升;赵瑞芳 | 申请(专利权)人: | 之江实验室 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/445 |
| 代理公司: | 杭州浙科专利事务所(普通合伙) 33213 | 代理人: | 孙孟辉;杨小凡 |
| 地址: | 311100 浙江省杭*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 k8s 容器 平台 crd 应用 集成 调用 方法 装置 | ||
1.一种k8s容器云平台中CRD应用集成调用方法,其特征在于包括如下步骤:
步骤S1:构建容器CRD应用系统,基于容器编排引擎k8s的自定义资源定义CRD模块,定义容器应用ContainerApplication资源对象,容器应用ContainerApplication资源对象包括控制信息和资源Resource信息,资源Resource信息用于引用其他CRD资源;定义容器应用的控制器ContainerApplication-controller,根据控制信息的类型控制计算任务的执行步骤,根据资源Resource信息调用其他CRD资源完成计算任务;
步骤S2:容器CRD应用系统中,构建其他CRD资源注册机制,获取用户上传的其他CRD资源信息,并对其进行注册,将已注册的其他CRD资源的控制器信息进行保存,并刷新,读取保存的控制器信息,并通过反射的方式运行其他CRD资源的控制器,使得用于运行控制器的最小单元pod上,能够运行多个其他CRD资源的控制器;
步骤S3:将容器应用的控制器部署到K8s容器云平台中,用户提交yaml配置文件,包含控制信息和已注册的其他CRD资源的资源Resource信息,容器CRD应用系统的控制器监控到yaml配置文件后,根据控制信息控制计算任务的执行步骤,根据资源Resource信息提交相应计算任务到k8s容器云平台中,并调用已注册的其他CRD资源的控制器对计算任务进行处理。
2.根据权利要求1所述的一种k8s容器云平台中CRD应用集成调用方法,其特征在于:所述步骤S1中,控制信息包括步骤字段steps、管道字段pipeline、有向无环图字段DAG,容器应用的控制器ContainerApplication-controller根据控制信息完成控制逻辑,当步骤字段steps启动时,对应的资源并行运行资源节点,将资源节点并行提交到k8s容器云平台;当管道字段pipeline启动时,根据管道字段pipeline中定义的资源节点顺序进行调度执行,将资源节点一步一步的提交到k8s容器云平台;当有向无环图字段DAG启动时,根据有向无环图字段DAG中的依赖关系构建资源节点的执行顺序;所述资源节点为自定义资源和/或资源Resource信息代表的其他CRD资源。
3.根据权利要求2所述的一种k8s容器云平台中CRD应用集成调用方法,其特征在于:根据资源节点内容执行计算任务,其中,对于容器container类型的计算任务,在k8s容器云平台中启动一个最小单元pod执行任务,对于资源Resource类型的计算任务,根据资源Resource信息的类型,在k8s容器云平台中启动已注册的其他CRD资源执行任务。
4.根据权利要求1所述的一种k8s容器云平台中CRD应用集成调用方法,其特征在于:所述步骤2包括如下步骤:
步骤S2.1:构建接口并通过接口获取用户上传的CRD应用信息,包括:注册CRD的源信息、CRD定义文件、资源对象内容声明文件type.go、CRD控制器文件;
步骤S2.2:存储并验证CRD应用信息;
步骤S2.3:根据上传的资源对象内容声明文件type.go,生成资源模板ResourceTemplate,包含资源对象定义信息,当上传多个CRD应用时,生成多个资源模板ResourceTemplate的子类;
步骤S2.4:将已注册的其他CRD资源的CRD控制器文件保存到关联容器map中,关联容器map保存了所有的已注册CRD资源的CRD控制器文件,当注册完CRD时,对关联容器map进行同步刷新,并读取关联容器map保存的CRD控制器文件,通过反射的方式运行控制器,使得用于运行容器应用的控制器ContainerApplication-controller的最小单元pod上,能够运行多个已注册的其他CRD资源的子控制器。
5.根据权利要求4所述的一种k8s容器云平台中CRD应用集成调用方法,其特征在于:所述步骤S2.1中,在控制器中设置接口,并为最小单元pod设置代理,使得接口运行于控制器所在的最小单元pod,通过k8s的服务service组件对外暴露。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于之江实验室,未经之江实验室许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211290188.9/1.html,转载请声明来源钻瓜专利网。





