基于轻量容器云环境下的预热式镜像加载方法技术

技术编号:35293420 阅读:10 留言:0更新日期:2022-10-22 12:40
本发明专利技术公开了一种基于轻量容器云环境下的预热式镜像加载方法,包括:根据轻量容器云环境下的服务器节点负载情况,选择负载小的第一部分的服务器节点;向选择的服务器节点发送远程镜像拉取命令,以使得服务器节点基于远程镜像拉取命令,从指定的服务器拉取目标镜像加载到服务器节点本地;在任一服务器节点加载完成目标镜像后,根据业务部署指令,在该服务器节点上部署所述目标镜像。本申请的方法能够提前将待安装镜像加载到目标服务器上,实现在复杂多变的机动环境下,加快轻量容器云软件的安装过程以及服务器节点出现故障时秒级恢复服务的能力。务的能力。务的能力。

【技术实现步骤摘要】
基于轻量容器云环境下的预热式镜像加载方法


[0001]本专利技术涉及云
,尤其涉及一种基于轻量容器云环境下的预热式镜像加载方法。

技术介绍

[0002]Docker是一款优秀的开源应用容器引擎。可以让开发者将他们的应用以及依赖包封装到一个可移植的镜像中,然后将此镜像发布到任何流行的Linux或Windows操作系统的机器上。可以认为镜像是一种轻量级、可执行的独立软件包,用来封装软件以及软件的运行环境;包括代码、运行时、库、环境变量和配置文件等。
[0003]在容器云(如kubernetes)或者轻量容器云(如k3s)安装部署某个镜像时,kubernetes或者k3s要做到的第一步:通过自身的调度器选择合适的目标服务器安装此镜像;第二步,在目标服务器上远程下载并加载镜像;第三步:以此镜像为基础,创建容器、启动容器;容器启动成功后,镜像里的软件也成功启动。但其涉及远程下载,无论目标镜像的大小都会影响软件的安装部署用时。
[0004]轻量容器云安装软件的过程主要分为四个阶段:服务调度、镜像远程下载、创建容器、启动容器;其中,镜像远程下载会受到带宽资源、镜像本身大小的影响;在带宽资源不足或者镜像本身偏大的情况下,镜像远程下载会占用大量的时间,最终导致软件的整个安装过程缓慢;并且,当轻量容器云中的某个服务器节点出现异常时,轻量容器云会将服务重新调度到其他服务器节点上重新安装,此过程同样需要远程下载镜像;因此,镜像远程下载过程是轻量容器云软件安装过程中的性能瓶颈。

技术实现思路

