[发明专利]基于Kubernetes上传容器镜像文件到容器镜像仓库的方法及装置有效
申请号: | 202111362323.1 | 申请日: | 2021-11-17 |
公开(公告)号: | CN113806022B | 公开(公告)日: | 2022-03-15 |
发明(设计)人: | 王伟华;梅进;樊宇;刘井山 | 申请(专利权)人: | 广西梯度科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;H04L67/10 |
代理公司: | 北京融智邦达知识产权代理事务所(普通合伙) 11885 | 代理人: | 董惠文 |
地址: | 530000 广西壮族自治区南宁市洪胜*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 kubernetes 上传 容器 文件 仓库 方法 装置 | ||
1.一种基于Kubernetes上传容器镜像文件到容器镜像仓库的方法,其特征在于,包括以下步骤:
步骤1:构建能创建Pod实例的封装了容器管理软件客户端程序的客户端程序容器镜像文件,并将所述客户端程序容器镜像文件保存到容器镜像仓库,得到所述客户端程序容器镜像文件的位置路径;
步骤2:根据所述客户端程序容器镜像文件的位置路径编辑Kubernetes容器编排软件中的DaemonSet控制器的配置信息,根据所述配置信息创建DaemonSet控制器,根据DaemonSet控制器配置信息中的客户端程序容器镜像文件的位置路径从所述容器镜像仓库中提取出客户端程序容器镜像文件,并根据所述客户端程序容器镜像文件在多台主机上创建Pod实例;
步骤3:对DaemonSet控制器所控制的多台主机上的Pod实例进行筛选;通过Kubernetes容器编排软件提供的kubectl get pod命令筛选出正在运行的Pod实例,根据各个Pod实例信息获得Pod所在主机的地址,根据主机地址获取主机负载情况信息,选择出所在主机负载最低的Pod实例;
步骤4:获取拟上传的容器镜像文件地址,根据拟上传的容器镜像文件地址创建上传到容器镜像仓库的容器镜像操作指令;
步骤5:在筛选出的Pod实例中执行容器镜像操作指令,将拟上传的容器镜像文件上传到容器镜像仓库中。
2.根据权利要求1所述的方法,其特征在于,步骤2中所述DaemonSet控制器的配置信息中:指定镜像键为所述客户端程序容器镜像文件的位置路径,指定限额键中CPU和内存的配额。
3.根据权利要求2所述的方法,其特征在于,步骤5在筛选出的Pod实例中执行容器镜像操作指令的方法是:通过Kubernetes容器编排软件提供的kubectl exec命令向筛选出的Pod实例发送容器镜像操作指令。
4.根据权利要求3所述的方法,其特征在于,所述容器镜像操作指令包括下载拟上传的容器镜像文件到pod实例、加载拟上传的容器镜像文件到pod实例、指定拟上传的容器镜像文件的镜像标签、推送拟上传的容器镜像文件到容器镜像仓库以及清理资源的指令,其中下载的指令参数指定为拟上传的容器镜像文件的位置路径。
5.根据权利要求1所述的方法,其特征在于,当所述容器镜像文件为多个时,在步骤3中从多个主机上对DaemonSet控制器所控制的正在运行的Pod实例进行筛选,筛选方法是:对正在运行的Pod实例所在主机负载进行排序,从所在主机负载最小的开始选出所需数量的Pod实例。
6.根据权利要求5所述的方法,其特征在于,当所述容器镜像文件为多个时,在步骤4中,
为每个拟上传的容器镜像文件分别创建容器镜像操作指令;
在筛选出的多个Pod实例中并行执行多个容器镜像操作指令,将多个拟上传的容器镜像文件上传到容器镜像仓库中。
7.根据权利要求6所述的方法,其特征在于,在筛选出的多个Pod实例中并行执行多个容器镜像操作指令时,优先选择从所在主机负载最低的Pod实例开始执行。
8.一种基于Kubernetes上传容器镜像文件到容器镜像仓库的装置,其特征在于,包括以下模块:
客户端程序容器镜像文件路径获取模块:用于构建能创建Pod实例的封装了容器管理软件客户端程序的客户端程序容器镜像文件,并将所述客户端程序容器镜像文件保存到容器镜像仓库,得到所述客户端程序容器镜像文件的位置路径;
Pod实例创建模块:用于根据所述客户端程序容器镜像文件的位置路径编辑Kubernetes容器编排软件中的DaemonSet控制器的配置信息,根据所述配置信息创建DaemonSet控制器,根据DaemonSet控制器配置信息中的客户端程序容器镜像文件的位置路径从所述容器镜像仓库中提取出客户端程序容器镜像文件,并根据所述客户端程序容器镜像文件在多台主机上创建Pod实例;
筛选模块:对DaemonSet控制器所控制的多台主机上的Pod实例进行筛选;通过Kubernetes容器编排软件提供的kubectl get pod命令筛选出正在运行的Pod实例,根据各个Pod实例信息获得Pod所在主机的地址,根据主机地址获取主机负载情况信息,选择出所在主机负载最低的Pod实例;
容器镜像操作指令创建模块:用于获取拟上传的容器镜像文件地址,根据拟上传的容器镜像文件地址创建上传到容器镜像仓库的容器镜像操作指令;
上传模块:用于在筛选出的Pod实例中执行容器镜像操作指令,将拟上传的容器镜像文件上传到容器镜像仓库中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广西梯度科技有限公司,未经广西梯度科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111362323.1/1.html,转载请声明来源钻瓜专利网。