本说明书涉及计算机,尤其涉及一种容器管理系统的扩容缩容方法、装置、介质及设备。
背景技术:
1、近年来,随着计算机技术的发展,为了管理云平台中多个主机的容器化应用,谷歌开发了一种容器管理系统,即kubernetes,简称k8s。
2、而在k8s中,服务是以容器的形式部署在容器管理系统中的,往往是通过部署脚本,为一个服务部署固定数量的容器。而各服务在运行过程中,接收到的业务流量大小会随时间动态变化,即流量较大的服务需要更多容器,流量较小的服务需要更少容器,而k8s不能根据服务接收流量大小动态调整服务容器个数。往往导致了k8s中服务对应的容器以及对应的容器资源分配不均,进而导致了k8s的资源利用效率偏低。
3、为此,本说明书提供了一种容器管理系统的扩容缩容方法。
技术实现思路
1、本说明书提供一种容器管理系统的扩容缩容方法、装置、介质及设备,以部分解决现有技术存在的上述问题。
2、本说明书采用下述技术方案:
3、一种容器管理系统的扩容缩容方法,包括:
4、响应于接收到的调整请求,确定所述调整请求调度的包括具体服务在内的服务部署信息以及资源占用信息;
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、请求响应模块,响应于接收到的调整请求,确定所述调整请求调度的包括具体服务在内的服务部署信息以及资源占用信息;
43、信息确认模块,根据所述服务部署信息以及所述资源占用信息,确定当前所述服务的负载信息,并根据所述负载信息,确定所述服务的当前资源使用率,以及获取所述服务的标准资源使用率;
44、容器计算模块,根据所述负载信息、所述服务的当前资源使用率以及所述标准资源使用率,确定所述服务的容器调整数量;
45、资源计算模块,根据所述服务的容器调整数量、所述负载信息以及空闲资源,确定所述服务的调整资源,输出该扩容服务或缩容服务以及其对应的所述调整资源;
46、调整执行模块,根据所述扩容服务或缩容服务、所述服务对应的所述调整容器数量以及所述服务对应的所述调整资源,对该扩容服务或缩容服务进行对应扩容或缩容。
47、本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现容器管理系统的扩容缩容方法。
48、本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现容器管理系统的扩容缩容方法。
49、本说明书采用的上述至少一个技术方案能够达到以下有益效果:
50、通过响应于调整请求,确定调整请求调度的包括具体信息。并根据具体信息,确定当前服务的负载信息。再根据负载信息及衍生信息,确定服务的容器调整数量。然后根据服务的容器调整数量、负载信息以及空闲资源,确定该扩容服务或缩容服务以及其对应的调整资源。最后,根据扩容服务或缩容服务以及服务对应的调整容器数量以及服务对应的调整资源,进行调整。
51、通过确认请求具体信息,计算负载信息以及对应的容器调整数量,再根据负载信息、容器调整数量以及空闲资源,确定扩容服务或缩容服务以及其对应的调整资源的方法,使k8s容器管理系统可根据空闲资源确定扩容服务或缩容服务以及其对应的调整资源,并对对应服务进行扩容或缩容,提高了容器管理系统的资源利用效率。