一种容器镜像版本的升级系统及方法技术方案

技术编号:37120086 阅读:30 留言:0更新日期:2023-04-01 05:15
本发明专利技术提供一种容器镜像版本的升级系统及方法,该系统包括:前端模块、存储模块、任务分发模块、镜像仓库模块、数据库模块和任务执行模块,通过前端模块展示应用的容器当前的镜像版本信息和最新的镜像版本信息,并接收用户输入的针对一个或多个容器的升级指令,由任务分发模块基于升级指令对应生成多个升级任务并保存至数据库模块的任务对列中,任务执行模块依次从任务队列中获取并执行升级任务。在本方案中,通过向用户展示各个应用的容器当前的镜像版本信息和最新的镜像版本信息,当用户选择多个容器进行批量升级时,对应生成多个升级任务,由任务执行模块依次获取升级任务,并执行升级任务,实现了批量升级容器镜像版本,提高升级效率的目的。高升级效率的目的。高升级效率的目的。

【技术实现步骤摘要】
一种容器镜像版本的升级系统及方法


[0001]本专利技术涉及应用容器
,尤其涉及一种容器镜像版本的升级系统及方法。

技术介绍

[0002]由于容器技术具备简单部署、多环境支持、快速启动、服务编排和易于迁移等优点,因此云上的应用大都采用容器的形式部署,但是,容器只提供最基本的容器运行时环境,无法做到跨主机通讯,需要采用Kubernetes对容器集群管理。
[0003]在Kubernetes中,升级容器镜像版本的方法是通过修改yaml文件来实现的,该方法一次仅能升级一个容器的镜像版本,无法批量升级容器的镜像版本,升级效率低。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供一种容器镜像版本的升级系统及方法,以实现批量升级容器的镜像版本的目的。
[0005]为实现上述目的,本专利技术实施例提供如下技术方案:
[0006]本专利技术实施例第一方面公开了一种容器镜像版本的升级系统,包括:
[0007]前端模块,用于从存储模块中获取并展示对应当前登录用户的各个应用的应用名称;针对每一个所述应用,从数据库模块中查询并展示所述应用的容器当前的镜像版本信息和最新的镜像版本信息;接收当前登录用户输入的针对一个或多个所述应用的容器的升级指令,并将所述升级指令发送给任务分发模块;
[0008]所述存储模块,用于存储各个应用的应用名称;存储各个应用与用户的对应关系;其中,每一个应用都有仅只有一个与之对应的用户,所述用户具有所述应用对应容器的升级权限;
[0009]所述任务分发模块,用于获取镜像仓库模块中存放的各个镜像版本的镜像版本信息,并发送给所述数据库模块保存;接收所述升级指令,根据所述升级指令对应生成一个或者多个升级任务并依次保存至所述数据库模块中的任务队列;每一所述升级任务用于指示升级一个对应的容器;
[0010]所述镜像仓库模块,用于存放各个镜像版本和各个镜像版本对应的镜像版本信息;
[0011]所述数据库模块,用于保存所述任务分发模块从所述镜像仓库模块获取的各个镜像版本的镜像版本信息;响应于前端模块的查询,返回所述应用的容器当前的镜像版本信息和最新的镜像版本信息;接收所述升级任务并依次保存至所述任务队列中;
[0012]任务执行模块,用于依次从所述任务队列中获取所述升级任务;基于所述升级任务,从所述镜像仓库模块中下载所述升级任务对应的容器最新的镜像版本,并以所述最新的镜像版本运行所述容器。
[0013]优选的,所述任务执行模块具体用于:
[0014]依次从所述任务队列中获取所述升级任务;基于所述升级任务,调用k8s集群的
api接口,将相应资源对象的yaml文件中当前的镜像版本信息修改为最新的镜像版本信息,调用docker从所述镜像仓库模块中下载所述升级任务对应的容器最新的镜像版本,并以所述最新的镜像版本运行所述容器。
[0015]优选的,所述前端模块,还用于:
[0016]接收用户输入的应用名称;从所述数据库模块中查询所述应用名称对应的应用的容器当前的镜像版本信息和最新的镜像版本信息;展示所述搜索模块接收到的应用名称,以及所述应用名称对应的应用的容器当前的镜像版本信息和最新的镜像版本信息。
[0017]优选的,所述数据库模块,还用于:
[0018]当所述任务分发模块将所述升级任务保存至所述任务队列时,生成指示所述升级任务对应的容器由当前的镜像版本升级至最新的镜像版本的记录信息;所述记录信息中至少包括当前的镜像版本信息、最新的镜像版本信息、操作人、操作对象、操作内容和操作日期。
[0019]优选的,所述前端模块,还用于:
[0020]当接收到接收当前登录用户输入的针对一个或多个所述应用的容器的升级指令时,若任意一个所述应用的容器当前的镜像版本信息和最新的镜像版本信息一致,则生成用于提示用户所述容器的镜像版本已经是最新版本的文本信息。
[0021]本专利技术实施例第二方面公开了一种容器镜像版本的升级方法,包括:
[0022]获取并展示对应当前登录用户的各个应用的应用名称;
[0023]针对每一个所述应用,查询并展示所述应用的容器当前的镜像版本信息和最新的镜像版本信息;
[0024]接收当前登录用户输入的针对一个或多个所述应用的容器的升级指令;
[0025]根据所述升级指令对应生成一个或者多个升级任务并依次保存至任务队列中;每一所述升级任务用于指示升级一个对应的容器;
[0026]依次从所述任务队列中获取所述升级任务;
[0027]从预先存储各个镜像版本的镜像仓库中,下载所述升级任务对应的容器最新的镜像版本,并以所述最新的镜像版本运行所述容器。
[0028]优选的,所述基于所述升级任务,从预先存储各个镜像版本的镜像仓库中,下载所述升级任务对应的容器最新的镜像版本,并以所述最新的镜像版本运行所述容器,包括:
[0029]基于所述升级任务,调用k8s集群的api接口,将相应资源对象的yaml文件中当前的镜像版本信息修改为最新的镜像版本信息;
[0030]调用docker从预先存储各个镜像版本的镜像仓库中,下载所述升级任务对应的容器最新的镜像版本,并以所述最新的镜像版本运行所述容器。
[0031]优选的,还包括:
[0032]接收用户输入的应用名称;
[0033]查询所述应用名称对应的应用的容器当前的镜像版本信息和最新的镜像版本信息;
[0034]通过前端页面展示所述应用名称对应的应用的容器当前的镜像版本信息和最新的镜像版本信息。
[0035]优选的,还包括:
[0036]当将所述升级任务保存至所述任务队列时,生成指示所述升级任务对应的容器由当前的镜像版本升级至最新的镜像版本的记录信息;
[0037]所述记录信息中至少包括当前的镜像版本信息、最新的镜像版本信息、操作人、操作对象、操作内容和操作日期。
[0038]优选的,还包括:
[0039]当接收到接收当前登录用户输入的针对一个或多个所述应用的容器的升级指令时,若任意一个所述应用的容器当前的镜像版本信息和最新的镜像版本信息一致,则生成用于提示用户所述容器的镜像版本已经是最新版本的文本信息。
[0040]基于上述本专利技术实施例提供的一种容器镜像版本的升级系统及方法,该系统包括:前端模块,用于从存储模块中获取并展示对应当前登录用户的各个应用的应用名称;针对每一个所述应用,从数据库模块中查询并展示所述应用的容器当前的镜像版本信息和最新的镜像版本信息;接收当前登录用户输入的针对一个或多个所述应用的容器的升级指令,并将所述升级指令发送给任务分发模块;所述存储模块,用于存储各个应用的应用名称;存储各个应用与用户的对应关系;其中,每一个应用都有仅只有一个与之对应的用户,所述用户具有所述应用对应容器的升级权限;所述任务分发模块,用于获取镜像仓库模块中存放的各个镜像版本的镜像版本信息,并发送给所述数据库模块保存;接收所述升级指令,根据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种容器镜像版本的升级系统,其特征在于,包括:前端模块,用于从存储模块中获取并展示对应当前登录用户的各个应用的应用名称;针对每一个所述应用,从数据库模块中查询并展示所述应用的容器当前的镜像版本信息和最新的镜像版本信息;接收当前登录用户输入的针对一个或多个所述应用的容器的升级指令,并将所述升级指令发送给任务分发模块;所述存储模块,用于存储各个应用的应用名称;存储各个应用与用户的对应关系;其中,每一个应用都有仅只有一个与之对应的用户,所述用户具有所述应用对应容器的升级权限;所述任务分发模块,用于获取镜像仓库模块中存放的各个镜像版本的镜像版本信息,并发送给所述数据库模块保存;接收所述升级指令,根据所述升级指令对应生成一个或者多个升级任务并依次保存至所述数据库模块中的任务队列;每一所述升级任务用于指示升级一个对应的容器;所述镜像仓库模块,用于存放各个镜像版本和各个镜像版本对应的镜像版本信息;所述数据库模块,用于保存所述任务分发模块从所述镜像仓库模块获取的各个镜像版本的镜像版本信息;响应于前端模块的查询,返回所述应用的容器当前的镜像版本信息和最新的镜像版本信息;接收所述升级任务并依次保存至所述任务队列中;任务执行模块,用于依次从所述任务队列中获取所述升级任务;基于所述升级任务,从所述镜像仓库模块中下载所述升级任务对应的容器最新的镜像版本,并以所述最新的镜像版本运行所述容器。2.根据权利要求1所述的系统,其特征在于,所述任务执行模块具体用于:依次从所述任务队列中获取所述升级任务;基于所述升级任务,调用k8s集群的api接口,将相应资源对象的yaml文件中当前的镜像版本信息修改为最新的镜像版本信息,调用docker从所述镜像仓库模块中下载所述升级任务对应的容器最新的镜像版本,并以所述最新的镜像版本运行所述容器。3.根据权利要求1所述的系统,其特征在于,所述前端模块,还用于:接收用户输入的应用名称;从所述数据库模块中查询所述应用名称对应的应用的容器当前的镜像版本信息和最新的镜像版本信息;展示所述搜索模块接收到的应用名称,以及所述应用名称对应的应用的容器当前的镜像版本信息和最新的镜像版本信息。4.根据权利要求1所述的系统,其特征在于,所述数据库模块,还用于:当所述任务分发模块将所述升级任务保存至所述任务队列时,生成指示所述升级任务对应的容器由当前的镜像版本升级至最新的镜像版本的记录信息;所述记录信息中至少包括当前的镜像版本信...

【专利技术属性】
技术研发人员:李梦
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1