安全公司报告
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211290188.9 (22)申请日 2022.10.21 (71)申请人 之江实验室 地址 311100 浙江省杭州市余杭区中泰街 道之江实验室南湖总部 (72)发明人 郑焕波 陈光 李勇 程宏才  曾令仿 王宏升 赵瑞芳  (74)专利代理 机构 杭州浙科专利事务所(普通 合伙) 33213 专利代理师 孙孟辉 杨小凡 (51)Int.Cl. G06F 9/48(2006.01) G06F 9/445(2018.01) (54)发明名称 一种k8s容器云平台中CRD应用集成调用方 法与装置 (57)摘要 本发明公开了一种k8s容器云平台中CRD应 用集成调用方法与装置, 基于k8s的CRD模块, 定 义容器应用资源对象, 包括控制信息和资源信 息; 构建其他CRD资源注册机制, 注册其他CRD资 源信息, 并保存对其控制器信息, 刷新并读取控 制器信息, 通过反射的方式运行其他CRD资源的 控制器, 使得用于运行控制器的最小单元上, 能 够运行多个其他CRD资源的控制器; 将控制器部 署到K8s中, 用户提交控制信息和已注册的其他 CRD资源的资源信息, 系统根据控制信息执行控 制逻辑, 根据资源信息提交相应计算任务到k8s 容器云平台中, 已注册的其他CRD资源的控制器 对计算任务进行处理; 从而达到减少了资源的占 用的目的。 权利要求书2页 说明书11页 附图4页 CN 115357369 A 2022.11.18 CN 115357369 A 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, 容器 应用的控制器ContainerApplic ation‑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资源的子控制器。权 利 要 求 书 1/2 页 2 CN 115357369 A 25.根据权利 要求4所述的一种k8s容器云平台中CRD应用集成调用方法, 其特征在于: 所 述步骤S2.1中, 在控制器中设置接口, 并为最小单元pod设置代理, 使得接口运行于控制器 所在的最小单 元pod, 通过k8s的服 务service组件 对外暴露。 6.根据权利 要求4所述的一种k8s容器云平台中CRD应用集成调用方法, 其特征在于: 所 述步骤S2.3中, 资源 对象内容声明文件type.go。 7.根据权利 要求4所述的一种k8s容器云平台中CRD应用集成调用方法, 其特征在于: 所 述步骤S2.3中, 生成资源模板ResourceTemplate还包含其他控制信息, 通过接口拓展的方 式, 设置增删改查。 8.根据权利 要求1所述的一种k8s容器云平台中CRD应用集成调用方法, 其特征在于: 所 述步骤S3包括如下步骤: 步骤S3.1: 用户编写yaml配置文件, 类型为容器应用ContainerApp lication, 包含控制 信息和已注 册的其他资源的资源Resource信息; 步骤S3.2: 容器CRD应用系统的控制器监控到yaml配置文件, 并根据控制信息控制计算 任务的执 行顺序; 步骤S3.3: 对于容器container类型的计算任务, 在k8s容器云平台中启动一个最小单 元pod执行任务; 步骤S3.4: 对于资源Resource类型的计算任务, 根据资源Resource信息的类型, 在k8s 容器云平台 中启动已注 册的其他CRD资源执 行任务。 9.根据权利 要求8所述的一种k8s容器云平台中CRD应用集成调用方法, 其特征在于: 所 述步骤S3 .4中 , 控制器将资源Resource类型的 计算任务解析成资源模板 resourceTemplate, 创建增删改查任务, 将资源模板resourceTemplate中的已注册的其他 CRD资源的资源对象信息提交到k8s容器云平 台中, 已注册的其他CRD资源的控制器对计算 任务进行处理; 和/或当资源模板resourceTemplate中包含用户自定义的其他控制信息时, 则需要加载用户上传的控制逻辑, 并进行处 理。 10.一种k8s容器云平台中CRD应用集成调用装置, 其特征在于, 包括存储器和一个或多 个处理器, 所述存储器中存储有可执行代码, 所述一个或多个处理器执行所述可执行代码 时, 用于实现权利要求1 ‑9中任一项所述的一种k8s容器云平台 中CRD应用集成调用方法。权 利 要 求 书 2/2 页 3 CN 115357369 A 3

.PDF文档 专利 一种k8s容器云平台中CRD应用集成调用方法与装置

文档预览
中文文档 18 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种k8s容器云平台中CRD应用集成调用方法与装置 第 1 页 专利 一种k8s容器云平台中CRD应用集成调用方法与装置 第 2 页 专利 一种k8s容器云平台中CRD应用集成调用方法与装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 16:31:22上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。