[0005]本专利技术实施例提供一种基于轻量容器云环境下的预热式镜像加载方法,用以提前将待安装镜像加载到目标服务器上,实现在复杂多变的机动环境下,加快轻量容器云软件的安装过程以及服务器节点出现故障时秒级恢复服务的能力。
[0006]本专利技术实施例提供一种基于轻量容器云环境下的预热式镜像加载方法,包括:
[0007]根据轻量容器云环境下的服务器节点负载情况,选择负载小的第一部分的服务器节点;
[0008]向选择的服务器节点发送远程镜像拉取命令,以使得服务器节点基于远程镜像拉取命令,从指定的服务器拉取目标镜像加载到服务器节点本地;
[0009]在任一服务器节点加载完成目标镜像后,根据业务部署指令,在该服务器节点上部署所述目标镜像。
[0010]在一些实施例中,在第一部分的服务器节点加载完成目标镜像后还包括:
[0011]根据轻量容器云环境下的服务器节点负载情况,从剩余的服务器节点中,选择负载小的第二部分的服务器节点;
[0012]向选择的服务器节点发送镜像拉取命令,以使得第二部分的服务器节点基于镜像
拉取命令,从第一部分的服务器节点拉取所述目标镜像加载到本地。
[0013]在一些实施例中,还包括重复根据轻量容器云环境下的服务器节点负载情况,从剩余的服务器节点中,选取服务器节点,发送镜像拉取命令,以使得轻量容器云环境下的所有服务器节点均将所述目标镜像加载到本地。
[0014]在一些实施例中,在多个服务器节点加载完成目标镜像的情况下还包括:
[0015]获取已经完成加载的服务器节点列表,根据业务需求,选取至少部分已经完成加载的服务器节点,发送业务部署指令。
[0016]在一些实施例中,选择的负载小的第一部分的服务器节点的数量小于或等于总服务器节点数量的三分之一。
[0017]在一些实施例中,在部署了目标镜像的服务器节点故障的情况下,直接从无故障的服务节点中选取目标服务器节点,重新部署所述目标镜像。
[0018]本申请还提出一种轻量容器云服务器集群,包括分布式的处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被处理器执行时实现前述的基于轻量容器云环境下的预热式镜像加载方法的步骤。
[0019]本申请还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述的基于轻量容器云环境下的预热式镜像加载方法的步骤。
[0020]本专利技术实施例提前将待安装镜像加载到目标服务器上,实现了在复杂多变的机动环境下,加快了轻量容器云软件的安装过程以及服务器节点出现故障时秒级恢复服务的能力。
[0021]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0022]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0023]图1为本申请实施例预热式镜像加载的技术架构示意图;
[0024]图2为本申请实施例预热式镜像加载的基本流程图;
[0025]图3为本申请实施例资源监控模块架构示意图;
[0026]图4为本申请实施例单个服务器节点远程拉取待安装镜像的示例;
[0027]图5为本申请实施例多阶段拉取待安装镜像的示例;
[0028]图6为本申请实施例部署镜像的主要流程示意图。
具体实施方式
[0029]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围
完整的传达给本领域的技术人员。
[0030]本专利技术实施例提供一种基于轻量容器云环境下的预热式镜像加载方法,如图1所示,预热式镜像加载技术架构包括轻量容器云和预热式镜像加载服务,其中预热式镜像加载服务可以包括如下模块:
[0031]镜像预热加载任务队列;主要是接收镜像分发任务。可以由kafka、rocketmq等消息队列来实现。
[0032]镜像分发调度器;主要负责从镜像预热加载任务队列中获取镜像分发任务;将任务进行解析,给镜像分发调度算法发送请求指令获取第一阶段的目标服务器列表;给镜像分发执行器发送具体镜像分发指令,将镜像分发到第一阶段的目标服务器上。
[0033]镜像分发调度算法模块;通过资源监控模块获取当前容器云的资源状态,从还没有分发镜像的服务器列表中对服务器中的负载进行从小到大排序,获取负载比较小的前n个服务器列表servers;并将获取到服务器列表servers返回给镜像分发调度器。
[0034]镜像分发执行器;接收到镜像分发调度器发送的镜像分发指令,获取到待镜像分发的服务器列表servers;镜像分发执行器依次给服务器列表servers中的每个服务器上的镜像拉取器发送远程镜像拉取命令。
[0035]镜像拉取器;接收镜像分发执行器的镜像拉取指令,解析指令;从指定的服务器节点上远程拉取镜像;镜像拉取完成后,加载到本地服本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于轻量容器云环境下的预热式镜像加载方法,其特征在于,包括:根据轻量容器云环境下的服务器节点负载情况,选择负载小的第一部分的服务器节点;向选择的服务器节点发送远程镜像拉取命令,以使得服务器节点基于远程镜像拉取命令,从指定的服务器拉取目标镜像加载到服务器节点本地;在任一服务器节点加载完成目标镜像后,根据业务部署指令,在该服务器节点上部署所述目标镜像。2.如权利要求1所述的基于轻量容器云环境下的预热式镜像加载方法,其特征在于,在第一部分的服务器节点加载完成目标镜像后还包括:根据轻量容器云环境下的服务器节点负载情况,从剩余的服务器节点中,选择负载小的第二部分的服务器节点;向选择的服务器节点发送镜像拉取命令,以使得第二部分的服务器节点基于镜像拉取命令,从第一部分的服务器节点拉取所述目标镜像加载到本地。3.如权利要求2所述的基于轻量容器云环境下的预热式镜像加载方法,其特征在于,还包括重复根据轻量容器云环境下的服务器节点负载情况,从剩余的服务器节点中,选取服务器节点,发送镜像拉取命令,以使得轻量容器云环境下的所有服务器节点均将所述目标镜像加载到本地。4.如权利...

【专利技术属性】
技术研发人员:栾明君宁阳邢尔军陈艳
申请(专利权)人:中国电子科技集团公司第十五研究所
类型:发明
国别省市:

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

1