镜像预加载方法、设备及存储介质技术

技术编号:26258974 阅读:18 留言:0更新日期:2020-11-06 17:52
本发明专利技术提供了镜像预加载方法、设备及存储介质,所述方法包括:根据获取的Kubernetes集群中各个宿主机节点的节点状态、资源使用情况与服务拓扑,按照预设的调度预判策略,预判Kubernetes调度服务对于指定镜像的调度结果,作为预判调度结果;按照预判调度结果,将指定镜像的信息发送至优选节点,以使优选节点提前从镜像仓库中拉取指定镜像,并在优选节点实现指定镜像的预加载,从而能够在Kubernetes调度服务执行实际调度之前,就在相应宿主机节点处实现指定镜像的预加载,且无需人工干预,从而提高了镜像预加载过程的准确性、可靠性与高效性。

【技术实现步骤摘要】
镜像预加载方法、设备及存储介质
本专利技术涉及计算机
,更具体的说,涉及镜像预加载方法、设备及存储介质。
技术介绍
Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能,它已成为容器编排领域的事实标准。目前,应用/服务的部署、扩容到哪台宿主机,都是通过Kubernetes调度服务来指定的,Kubernetes调度服务会检查所有符合该应用/服务要求的节点Node列表,开始执行调度逻辑,并在调度成功后,将应用/服务绑定到优选节点上,然后优选节点上的kubelet服务就会从指定的镜像仓库中拉取镜像包,最终完成整个应用/服务的部署、扩容、升级。但是在拉取镜像的过程中,经常会因为节点分布、网络状况及应用(镜像包)的大小等诸多因素的影响,轻则导致应用/服务能提供服务的时间被延迟,重则导致部署失败,尤其在升级和扩容等对时间有苛刻要求的场景下,这更是不能容忍的。现有的解决方案通常是将镜像按人工制定的策略上传到宿主机上,这样就不需要从远程仓库进行拉取下载,以达到预加载效果,或者提前由分发系统将镜像同步到离集群较近的边缘节点的镜像库中,以减少网络传输时间,但是上述解决方案存在人工干预易出错,占用资源多,效率低等诸多问题,而并不能准确、可靠且高效地完成镜像的预加载。因此,目前迫切需要一种切实有效的镜像预加载方案,以提高镜像预加载过程的准确性、可靠性与高效性。
技术实现思路
有鉴于此,本专利技术提供了一种镜像预加载方法、设备及存储介质,以解决目前镜像预加载方案并不能准确、可靠且高效地完成镜像的预加载的技术问题。为实现上述目的,本专利技术提供如下技术方案:一种镜像预加载方法,包括:获取Kubernetes集群中各个宿主机节点的节点状态、资源使用情况与服务拓扑;根据所述各个宿主机节点的节点状态、资源使用情况与服务拓扑,按照预设的调度预判策略,预判Kubernetes调度服务对于指定镜像的调度结果,作为预判调度结果;其中,所述预判调度结果至少包括:按照所述调度预判策略,从所述Kubernetes集群的宿主机节点中确定出来的优选节点;按照所述预判调度结果,将所述指定镜像的信息发送至所述优选节点,以使所述优选节点提前从镜像仓库中拉取所述指定镜像,并在所述优选节点实现所述指定镜像的预加载。优选的,所述获取Kubernetes集群中各个宿主机节点的节点状态、资源使用情况与服务拓扑包括:采用周期性轮询的方式,定期获取Kubernetes集群中各个宿主机节点的节点状态、资源使用情况与服务拓扑。优选的,所述根据所述各个宿主机节点的节点状态、资源使用情况与服务拓扑,按照预设的调度预判策略,预判Kubernetes调度服务对于指定镜像的调度结果,作为预判调度结果包括:根据所述各个宿主机节点的节点状态、资源使用情况与服务拓扑,按照预设计算规则,计算所述各个宿主机节点的得分;将所述各个宿主机节点中得分最高的宿主机节点,确定为优选节点,并作为预判调度结果。优选的,所述根据所述各个宿主机节点的节点状态、资源使用情况与服务拓扑,按照预设的调度预判策略,预判Kubernetes调度服务对于指定镜像的调度结果,作为预判调度结果包括:查询Kubernetes集群中是否存在正在运行的、且与所述指定镜像的信息相匹配的POD;若Kubernetes集群中存在正在运行的、且与所述指定镜像的信息相匹配的POD,则获取所述POD的信息;根据所述POD的信息,将Kubernetes集群中正在运行所述POD的宿主机节点,确定为优选节点,并作为预判调度结果。优选的,在所述根据所述POD的信息,将Kubernetes集群中正在运行所述POD的宿主机节点,确定为优选节点,并作为预判调度结果之后,所述方法还包括:获取Kubernetes集群中其他宿主机节点的节点状态、资源使用情况与服务拓扑;根据所述其他宿主机节点的节点状态、资源使用情况与服务拓扑,按照所述预设计算规则,计算所述其他宿主机节点的得分;将所述其他宿主机节点中得分最高的宿主机节点,确定为优选节点,也作为预判调度结果。优选的,在所述查询Kubernetes集群中是否存在正在运行的、且与所述指定镜像的信息相匹配的POD之后,所述方法还包括:若Kubernetes集群中不存在正在运行的、且与所述指定镜像的信息相匹配的POD,则执行所述根据所述各个宿主机节点的节点状态、资源使用情况与服务拓扑,按照预设计算规则,计算所述各个宿主机节点的得分的步骤。优选的,所述按照所述预判调度结果,将所述指定镜像的信息发送至所述优选节点,以使所述优选节点提前从镜像仓库中拉取所述指定镜像,并在所述优选节点实现所述指定镜像的预加载包括:按照所述预判调度结果,将所述指定镜像的信息发送至所述优选节点的镜像代理,以使所述优选节点的镜像代理提前从镜像仓库中拉取所述指定镜像,并在所述优选节点中预加载所述指定镜像。优选的,在所述按照所述预判调度结果,将所述指定镜像的信息发送至所述优选节点,以使所述优选节点提前从镜像仓库中拉取所述指定镜像,并在所述优选节点实现所述指定镜像的预加载之后,所述方法还包括:获取Kubernetes调度服务对于所述指定镜像的实际调度结果,所述实际调度结果中至少包括:由Kubernetes调度服务从所述Kubernetes集群的宿主机节点中确定出来的目标节点;当所述优选节点与所述目标节点不一致时,指示所述优选节点将已拉取的所述指定镜像分发给所述目标节点。一种镜像预加载设备,包括:存储器与处理器;所述存储器,用于存储程序;所述处理器,用于调用所述程序,以执行前述的镜像预加载方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序在被计算机设备调用时,执行前述的镜像预加载方法的步骤。从上述的技术方案可以看出,本专利技术根据获取的Kubernetes集群中各个宿主机节点的节点状态、资源使用情况与服务拓扑,按照预设的调度预判策略,预判Kubernetes调度服务对于指定镜像的调度结果,作为预判调度结果;按照预判调度结果,将指定镜像的信息发送至优选节点,以使优选节点提前从镜像仓库中拉取指定镜像,并实现指定镜像的预加载,从而能够在Kubernetes调度服务执行实际调度之前,就在相应宿主机节点处实现指定镜像的预加载,且无需人工干预,从而提高了镜像预加载过程的准确性、可靠性与高效性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例一提供的镜像预加载方法的流程图;图2为本专利技术实施例二提供的预判调度结果获本文档来自技高网...

