本申请公开了一种镜像获取方法、装置、设备及存储介质,涉及计算机技术领域,包括:配置包含预设数量个镜像仓库的目标镜像仓库配置模型;扫描所述目标镜像仓库配置模型中的全部所述镜像仓库,得到每个目标镜像对应的镜像备份集;当监听到镜像拉取失败事件时,获取对应的当前镜像,并从全部所述镜像备份集中确定与所述当前镜像对应的当前镜像备份集;基于预设镜像备份确定方式从所述当前镜像备份集中确定目标镜像备份,通过预设镜像获取方式获取所述目标镜像备份。本申请通过扫描多个镜像仓库,得到每个镜像对应的镜像备份集,以便在镜像拉取失败时,自动从镜像备份集中获取对应的镜像备份,减少了人工并提高了资源利用率与镜像获取方式的灵活性。像获取方式的灵活性。像获取方式的灵活性。
【技术实现步骤摘要】
一种镜像获取方法、装置、设备及存储介质
[0001]本专利技术涉及计算机
,特别涉及一种镜像获取方法、装置、设备及存储介质。
技术介绍
[0002]目前大量的应用基于容器化部署,kubernetes(一种开源的容器编排引擎)成为事实上的容器应用编排标准,kubernetes上运行着各种工作负载,工作负载承载的应用程序是以image(容器镜像)的形式进行拉取和启动。镜像获取主要应用于金融、电信、政务等领域,一般容器集群内运行的镜像都存储在某个私有镜像仓库,当大量应用基于k8s容器化部署后,经常会报错ImagePullBackOff(镜像拉取失败),出现该错误可能存在以下原因:1、要拉去的目标镜像对应的镜像仓库损坏;2、要拉取的目标镜像被人为操作误删除。
[0003]目前解决该问题的方法一般是通过以下两种方式解决,方案一:人工介入处理,找到目标镜像,手工推送到镜像仓库,等待POD(Kubernetes容器编排引擎中的资源对象,是一组容器的集合)自动进行二次拉取镜像;方法二:配置高可用镜像仓库,一般采用双仓库方式,其中一个仓库宕机后自动切换到另一个仓库。但是在实践过程中发现,以上两种常见处理方案都有其各自的弊端:方案一存在需要人工介入,手工推送镜像后等待POD自动镜像重试拉取镜像会由于kubernetes默认机制后续每次重试间隔时间会逐步增加,导致业务中断,恢复时间较长。方案二存在双仓库如果全坏掉的风险,并且由于双仓库进行一致性同步,无法很好解决镜像被任务误删除的风险。
技术实现思路
[0004]有鉴于此,本专利技术的目的在于提供一种镜像获取方法、装置、设备和存储介质,能够减少人工并提高资源利用率与镜像获取方式的灵活性。其具体方案如下:
[0005]第一方面,本申请公开了一种镜像获取方法,包括:
[0006]配置包含预设数量个镜像仓库的目标镜像仓库配置模型;
[0007]扫描所述目标镜像仓库配置模型中的全部所述镜像仓库,以得到每个目标镜像对应的镜像备份集;
[0008]当监听到镜像拉取失败事件时,获取对应的当前镜像,并从全部所述镜像备份集中确定与所述当前镜像对应的当前镜像备份集;
[0009]基于预设镜像备份确定方式从所述当前镜像备份集中确定目标镜像备份,并通过预设镜像获取方式获取所述目标镜像备份。
[0010]可选的,所述配置包含预设数量个镜像仓库的目标镜像仓库配置模型,包括:
[0011]获取现有的全部镜像仓库,并采用工厂模式与全部所述镜像仓库配置所述目标镜像仓库配置模型;其中,所述目标镜像仓库配置模型包含仓库ID、镜像仓库类型、用户名、密码。
[0012]可选的,所述扫描所述目标镜像仓库配置模型中的全部所述镜像仓库,以得到每
个目标镜像对应的镜像备份集,包括:
[0013]确定目标镜像,并基于所述目标镜像自动扫描所述目标镜像仓库配置模型中的全部所述镜像仓库;
[0014]获取扫描得到所述目标镜像以及每个所述目标镜像对应的目标仓库;
[0015]基于所述目标镜像以及所述目标仓库生成对应的所述镜像备份集。
[0016]可选的,所述获取扫描得到所述目标镜像以及每个所述目标镜像对应的目标仓库,包括:
[0017]基于每个所述镜像仓库的所述用户名和所述密码登录所述镜像仓库;
[0018]调用每个所述镜像仓库的预设接口获取每个所述镜像仓库中的全部镜像以及每个所述镜像对应的镜像ID;
[0019]相应的,所述基于所述目标镜像以及所述目标仓库生成对应的所述镜像备份集,包括:
[0020]从全部所述镜像中确定所述目标镜像,并获取所述目标镜像的目标镜像ID;
[0021]将剩余的所述镜像的所述镜像ID与所述目标镜像ID匹配,以得到匹配成功的目标镜像集合以及对应的仓库集合;
[0022]基于所述目标镜像、所述目标仓库、所述目标镜像集合以及所述仓库集合生成与所述目标镜像对应的所述镜像备份集。
[0023]可选的,所述扫描所述目标镜像仓库配置模型中的全部所述镜像仓库,以得到每个目标镜像对应的镜像备份集之后,还包括:
[0024]基于预设优先级排序规则对所述镜像备份集中的全部所述镜像进行排序,以得到排序后镜像备份集。
[0025]可选的,所述基于预设镜像备份确定方式从所述当前镜像备份集中确定目标镜像备份,并通过预设镜像获取方式获取所述目标镜像备份,包括:
[0026]从所述排序后镜像备份集中确定优先级排序最高的镜像备份,以得到所述目标镜像备份以及对应的目标备份仓库;
[0027]基于所述目标镜像备份以及所述目标备份仓库生成目标镜像备份获取信息;
[0028]通过预设镜像替换服务将当前镜像拉取事件中的当前镜像获取信息替换为所述目标镜像备份获取信息,以便基于所述目标镜像备份获取信息获取所述目标镜像备份。
[0029]可选的,所述当监听到镜像拉取失败事件时,获取对应的当前镜像之前,还包括:
[0030]通过自动化控制器实时监听镜像拉取事件的拉取结果,并基于所述拉取结果判断是否存在所述镜像拉取失败事件。
[0031]第二方面,本申请公开了一种镜像获取装置,包括:
[0032]模型配置模块,用于配置包含预设数量个镜像仓库的目标镜像仓库配置模型;
[0033]镜像备份集获取模块,用于扫描所述目标镜像仓库配置模型中的全部所述镜像仓库,以得到每个目标镜像对应的镜像备份集;
[0034]当前镜像备份集确定模块,用于当监听到镜像拉取失败事件时,获取对应的当前镜像,并从全部所述镜像备份集中确定与所述当前镜像对应的当前镜像备份集;
[0035]镜像备份获取模块,用于基于预设镜像备份确定方式从所述当前镜像备份集中确定目标镜像备份,并通过预设镜像获取方式获取所述目标镜像备份。
[0036]第三方面,本申请公开了一种电子设备,包括:
[0037]存储器,用于保存计算机程序;
[0038]处理器,用于执行所述计算机程序,以实现如前述公开的镜像获取方法的步骤。
[0039]第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的镜像获取方法。
[0040]可见,本申请提供了一种镜像获取方法,包括:配置包含预设数量个镜像仓库的目标镜像仓库配置模型;扫描所述目标镜像仓库配置模型中的全部所述镜像仓库,以得到每个目标镜像对应的镜像备份集;当监听到镜像拉取失败事件时,获取对应的当前镜像,并从全部所述镜像备份集中确定与所述当前镜像对应的当前镜像备份集;基于预设镜像备份确定方式从所述当前镜像备份集中确定目标镜像备份,并通过预设镜像获取方式获取所述目标镜像备份。由此可见,本申请通过扫描多个镜像仓库,得到每个镜像对应的多仓库镜像备份集,将现有多个集群或者多个独立可用于的镜像仓库配置到一起互为备份,以便在镜像拉取失败时,自动从镜像备份集中获取对应的镜像备份进本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种镜像获取方法,其特征在于,包括:配置包含预设数量个镜像仓库的目标镜像仓库配置模型;扫描所述目标镜像仓库配置模型中的全部所述镜像仓库,以得到每个目标镜像对应的镜像备份集;当监听到镜像拉取失败事件时,获取对应的当前镜像,并从全部所述镜像备份集中确定与所述当前镜像对应的当前镜像备份集;基于预设镜像备份确定方式从所述当前镜像备份集中确定目标镜像备份,并通过预设镜像获取方式获取所述目标镜像备份。2.根据权利要求1所述的镜像获取方法,其特征在于,所述配置包含预设数量个镜像仓库的目标镜像仓库配置模型,包括:获取现有的全部镜像仓库,并采用工厂模式与全部所述镜像仓库配置所述目标镜像仓库配置模型;其中,所述目标镜像仓库配置模型包含仓库ID、镜像仓库类型、用户名、密码。3.根据权利要求2所述的镜像获取方法,其特征在于,所述扫描所述目标镜像仓库配置模型中的全部所述镜像仓库,以得到每个目标镜像对应的镜像备份集,包括:确定目标镜像,并基于所述目标镜像自动扫描所述目标镜像仓库配置模型中的全部所述镜像仓库;获取扫描得到所述目标镜像以及每个所述目标镜像对应的目标仓库;基于所述目标镜像以及所述目标仓库生成对应的所述镜像备份集。4.根据权利要求3所述的镜像获取方法,其特征在于,所述获取扫描得到所述目标镜像以及每个所述目标镜像对应的目标仓库,包括:基于每个所述镜像仓库的所述用户名和所述密码登录所述镜像仓库;调用每个所述镜像仓库的预设接口获取每个所述镜像仓库中的全部镜像以及每个所述镜像对应的镜像ID;相应的,所述基于所述目标镜像以及所述目标仓库生成对应的所述镜像备份集,包括:从全部所述镜像中确定所述目标镜像,并获取所述目标镜像的目标镜像ID;将剩余的所述镜像的所述镜像ID与所述目标镜像ID匹配,以得到匹配成功的目标镜像集合以及对应的仓库集合;基于所述目标镜像、所述目标仓库、所述目标镜像集合以及所述仓库集合生成与所述目标镜像对应的所述镜像备份集。5.根据权利要求4所述的镜像获取方法,其特征在于,所述扫...
【专利技术属性】
技术研发人员:乔霖,亓开元,苏志远,吕文文,
申请(专利权)人:济南浪潮数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。