一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

应用镜像文件的部署方法、装置、计算机设备和存储介质与流程

2021-11-05 20:36:00 来源:中国专利 TAG:


1.本技术涉及容器云技术领域,特别是涉及一种应用镜像文件的部署方法、装置、计算机设备和存储介质。


背景技术:

2.云计算通过计量的方式为用户提供数据存储、数据处理、网络带宽等服务。通过“云”,用户可在不受时间和空间的限制条件下仅通过网络连接获取到无限的资源,其中,容器技术是云计算的核心技术。
3.目前,若某个企业需要租用具有分布式云计算的云主机部署自己的应用程序,大多采用kubernetes(以下简称k8s)容器技术将应用镜像文件部署在云主机上,也即部署在k8s系统中的从节点上。通过k8s容器技术部署应用镜像文件的过程为:k8s系统中的主节点需要先从多个从节点中随机确定一个目标从节点,由主节点通知目标从节点生成一个容器集,以将镜像文件部署到容器集上。
4.然而,由于目前的容器云技术随机从多个节点中确定一个目标节点指示该目标节点生成用于部署应用镜像文件的pod,因此存在同一从节点上部署的应用镜像文件较多,而其他从节点上没有部署或部署有很少的应用镜像文件,造成其他从节点的资源浪费的问题。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够合理利用各个从节点的资源的应用镜像文件的部署方法、装置、计算机设备和存储介质。
6.一种应用镜像文件的部署方法,所述方法包括:
7.获取目标应用镜像文件;
8.根据存储的各个从节点的时间序列数据,获取各个从节点的资源使用情况,其中,所述时间序列数据用于表征所述各个从节点在最近预设时长内的资源使用情况;
9.根据所述各个从节点的资源使用情况,从所述各个从节点中确定目标从节点;
10.向所述目标从节点发送容器集生成指令,以指示所述目标从节点生成容器集,所述容器集用于部署所述目标应用镜像文件。
11.在其中一个实施例中,还包括:周期的从各个从节点中获取所述时间序列数据;其中,所述时间序列数据为所述从节点主动采集自身的资源使用情况后获得的数据。
12.在其中一个实施例中,所述根据所述各个从节点的资源使用情况,从所述各个从节点中确定目标从节点,包括:
13.根据所述各个从节点的资源使用情况,从所述各个从节点中选择剩余可用资源最大的从节点,并将所述可用资源最大的从节点确定为所述目标从节点。
14.在其中一个实施例中,所述根据各个从节点的资源使用情况,从各个从节点中确定目标从节点,包括:
15.根据所述各个从节点的资源使用情况,确定各个从节点的剩余可用资源;
16.判断各个从节点的剩余可用资源是否小于预设资源限值,将剩余可用资源不小于所述预设资源限值的从节点确定为候选从节点;
17.确定剩余可用资源最大的候选从节点为所述目标从节点。
18.在其中一个实施例中,所述时间序列数据包括所述各个从节点在最近预设时长内各个时刻的资源使用情况,以及,每个所述从节点上各个已有容器集的资源使用情况。
19.在其中一个实施例中,还包括:
20.根据所述各个从节点的资源使用情况,确定待迁移从节点和适配从节点;
21.将所述待迁移从节点上部分或者全部容器集的内容迁移至所述适配从节点。
22.在其中一个实施例中,还包括:
23.根据所述各个从节点的资源使用情况,确定适配从节点;
24.根据所述从节点上的各个已有容器集的资源使用情况,确定待迁移容器集;
25.将所述待迁移容器集的内容迁移至所述适配从节点。
26.一种应用镜像文件的部署装置,所述装置包括:
27.第一获取模块,用于获取目标应用镜像文件;
28.第二获取模块,用于根据存储的各个从节点的时间序列数据,获取各个从节点的资源使用情况,其中,所述时间序列数据用于表征所述各个从节点在最近预设时长内的资源使用情况;
29.第一确定模块,用于根据所述各个从节点的资源使用情况,从所述各个从节点中确定目标从节点;
30.发送模块,用于向所述目标从节点发送容器集生成指令,以指示所述目标从节点生成容器集,所述容器集用于部署所述目标应用镜像文件。
31.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
32.获取目标应用镜像文件;
33.根据存储的各个从节点的时间序列数据,获取各个从节点的资源使用情况,其中,所述时间序列数据用于表征所述各个从节点在最近预设时长内的资源使用情况;
34.根据所述各个从节点的资源使用情况,从所述各个从节点中确定目标从节点;
35.向所述目标从节点发送容器集生成指令,以指示所述目标从节点生成容器集,所述容器集用于部署所述目标应用镜像文件。
36.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
37.获取目标应用镜像文件;
38.根据存储的各个从节点的时间序列数据,获取各个从节点的资源使用情况,其中,所述时间序列数据用于表征所述各个从节点在最近预设时长内的资源使用情况;
39.根据所述各个从节点的资源使用情况,从所述各个从节点中确定目标从节点;
40.向所述目标从节点发送容器集生成指令,以指示所述目标从节点生成容器集,所述容器集用于部署所述目标应用镜像文件。
41.上述应用镜像文件的部署方法、装置、计算机设备和存储介质,获取目标应用镜像
文件,根据存储的各个从节点的时间序列数据,获取各个从节点的资源使用情况,根据各个从节点的资源使用情况,从各个从节点中确定目标从节点,向目标从节点发送容器集生成指令,以指示目标从节点生成容器集,容器集用于部署目标应用镜像文件。由于主节点本地存储有各个从节点的时间序列数据,能够根据从节点的时间序列数据,获取各个从节点的资源使用情况,进而根据各个从节点的资源使用情况确定目标从节点,从而实现将目标镜像文件部署到可用资源较多的从节点上,避免可用资源较多的从节点的资源浪费问题,实现合理利用各个从节点的资源。
附图说明
42.图1是一个实施例中应用镜像文件的部署方法的系统架构图之一;
43.图2是一个实施例中应用镜像文件的部署方法的流程示意图;
44.图3是一个实施例中目标从节点确定方法的流程示意图;
45.图4是一个实施例中资源调度方法的流程示意图之一;
46.图5是一个实施例中资源调度方法的流程示意图之二;
47.图6是一个实施例中镜像仓库的架构示意图;
48.图7是一个实施例中应用镜像文件的部署方法的系统架构图之二;
49.图8是一个实施例中调度器确定目标从节点的过程示意图;
50.图9是一个实施例中csp结构框图;
51.图10是一个实施例中应用镜像文件的部署装置的结构框图;
52.图11为一个实施例中计算机设备的内部结构图。
具体实施方式
53.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
54.参照图1,图1是一个实施例中应用镜像文件的部署方法的系统架构图之一。该系统包括主节点以及从节点,图1示出的从节点包括从节点1和从节点2,主节点和从节点均可以为服务器。从节点主动实时采集自身在不同时刻的资源使用情况并存储,主节点周期的从各个从节点获取从节点的资源使用情况,并存储各个从节点的资源使用情况,其中,主节点中的从节点的资源使用情况是按照资源使用情况的采集时刻的先后顺序存储的,即主节点中存储了关于从节点的资源使用情况的时间序列数据。当主节点需要将目标应用程序镜像文件部署到从节点上时,主节点可以根据存储的各个从节点的时间序列数据,获取各个从节点的资源使用情况,并根据各个从节点的资源使用情况,从各个从节点中确定目标从节点,进而向目标从节点发送容器集生成指令,以指示目标从节点生成容器集,容器集用于部署目标应用镜像文件。
55.基于例如图1示出的系统,本实施例提供了一种应用镜像文件的部署方法。如图2所示,图2是一个实施例中应用镜像文件的部署方法的流程示意图,该方法的执行主体是主节点,该方法包括以下步骤:
56.s201、获取目标应用镜像文件。
57.其中,目标应用镜像文件是指用户将目标应用程序的可执行文件和配置文件打包成一个可以被任意计算机设备运行的镜像文件。应用可以是我们日常访问的一些高并发的购物网站也可以是大数据分析网站,本实施例中的应用不限于此。
58.本实施例中,可以从镜像仓库获取目标应用镜像文件,也可以为从云端存储的应用镜像文件中获取的。其中,镜像仓库可以部署在主节点上,也可以单独部署在一台数据库服务器上。
59.s202、根据存储的各个从节点的时间序列数据,获取各个从节点的资源使用情况,其中,时间序列数据用于表征各个从节点在最近预设时长内的资源使用情况。
60.本实施例中,主节点中存储由各个从节点的时间序列数据,因此,主节点可以根据存储的各个从节点的时间序列数据,获取各个从节点的资源使用情况。其中,从节点的资源使用情况可以包括从节点的中央处理器(cpu)、内存、硬盘等资源的使用情况。
61.资源使用情况可以为从节点的已使用资源量,也可以为已使用资源量与从节点的总资源量的比值。主节点可以获取从节点的预设时长内的资源使用情况,例如获取从节点最近半小时的资源使用情况。
62.s203、根据各个从节点的资源使用情况,从各个从节点中确定目标从节点。
63.可选的,根据各个从节点的资源使用情况,从各个从节点中确定目标从节点可以通过如下方式实现:
64.根据各个从节点的资源使用情况,确定各个从节点的优先级;将优先级最高的从节点作为目标从节点。
65.本实施例中,若某个从节点的已使用资源量越多或已使用资源量与从节点的总资源量的比值越大,则确定给从节点的优先级较低。优先级越高的从节点,意味着该从节点的可用资源越多。
66.s204、向目标从节点发送容器集生成指令,以指示目标从节点生成容器集,容器集用于部署目标应用镜像文件。
67.本实施例中,目标节点根据容器集生成指令,可以生成一个容器集(pod),该容器集包括一个或多个容器。
68.本实施例提供的应用镜像文件的部署方法,通过获取目标应用镜像文件,根据存储的各个从节点的时间序列数据,获取各个从节点的资源使用情况,根据各个从节点的资源使用情况,从各个从节点中确定目标从节点,向目标从节点发送容器集生成指令,以指示目标从节点生成容器集,容器集用于部署目标应用镜像文件。由于主节点本地存储有各个从节点的时间序列数据,能够根据从节点的时间序列数据,获取各个从节点的资源使用情况,进而根据各个从节点的资源使用情况确定目标从节点,从而实现将目标镜像文件部署到可用资源较多的从节点上,避免可用资源较多的从节点的资源浪费问题,实现合理利用各个从节点的资源。
69.可选的,在上述实施例的基础上,还可以包括如下步骤:
70.周期的从各个从节点中获取时间序列数据;其中,时间序列数据为从节点主动采集自身的资源使用情况后获得的数据。
71.本实施例中,主节点周期性从各个从节点获取时间序列数据并存储获取的时间序列数据,进而在需要部署目标应用镜像文件时,可以直接根据存储的时间序列数据,确定目
标从节点。从而无需向从节点发送请求以获取从节点的资源使用情况,因此,可以提高主节点确定目标从节点的效率,进而加快目标应用镜像文件的部署效率。
72.可选的,上述的s203可以通过如下方式实现:
73.根据各个从节点的资源使用情况,从各个从节点中选择剩余可用资源最大的从节点,并将可用资源最大的从节点确定为目标从节点。
74.本实施例中,可以将剩余可用资源最大的从节点作为目标从节点。若同时存在多个剩余可用资源最大的从节点,则可以将多个剩余可用资源最大的从节点中的任意一个从节点作为目标从节点。
75.例如,如果从节点包括从节点a、从节点b、从节点c,从节点a、从节点b、从节点c的资源总量相同,从节点a上已部署有一个应用镜像文件,此时,从节点b和从节点c的剩余可用资源相同,则可以将从节点b或从节点c作为目标从节点。
76.本实施例中,通过根据各个从节点的资源使用情况,从各个从节点中选择剩余可用资源最大的从节点,并将可用资源最大的从节点确定为目标从节点,从而实现避免可用资源较多的从节点的资源浪费问题,实现合理利用各个从节点的资源。
77.参照图3,图3是一个实施例中目标从节点确定方法的流程示意图。本实施例涉及的是如何根据各个从节点的资源使用情况,从各个从节点中确定目标从节点的一种可选的实现方式。在上述实施例的基础上,上述的s203可以通过如下方式实现:
78.s301、根据各个从节点的资源使用情况,确定各个从节点的剩余可用资源。
79.s302、判断各个从节点的剩余可用资源是否小于预设资源限值,将剩余可用资源不小于预设资源限值的从节点确定为候选从节点。
80.判断各个从节点的剩余可用资源是否小于预设资源限值,将剩余可用资源不小于预设资源限值的从节点确定为候选从节点,也即滤除了剩余可用资源小于预设资源限制的从节点,进而可以从更少的候选从节点中确定目标从节点,提高目标从节点的确定效率。
81.s303、确定剩余可用资源最大的候选从节点为目标从节点。
82.本实施例中,通过滤除了部分剩余可用资源较少的从节点,因此在s303中可以从更少的候选从节点中选出剩余可用资源最大的候选从节点,并将剩余可用资源最大的候选从节点作为目标从节点,因此加快了目标从节点的选择效率。
83.可选的,时间序列数据包括各个从节点在最近预设时长内各个时刻的资源使用情况,以及,每个从节点上各个已有容器集的资源使用情况。
84.本实施例中,一个节点上可以包括一个或多个容器集,一个容器集可以包括一个或多个容器,主节点中存储有各个从节点的已有容器集的资源使用情况,从而可以根据各个从节点的已有容器集的资源使用情况,判断从节点上的已有容器集的资源使用量是否已经达到预设峰值条件,若容器集的资源使用量不小于预设峰值,则可以将该容器集作为待迁移容器集,将该待迁移容器集的内容迁移到其他从节点中可用资源最多的适配从节点上,其中,其他从节点包括主节点的所有从节点中除待迁移容器集所处的从节点之外的从节点,从而实现对容器集进行扩容,避免待迁移容器集由于可用资源较少影响容器集的运行的问题。
85.可选的,若从节点上的某个容器集的资源使用量不小于预设峰值,主节点也可以向该从节点发送容器集生成指令,以指示该从节点生成一个新容器集,该新容器集用于部
署该容器集的应用镜像文件,以实现对容器集进行扩容,避免待迁移容器集由于可用资源较少影响容器集的运行的问题。
86.例如,各大网上商城业务订单,各大网上商城的订单流量展现出非常明显的时节性,平常的时候业务订单流量不是很多,但是到了网上商家大肆打折扣的时候业务量会猛增,而且业务流量是以秒来计算的,通过对容器集进行扩容可以更好地处理高并发问题。
87.在一个实施例中,还可以包括如下步骤。参照图4,图4是一个实施例中资源调度方法的流程示意图之一。本实施例涉及的是如何根据各个从节点的资源使用情况,合理利用各个从节点的资源的一种可选的实现方式。在上述实施例的基础上,该方法包括如下步骤:
88.s401、根据各个从节点的资源使用情况,确定待迁移从节点和适配从节点。
89.本实施例中,可以根据各个从节点的资源使用情况,确定各个从节点的剩余可用资源;判断从节点的剩余可用资源是否小于预设资源限值;将剩余可用资源小于预设资源限值的从节点作为待迁移从节点,将剩余可用资源最大的从节点作为适配从节点。
90.可选的,也可以将剩余可用资源不小于预设资源限值的任意一个从节点作为适配从节点。
91.s402、将待迁移从节点上部分或者全部容器集的内容迁移至适配从节点。
92.本实施例中,确定出待迁移从节点后,可以直接将待迁移从节点的全部容器集的内容迁移至适配从节点。
93.本实施例提供的方法,通过根据各个从节点的资源使用情况,确定待迁移从节点和适配从节点,将待迁移从节点上部分或者全部容器的内容迁移至适配从节点,从而可以在某个从节点的可用资源较少的情况下,将该从节点上的部分或或者全部容器集的内容迁移至适配从节点,从而避免待迁移从节点上的可用资源较少影响容器集运行的问题。
94.在一个实施例中,还可以包括如下步骤。参照图5,图5是一个实施例中资源调度方法的流程示意图之二。本实施例涉及的是如何根据从节点的已有容器集的资源使用情况,确定待迁移容器集,以合理利用各个从节点的资源的一种可选的实现方式。在上述实施例的基础上,该方法包括如下步骤:
95.s501、根据各个从节点的资源使用情况,确定适配从节点。
96.本步骤中,可以将各个从节点中剩余可用资源最多的从节点作为适配从节点。
97.s502、根据从节点上的各个已有容器集的资源使用情况,确定待迁移容器集。
98.由于随着用户量的爆炸式增长,云规模的不断增大,导致相应的容器数目也急剧提升,因此,如何优化容器集的调度称为亟待解决的问题。本实施例中的从节点可以实时监控容器集的资源使用情况,主节点周期的从各个从节点获取容器集的资源使用情况,从而能够根据从节点上的各个已有容器集的资源使用情况,确定待迁移容器集,从而可以优化容器集之间的调度。
99.例如,若从节点a上有两个容器集,该两个容器集包括容器集1和容器集2,容器集1的剩余可用资源小于预设阈值,而容器集2的剩余可用资源不小于预设阈值,则将容器集1作为待迁移容器集。
100.需要说明的是,从节点也可以自己判断自身的容器集的剩余可用资源是否小于预设阈值,若小于预设阈值,可以向主节点发送调度请求,以使主节点将剩余可用资源小于预设阈值的容器集的内容迁移至适配从节点。或者,主节点判断从节点的容器集的剩余可用
资源是否小于预设阈值,主动将剩余可用资源小于预设阈值的容器集的内容迁移至适配从节点。
101.s503、将待迁移容器集的内容迁移至适配从节点。
102.本实施例中,通过根据各个从节点的资源使用情况,确定适配从节点,根据从节点上的各个已有容器集的资源使用情况,确定待迁移容器集,将待迁移容器集的内容迁移至适配从节点,从而可以避免待迁移容器集上的可用资源较少影响容器集运行的问题。
103.可选的,上述的s201可以通过如下方式实现:
104.主节点从镜像仓库中获取目标应用镜像文件。
105.镜像仓库可以为harbor仓库,harbor仓库的架构如下图6,图6是一个实施例中镜像仓库的架构示意图。开发人员制作好应用镜像文件后,可以将应用镜像文件上传到镜像仓库。该镜像仓库包括代理组件、核心服务、注册组件、任务服务组件、数据库组件以及日志收集组件。其中,proxy组件即代理组件代理来自浏览器(browser)的请求并将请求转发到核心服务,注册(registry)组件处理上传、拉取与存储镜像请求,数据库(database)组件存储仓库用户数据、同步策略与镜像元数据,任务服务(job services)组件主要用于复制应用镜像文件,日志收集(log collector)组件负责收集日志信息。核心服务(core services)是镜像仓库的核心功能,其中用户界面(user interface)以图形用户界面的方式辅助用户管理镜像文件,webhook作为一种机制,当应用镜像文件发生变化时,通知镜像仓库更新日志,令牌(token)控件根据用户权限给每个命令签发token。
106.通过镜像仓库管理应用镜像文件,对应用镜像文件进行扫描,以检测是否存在漏洞,若存在漏洞,则可以对漏洞进行修复,从而保证应用镜像文件的安全性。
107.由于镜像仓库根据用户权限为每个命令签发token,用户通过输入token登录到资源调度平台(container scheduling platform,csp)后,可以访问镜像仓库。用户权限不同,访问镜像仓库的权限不同,例如管理员可以对整个harbor仓库进行完全的控制,而开发人员只能上传和更新应用镜像文件,测试人员可以对应用镜像文件的漏洞进行检测。通过为不同权限的用户签发token,避免不同的用户都可以对该仓库中的应用镜像文件进行修改或删除等操作,导致对镜像仓库中的应用镜像文件的产生不可恢复性的影响,因此,通过数字签名技术签发token可以保证应用镜像文件的完整性和安全性。
108.为了对上述实施例进行更清楚的说明,在此结合图7对应用镜像文件的部署过程进行进一步结介绍。参照图7,图7是一个实施例中应用镜像文件的部署方法的系统架构图之二,该系统中的主节点包括应用程序编程接口(application programming interface,api)服务、调度器(scheduler)、扩展进程(extender)、prometheus server,该系统中从节点包括从节点1和从节点2,各个从节点包括监听组件(exporter),监听组件用于监听从节点的资源使用情况以及从节点上各个已有容器集的资源使用情况。
109.主节点需要将目标应用镜像文件部署到从节点上时,主节点上的调度器可以向扩展进程发送通知消息,以通知扩展进程获取各个从节点的资源使用情况,扩展进程向prometheus server发送数据查询请求。prometheus server接收到数据查询请求后,查询存储的各个从节点的时间序列数据,并将各个从节点的时间序列数据返回给扩展进程。扩展进程根据各个从节点的时间序列数据,获取各个从节点的资源使用情况,并根据各个从节点的资源使用情况以及各个从节点的资源总量,确定各个从节点的剩余可用资源,对各
个从节点的剩余可用资源进行量化,得到各个从节点的量化值。其中,从节点的剩余可用资源越多,则该从节点的量化值越高。
110.扩展进程得到各个从节点的量化值后,可以将各个从节点的量化值发送给调度器,调度器可以根据各个从节点的量化值,确定各个从节点的权重,进而根据各个从节点的量化值和权重,得到各个从节点的最终量化值,最终量化值越高,调度器可以将最终量化值最高的从节点作为目标从节点。目标从节点确定后,调度器向目标从节点发送容器集生成指令,以指示目标从节点生成容器集,容器集用于部署目标应用镜像文件。
111.需要说明的是,扩展进程确定各个从节点的剩余可用资源后,也可以将各个从节点的剩余可用资源发送给调度器,由调度器判断各个从节点的剩余可用资源是否小于预设资源限值,将剩余可用资源小于预设资源限值的从节点滤除,保留剩余可用资源不小于预设资源限值的从节点,将保留下来的从节点作为候选从节点。具体的,参照图8,图8是一个实施例中调度器确定目标从节点的过程示意图。调度器确定目标从节点的过程包括预选阶段开始时的pre