【技术保护点】
1.一种镜像预加载方法,其特征在于,包括:/n获取Kubernetes集群中各个宿主机节点的节点状态、资源使用情况与服务拓扑;/n根据所述各个宿主机节点的节点状态、资源使用情况与服务拓扑,按照预设的调度预判策略,预判Kubernetes调度服务对于指定镜像的调度结果,作为预判调度结果;其中,所述预判调度结果至少包括:按照所述调度预判策略,从所述Kubernetes集群的宿主机节点中确定出来的优选节点;/n按照所述预判调度结果,将所述指定镜像的信息发送至所述优选节点,以使所述优选节点提前从镜像仓库中拉取所述指定镜像,并在所述优选节点实现所述指定镜像的预加载。/n

【技术特征摘要】
1.一种镜像预加载方法,其特征在于,包括:
获取Kubernetes集群中各个宿主机节点的节点状态、资源使用情况与服务拓扑;
根据所述各个宿主机节点的节点状态、资源使用情况与服务拓扑,按照预设的调度预判策略,预判Kubernetes调度服务对于指定镜像的调度结果,作为预判调度结果;其中,所述预判调度结果至少包括:按照所述调度预判策略,从所述Kubernetes集群的宿主机节点中确定出来的优选节点;
按照所述预判调度结果,将所述指定镜像的信息发送至所述优选节点,以使所述优选节点提前从镜像仓库中拉取所述指定镜像,并在所述优选节点实现所述指定镜像的预加载。


2.根据权利要求1所述的方法,其特征在于,所述获取Kubernetes集群中各个宿主机节点的节点状态、资源使用情况与服务拓扑包括:
采用周期性轮询的方式,定期获取Kubernetes集群中各个宿主机节点的节点状态、资源使用情况与服务拓扑。


3.根据权利要求1所述的方法,其特征在于,所述根据所述各个宿主机节点的节点状态、资源使用情况与服务拓扑,按照预设的调度预判策略,预判Kubernetes调度服务对于指定镜像的调度结果,作为预判调度结果包括:
根据所述各个宿主机节点的节点状态、资源使用情况与服务拓扑,按照预设计算规则,计算所述各个宿主机节点的得分;
将所述各个宿主机节点中得分最高的宿主机节点,确定为优选节点,并作为预判调度结果。


4.根据权利要求1所述的方法,其特征在于,所述根据所述各个宿主机节点的节点状态、资源使用情况与服务拓扑,按照预设的调度预判策略,预判Kubernetes调度服务对于指定镜像的调度结果,作为预判调度结果包括:
查询Kubernetes集群中是否存在正在运行的、且与所述指定镜像的信息相匹配的POD;
若Kubernetes集群中存在正在运行的、且与所述指定镜像的信息相匹配的POD,则获取所述POD的信息;
根据所述POD的信息,将Kubernetes集群中正在运行所述POD的宿主机节点,确定为优选节点,并作为预判调度结果。


5.根据权利要求4所述的方法,其特征在于,在所述根据所述POD的信息,将Kubernetes集群中正在运行所述POD的宿主机节点,确定为优选节点,并作为预判调度结果之后,所述方法...

【专利技术属性】
技术研发人员:李连强孙宏亮杨桐玲马宏涛
申请(专利权)人:哈尔滨海能达科技有限公司
类型:发明
国别省市:黑龙江;23

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

1