一种容器启动方法及装置与流程
本发明涉及容器启动,尤其涉及一种容器启动方法及装置。
背景技术:
1、容器镜像体积的逐步增长,使得全量拉取容器镜像速度较慢,而且延迟加载容器镜像则会增加容器启动延迟或引发容器运行时的性能抖动。现有的针对容器镜像的预拉取方案由于缺乏精准的运行数据支撑,面临着“冗余拉取”与“加载延迟”的权衡困境。尤其在容器跨节点迁移时,目标节点需要临时加载所需镜像文件,因此,启动延迟较大,容器启动效率低下,严重影响业务响应。
技术实现思路
1、有鉴于此,本发明实施例提供一种容器启动方法及装置,一方面,利用热文件块筛选机制替代全量拉取,在保证容器启动速度的同时降低了资源浪费;另一方面,通过将预拉取时机提前至容器迁移发生前,消除了目标节点加载镜像的等待时间,实现了容器迁移的近乎无感启动,增强了业务的实时响应能力。
2、为实现上述目的,根据本发明实施例的一个方面,提供了一种容器启动方法,包括:监测各个容器在运行状态下,需要访问的文件块以及对各个文件块的访问热度,以及根据访问热度筛选出各个容器运行需要访问的热文件块;
3、将集群内每个节点作为容器迁移的目标节点,并针对所述目标节点执行以下操作:基于容器迁移历史事件,预测在未来预设时长内目标容器将迁移至所述目标节点,从所述目标容器对应的目标热文件块所属的源节点预拉取所述目标热文件块,将所述目标热文件块缓存至所述目标节点,以在将所述目标容器从所述源节点迁移至所述目标节点的过程中,基于所述目标节点缓存的目标热文件块,启动所述目标容器。
4、可选地,所述监测各个容器在运行状态下,需要访问的文件块以及对各个文件块的访问热度,包括:
5、在每个节点的内核中加载监控程序,通过所述监控程序,监测各个容器在运行状态下,针对各个文件块的访问信息;
6、基于所述访问信息,计算各个文件块对应的衰减访问频率。
7、可选地,所述根据访问热度,筛选出各个容器运行需要访问的热文件块,包括:
8、针对每个容器:
9、将所述容器的镜像包括的多个文件块按镜像层分组;
10、将每一组内的多个文件块按照所述访问热度进行排序;
11、根据排序结果,从每一组内的多个文件中确定出热文件块。
12、可选地,在将所述目标热文件块缓存至所述目标节点之后,以及,在执行容器迁移操作之前,还包括:
13、监测集群内各节点的资源压力指标,在所述监测结果指示所述源节点的资源压力指标达到预设的迁移触发条件的情况下,从所述源节点确定出待迁移的目标容器,并触发容器迁移操作。
14、可选地,所述从所述源节点内确定出待迁移的目标容器,包括:
15、确定出所述源节点内每个容器的服务类型、访问热度以及延迟敏感度;
16、根据所述源节点内的多个容器分别对应的服务类型、访问热度以及延迟敏感度,从所述多个容器中,确定出待迁移的目标容器。
17、可选地,还包括:
18、在将所述目标容器从所述源节点迁移至所述目标节点的过程中,生成初始内存快照,监测所述源节点中的内存写入页,基于所述内存写入页确定出迁移过程中产生的增量数据,并将所述初始内存快照以及所述增量数据同步至所述目标节点;
19、和/或,
20、监测所述源节点接收到的针对所述目标容器的连接请求,将所述连接请求重定向到所述目标节点。
21、可选地,所述迁移触发条件包括:所述资源压力指标大于或等于第一预设阈值且持续时长不小于预设的目标时长;
22、和/或,
23、所述资源压力指标是基于以下指标中的一个或多个得到的:cpu压力、内存压力、i/o压力、cpu调度延迟以及内存回收频次。
24、可选地,在将所述目标热文件块缓存至所述目标节点之后,以及,在执行容器迁移操作之前,还包括:
25、将监测得到的各节点的资源压力指标与第二预设阈值进行比较,并确定出资源压力指标小于所述第二预设阈值的多个候选节点;所述第二预设阈值小于所述第一预设阈值;
26、从多个所述候选节点中,确定出已缓存有所述目标容器对应的目标热文件的目标节点;
27、触发将所述目标容器迁移至所述目标节点的容器迁移操作。
28、可选地,还包括:
29、在所述目标容器迁移完成之后,在所述目标容器运行状态下,监测所述目标节点的资源压力变化以及所述目标容器的性能指标,并根据所述资源压力变化以及所述性能指标,调整所述第二预设阈值;
30、和/或,
31、计算预先缓存至所述目标节点的目标热文件块与在所述目标节点启动所述目标容器实际需要访问的文件块的比例,以及计算所述目标容器的启动延迟,根据所述比例以及所述启动延迟,调整热文件块的筛选策略。
32、为实现上述目的,根据本发明实施例的又一方面,提供了一种容器启动装置,包括:筛选模块以及预测模块,其中,
33、所述筛选模块,用于监测各个容器在运行状态下,需要访问的文件块以及对各个文件块的访问热度,以及根据访问热度,筛选出各个容器运行需要访问的热文件块;
34、所述预测模块,用于将集群内每个节点作为容器迁移的目标节点,并针对所述目标节点执行以下操作:基于容器迁移历史事件,预测在未来预设时长内目标容器将迁移至所述目标节点,从所述目标容器对应的目标热文件块所属的源节点预拉取所述目标热文件块,将所述目标热文件块缓存至所述目标节点,以在将所述目标容器从所述源节点迁移至所述目标节点的过程中,基于所述目标节点缓存的目标热文件块,启动所述目标容器。
35、为实现上述目的,根据本发明实施例的再一方面,提供了一种用于容器启动的电子设备,包括:
36、一个或多个处理器;
37、存储装置,用于存储一个或多个程序,
38、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述实施例所述的方法。
39、为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如上述实施例所述的方法。
40、为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机程序产品,包括计算机程序,其特征在于,所述程序被处理器执行时实现如上述实施例所述的方法。
41、上述发明中的一个实施例具有如下优点或有益效果:一方面,利用热文件块筛选机制替代全量拉取,在保证容器启动速度的同时降低了资源浪费;另一方面,通过将预拉取时机提前至容器迁移发生前,消除了目标节点加载镜像的等待时间,实现了容器迁移的近乎无感启动,增强了业务的实时响应能力。
42、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
1.一种容器启动方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述监测各个容器在运行状态下,需要访问的文件块以及对各个文件块的访问热度,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述根据访问热度,筛选出各个容器运行需要访问的热文件块,包括:
4.根据权利要求1所述的方法,其特征在于,在将所述目标热文件块缓存至所述目标节点之后,以及,在执行容器迁移操作之前,还包括:
5.根据权利要求4所述的方法,其特征在于,所述从所述源节点内确定出待迁移的目标容器,包括:
6.根据权利要求1所述的方法,其特征在于,还包括:
7.根据权利要求4所述的方法,其特征在于,
8.根据权利要求4所述的方法,其特征在于,在将所述目标热文件块缓存至所述目标节点之后,以及,在执行容器迁移操作之前,还包括:
9.根据权利要求4所述的方法,其特征在于,还包括:
10.一种容器启动装置,其特征在于,包括:筛选模块以及预测模块,其中,
11.一种用于容器启动的电子设备,其特征在于,包括:
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任一所述的方法。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任一所述的方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com