filter阶段、预选阶段时的post

filter阶段和优选阶段结束时post

socring阶段,在这些拓展阶段均可开发自定义的调度算法来实现自定义调度。
112.如图7、图8所示,扩展进程可以将节点列表信息发送至调度器,节点列表信息包括各个从节点对应的剩余可用资源的大小,以及将各个从节点的容器集(pod)的资源使用情况发送至调度器。其中,扩展进程可以按照从节点的各个容器集的资源使用情况,对从节点的各个容器集进行排序,将排序结果发送给调度器。在预选(pre

filter)阶段,可以将剩余可用资源小于预设资源限值的从节点滤除,将剩余的从节点经filter阶段进行再次过滤,经后置过滤器(post

filter)阶段将再次过滤后的剩余从节点提交给量化(scoring)阶段,由scoring阶段对再次过滤后的剩余从节点进行量化,将量化值提交给后置量化器(post

scoring)阶段,由post

scoring阶段将最高量化值对应的从节点作为目标从节点。
113.需要说明的是,调度器也可以根据扩展进程发送的各个从节点的已有容器集(pod)的资源使用情况,确定已有容器集的剩余可用资源,将剩余可用资源小于预设阈值的容器集作为待调度容器集,并根据其他从节点的资源使用情况,从其他从节点中确定适配从节点,将待调度容器集的内容调度至适配从节点,其中,其他从节点为所有从节点中除待调度容器集所处从节点之外的剩余从节点。
114.可选的,调度器还可以根据各个从节点的已有容器集的资源使用情况,确定已有容器集的资源使用率,若资源使用率低于预设资源使用率,则降低已有容器集所分配的资源。若已有容器集的资源使用率低于30%,则适当对容器集所分配的资源进行缩减,例如缩减已有容器集的磁盘、cpu以及内存等资源,从而可以将节省出的资源分配给其他容器集使用,以最大化利用各个从节点的资源。
115.本实施例提供的应用镜像文件的部署方法,通过csp平台实现合理利用各个从节点的资源,提高资源使用率。参照图9,图9是一个实施例中csp结构框图,本实施例中的csp结构框架如图9所示。
116.核心引擎(container engine)是容器运行环境的核心引擎以及标准统一化的容器环境,无需在不同的设备中重新被指应用镜像的配置文件,可以实现对容器的各种操作(启动,停止等)、网络和存储配置。csp的程序直接使用物理机的硬件资源。因此,csp系统能够提高磁盘、cpu以及内存的使用率。
117.其中,app a/app b指应用进程,bins/libs指箱子容器,host os指主机(宿主)操作系统,infrastructure指基础架构。
118.并且,csp系统将一个整体的应用分割成独立的一小部分存放到不同的容器中,同时多个容器之间共用同一套操作系统资源,在csp中通过主节点也即master节点直接进行应用管控部署,并自动生成相关的运行环境。由于csp通过容器的技术将应用部署到不同的操作系统中,无需更改应用镜像文件的配置文件,容器中应用部署的环境是一致的,因此确保了执行环境的一致性,使得应用迁移更加容易。
119.应该理解的是,虽然图2

