【技术实现步骤摘要】
镜像预加载方法、设备及存储介质
本专利技术涉及计算机
,更具体的说,涉及镜像预加载方法、设备及存储介质。
技术介绍
Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能,它已成为容器编排领域的事实标准。目前,应用/服务的部署、扩容到哪台宿主机,都是通过Kubernetes调度服务来指定的,Kubernetes调度服务会检查所有符合该应用/服务要求的节点Node列表,开始执行调度逻辑,并在调度成功后,将应用/服务绑定到优选节点上,然后优选节点上的kubelet服务就会从指定的镜像仓库中拉取镜像包,最终完成整个应用/服务的部署、扩容、升级。但是在拉取镜像的过程中,经常会因为节点分布、网络状况及应用(镜像包)的大小等诸多因素的影响,轻则导致应用/服务能提供服务的时间被延迟,重则导致部署失败,尤其在升级和扩容等对时间有苛刻要求的场景下,这更是不能容忍的。现有的解决方案通常是将镜像按人工制定的策略上传到宿主机上,这样就不需要从远程仓库进行拉取下载,以达到预加载效果,或者提前由分发系统将镜像同步到离集群较近的边缘节点的镜像库中,以减少网络传输时间,但是上述解决方案存在人工干预易出错,占用资源多,效率低等诸多问题,而并不能准确、可靠且高效地完成镜像的预加载。因此,目前迫切需要一种切实有效的镜像预加载方案,以提高镜像预加载过程的准确性、可靠性与高效性。
技术实现思路
有鉴于此,本专利技术提供了一种镜像预加载方法、设备及存储介质,以解决 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。