5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2

5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
120.在一个实施例中,如图10所示,图10是一个实施例中应用镜像文件的部署装置的结构框图。本实施例的装置1000包括:
121.第一获取模块1001,用于获取目标应用镜像文件;
122.第二获取模块1002,用于根据存储的各个从节点的时间序列数据,获取各个从节点的资源使用情况,其中,所述时间序列数据用于表征所述各个从节点在最近预设时长内的资源使用情况;
123.第一确定模块1003,用于根据所述各个从节点的资源使用情况,从所述各个从节点中确定目标从节点;
124.发送模块1004,用于向所述目标从节点发送容器集生成指令,以指示所述目标从节点生成容器集,所述容器集用于部署所述目标应用镜像文件。
125.本实施例提供的应用镜像文件的部署装置,通过获取目标应用镜像文件,根据存储的各个从节点的时间序列数据,获取各个从节点的资源使用情况,根据各个从节点的资源使用情况,从各个从节点中确定目标从节点,向目标从节点发送容器集生成指令,以指示目标从节点生成容器集,容器集用于部署目标应用镜像文件。由于主节点本地存储有各个从节点的时间序列数据,能够根据从节点的时间序列数据,获取各个从节点的资源使用情况,进而根据各个从节点的资源使用情况确定目标从节点,从而实现将目标镜像文件部署到可用资源较多的从节点上,避免可用资源较多的从节点的资源浪费问题,实现合理利用各个从节点的资源。
126.在其中一个实施例中,还可以包括:周期的从各个从节点中获取所述时间序列数据;其中,所述时间序列数据为所述从节点主动采集自身的资源使用情况后获得的数据。
127.在其中一个实施例中,第一确定模块1003,具体用于根据所述各个从节点的资源使用情况,从所述各个从节点中选择剩余可用资源最大的从节点,并将所述可用资源最大的从节点确定为所述目标从节点。
128.在其中一个实施例中,第一确定模块1003,具体用于根据所述各个从节点的资源使用情况,确定各个从节点的剩余可用资源;判断各个从节点的剩余可用资源是否小于预设资源限值,将剩余可用资源不小于所述预设资源限值的从节点确定为候选从节点;确定
剩余可用资源最大的候选从节点为所述目标从节点。
129.在其中一个实施例中,所述时间序列数据包括所述各个从节点在最近预设时长内各个时刻的资源使用情况,以及,每个所述从节点上各个已有容器集的资源使用情况。
130.在其中一个实施例中,还可以包括:第二确定模块,用于根据所述各个从节点的资源使用情况,确定待迁移从节点和适配从节点;第一迁移模块,用于将所述待迁移从节点上部分或者全部容器集的内容迁移至所述适配从节点。
131.在其中一个实施例中,还可以包括:第三确定模块,用于根据所述各个从节点的资源使用情况,确定适配从节点;第四确定模块,用于根据所述从节点上的各个已有容器集的资源使用情况,确定待迁移容器集;第二迁移模块,用于将所述待迁移容器集的内容迁移至所述适配从节点。
132.关于应用镜像文件的部署装置的具体限定可以参见上文中对于应用镜像文件的部署方法的限定,在此不再赘述。上述应用镜像文件的部署装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
133.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储时间序列数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用镜像文件的部署方法。
134.本领域技术人员可以理解,图11中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
135.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
136.获取目标应用镜像文件;
137.根据存储的各个从节点的时间序列数据,获取各个从节点的资源使用情况,其中,所述时间序列数据用于表征所述各个从节点在最近预设时长内的资源使用情况;
138.根据所述各个从节点的资源使用情况,从所述各个从节点中确定目标从节点;
139.向所述目标从节点发送容器集生成指令,以指示所述目标从节点生成容器集,所述容器集用于部署所述目标应用镜像文件。
140.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
141.周期的从各个从节点中获取所述时间序列数据;其中,所述时间序列数据为所述从节点主动采集自身的资源使用情况后获得的数据。
142.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
143.根据所述各个从节点的资源使用情况,从所述各个从节点中选择剩余可用资源最大的从节点,并将所述可用资源最大的从节点确定为所述目标从节点。
144.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
145.根据所述各个从节点的资源使用情况,确定各个从节点的剩余可用资源;判断各个从节点的剩余可用资源是否小于预设资源限值,将剩余可用资源不小于所述预设资源限值的从节点确定为候选从节点;确定剩余可用资源最大的候选从节点为所述目标从节点。
146.在一个实施例中,所述时间序列数据包括所述各个从节点在最近预设时长内各个时刻的资源使用情况,以及,每个所述从节点上各个已有容器集的资源使用情况。
147.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
148.根据所述各个从节点的资源使用情况,确定待迁移从节点和适配从节点;将所述待迁移从节点上部分或者全部容器集的内容迁移至所述适配从节点。
149.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
150.根据所述各个从节点的资源使用情况,确定适配从节点;根据所述从节点上的各个已有容器集的资源使用情况,确定待迁移容器集;将所述待迁移容器集的内容迁移至所述适配从节点。
151.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
152.获取目标应用镜像文件;
153.根据存储的各个从节点的时间序列数据,获取各个从节点的资源使用情况,其中,所述时间序列数据用于表征所述各个从节点在最近预设时长内的资源使用情况;
154.根据所述各个从节点的资源使用情况,从所述各个从节点中确定目标从节点;
155.向所述目标从节点发送容器集生成指令,以指示所述目标从节点生成容器集,所述容器集用于部署所述目标应用镜像文件。
156.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
157.周期的从各个从节点中获取所述时间序列数据;其中,所述时间序列数据为所述从节点主动采集自身的资源使用情况后获得的数据。
158.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
159.根据所述各个从节点的资源使用情况,从所述各个从节点中选择剩余可用资源最大的从节点,并将所述可用资源最大的从节点确定为所述目标从节点。
160.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
161.根据所述各个从节点的资源使用情况,确定各个从节点的剩余可用资源;判断各个从节点的剩余可用资源是否小于预设资源限值,将剩余可用资源不小于所述预设资源限值的从节点确定为候选从节点;确定剩余可用资源最大的候选从节点为所述目标从节点。
162.在一个实施例中,所述时间序列数据包括所述各个从节点在最近预设时长内各个时刻的资源使用情况,以及,每个所述从节点上各个已有容器集的资源使用情况。
163.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
164.根据所述各个从节点的资源使用情况,确定待迁移从节点和适配从节点;将所述待迁移从节点上部分或者全部容器集的内容迁移至所述适配从节点。
165.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
166.根据所述各个从节点的资源使用情况,确定适配从节点;根据所述从节点上的各个已有容器集的资源使用情况,确定待迁移容器集;将所述待迁移容器集的内容迁移至所
述适配从节点。
167.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
168.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
169.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献