资源配置方法、装置、通信设备及可读存储介质与流程



1.本发明涉及微服务技术领域,特别是指一种资源配置方法、装置、通信设备及可读存储介质。


背景技术:



2.kubernetes需要整体统筹平台资源使用情况、公平合理的将资源分配给相容器组(pod)中的容器使用,并且要保证容器生命周期内有足够的资源来保证其运行。与此同时,由于资源发放的独占性,即资源已经分配给了某容器,同样的资源不会在分配给其他容器,对于资源利用率相对较低的容器来说,占用资源却没有实际使用(比如cpu、内存)造成了严重的资源浪费,kubernetes需从优先级与公平性等角度综合考虑来提高资源的利用率。
3.为了在资源被有效调度和分配的同时提高资源利用率,kubernetes针对不同服务质量的预期,通过服务质量(quality of service,qos)来对pod进行服务质量管理,提供了个采用需求(requests)和限制(limits)两种类型对资源进行分配和使用限制。对于一个pod来说,服务质量体现在两个具体的指标:cpu与内存。实际过程中,当node节点上内存资源紧张时,kubernetes会根据qos的优先级对pod进行相应处理。同时kubernetes也通过提供pod水平自动伸缩(horizontal pod autoscaler,hpa)功能在资源使用率高峰和低谷的时候绑定部署方式(deployment)和复制集(replicaset)对象对pod进行水平缩放来进行削峰填谷,从而达到提高集的整体资源利用率的目的。
4.但是,kubernetes调度器在进行pod调度时,会根据容器设置的资源需求(resources requests)作为节点是否满足pod硬件资源要求的判断依据之一。对用户未能正确估量容器实际资源使用量而设置的不合理的resources requests会造成资源紧缺、资源碎片等问题。


技术实现要素:



5.本发明的目的是提供一种资源配置方法、装置、通信设备及可读存储介质,以解决目前在进行pod调度时存在资源紧缺、资源碎片等问题。
6.为达到上述目的,本发明的实施例提供一种资源配置方法,包括:
7.获取第一容器组pod在预设统计周期内的每个时间段的实际资源利用值;
8.根据第一pod在每个时间段的实际资源利用值与所配置的所述第一pod的资源需求值,确定所述第一pod在每个时间段的实际资源利用率;
9.根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,重新配置所述第一pod的资源需求值。
10.可选地,所述获取第一容器组pod在预设统计周期内的每个时间段的实际资源利用值,包括:
11.启动pod自动迁移组件;
12.通过所述pod自动迁移组件,在预设统计周期内对所述第一pod进行资源统计,得
到所述第一pod在每个时间段的实际资源利用值。
13.可选地,所述根据所述第一pod在每个时间段的实际资源利用值与所配置的第一pod的资源需求值,确定所述第一pod在每个时间段的实际资源利用率,包括:
14.计算所述第一pod在每个时间段的实际资源利用值与所配置的第一pod的资源需求值之间的比值;
15.根据所述比值,确定所述第一pod在每个时间段的实际资源利用率。
16.可选地,所述根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,重新配置所述第一pod的资源需求值,包括:
17.根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,确定所述第一pod在所述统计周期内的资源利用情况;
18.根据所述第一pod在所述统计周期内的资源利用情况,重新配置所述第一pod的资源需求值。
19.可选地,所述预设的资源利用率门限包括第一门限和第二门限,且所述第一门限低于所述第二门限;
20.所述根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,确定所述第一pod在所述统计周期内的资源利用情况,包括:
21.针对所述第一pod在每个时间段的实际资源利用率,若所述实际资源利用率低于所述第一门限,则将所述第一pod记录至待收缩资源队列并将所述第一pod对应的第一统计次数加1;若所述实际资源利用率高于所述第二门限,则将所述第一pod记录至待扩展资源队列并将所述第一pod对应的第二统计次数加1;
22.根据所述第一pod在所述统计周期内的第一统计次数总和以及所述第二统计次数总和,确定所述第一pod在所述统计周期内的资源利用情况;其中,所述资源利用情况为:所述第一pod在所述统计周期内的资源利用率低于所述第一门限,或者所述第一pod在所述统计周期内的资源利用率高于所述第二门限。
23.可选地,所述根据所述第一pod在所述统计周期内的资源利用情况,重新配置所述第一pod的资源需求值,包括:
24.若所述资源利用情况为所述第一pod在所述统计周期内的资源利用率低于所述第一门限,则对第一pod的资源需求值进行缩容处理,确定缩容后的第一pod资源需求值为重新配置的所述第一pod的资源需求值。
25.可选地,所述对第一pod的资源需求值进行缩容处理,确定缩容后的第一pod的资源需求值之后,还包括:
26.根据所述第一pod,创建第二pod;其中,所述第二pod的资源需求值配置与所述缩容后的第一pod的资源需求值相同;
27.根据所述第二pod的资源需求值,进行pod调度;
28.若调度成功,则删除所述第一pod;
29.若调度失败,则标记所述第一pod为不可自动迁移。
30.为达到上述目的,本发明的实施例提供一种资源配置,包括:
31.获取模块,用于获取第一容器组pod在预设统计周期内的每个时间段的实际资源利用值;
32.确定模块,用于根据第一pod在每个时间段的实际资源利用值与所配置的所述第一pod的资源需求值,确定所述第一pod在每个时间段的实际资源利用率;
33.配置模块,用于根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,重新配置所述第一pod的资源需求值。
34.可选地,所述获取模块包括:
35.启动单元,用于启动pod自动迁移组件;
36.获取单元,用于通过所述pod自动迁移组件,在预设统计周期内对所述第一pod进行资源统计,得到所述第一pod在每个时间段的实际资源利用值。
37.可选地,所述确定模块包括:
38.计算单元,用于计算所述第一pod在每个时间段的实际资源利用值与所配置的第一pod的资源需求值之间的比值;
39.第一确定单元,用于根据所述比值,确定所述第一pod在每个时间段的实际资源利用率。
40.可选地,所述配置模块包括:
41.第二确定单元,用于根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,确定所述第一pod在所述统计周期内的资源利用情况;
42.配置单元,用于根据所述第一pod在所述统计周期内的资源利用情况,重新配置所述第一pod的资源需求值。
43.可选地,所述预设的资源利用率门限包括第一门限和第二门限,且所述第一门限低于所述第二门限;
44.所述第二确定单元还用于:
45.针对所述第一pod在每个时间段的实际资源利用率,若所述实际资源利用率低于所述第一门限,则将所述第一pod记录至待收缩资源队列并将所述第一pod对应的第一统计次数加1;若所述实际资源利用率高于所述第二门限,则将所述第一pod记录至待扩展资源队列并将所述第一pod对应的第二统计次数加1;
46.根据所述第一pod在所述统计周期内的第一统计次数总和以及所述第二统计次数总和,确定所述第一pod在所述统计周期内的资源利用情况;其中,所述资源利用情况为:所述第一pod在所述统计周期内的资源利用率低于所述第一门限,或者所述第一pod在所述统计周期内的资源利用率高于所述第二门限。
47.可选地,所述配置单元还用于:
48.若所述资源利用情况为所述第一pod在所述统计周期内的资源利用率低于所述第一门限,则对第一pod的资源需求值进行缩容处理,确定缩容后的第一pod资源需求值为重新配置的所述第一pod的资源需求值。
49.可选地,所述资源配置装置还包括:
50.创建模块,用于对第一pod的资源需求值进行缩容处理,确定缩容后的第一pod的资源需求值之后,根据所述第一pod,创建第二pod;其中,所述第二pod的资源需求值配置与所述缩容后的第一pod的资源需求值相同;
51.调度模块,用于根据所述第二pod的资源需求值,进行pod调度;
52.删除模块,用于若调度成功,则删除所述第一pod;
53.标记模块,用于若调度失败,则标记所述第一pod为不可自动迁移。
54.为达到上述目的,本发明的实施例提供一种通信设备,包括收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;所述处理器执行所程序或指令时实现如上所述的资源配置方法中的步骤。
55.为达到上述目的,本发明的实施例提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的资源配置方法中的步骤。
56.本发明的上述技术方案的有益效果如下:
57.本发明实施例通过获取第一容器组pod在预设统计周期内的每个时间段的实际资源利用值;根据第一pod在每个时间段的实际资源利用值与所配置的所述第一pod的资源需求值,确定所述第一pod在每个时间段的实际资源利用率;根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,重新配置所述第一pod的资源需求值。这样可以根据重新配置的第一pod的资源需求值进行pod调度,从而解决了目前由于容器实际资源利用值与配置值设置的不合理,而造成资源紧缺、资源碎片等问题。
附图说明
58.图1为本发明实施例的资源配置方法的流程图;
59.图2为本发明实施例的资源配置技术的架构图;
60.图3为本发明实施例的资源配置装置的框图;
61.图4为本发明实施例的通信设备的框图。
具体实施方式
62.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
63.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
64.在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
65.另外,本文中术语“系统”和“网络”在本文中常可互换使用。
66.在本技术所提供的实施例中,应理解,“与a相应的b”表示b与a相关联,根据a可以确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
67.本发明实施例涉及的kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,kubernetes的目标是让部署容器化的应用简单并且高效,kubernetes提供了应用部署、规划、更新、维护的一种机制。
68.hpa是kubernetes(简称k8s)的一种资源对象,能够根据某些指标对在statefulset、replicacontroller、replicaset等集合中的pod数量进行动态伸缩,使运行
在上面的服务对指标的变化有一定的自适应能力。
69.为了解决kubernetes根据容器设置的resources requests判断节点是否满足调度条件及kubernetes hpa机制造成的资源碎片、资源浪费等问题,本发明实施例主要通过以容器资源的实际使用率为参考,将pod进行合理调度从而对集资源进行重新分配,达到集资源合理分配利用的目的。
70.如图1所示,本发明实施例的一种资源配置方法,包括:
71.步骤11:获取第一容器组pod在预设统计周期内的每个时间段的实际资源利用值。
72.步骤12:根据第一pod在每个时间段的实际资源利用值与所配置的所述第一pod的资源需求值,确定所述第一pod在每个时间段的实际资源利用率。
73.步骤13:根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,重新配置所述第一pod的资源需求值。
74.上述方案中,通过获取第一容器组pod在预设统计周期内的每个时间段的实际资源利用值;根据第一pod在每个时间段的实际资源利用值与所配置的所述第一pod的资源需求值,确定所述第一pod在每个时间段的实际资源利用率;根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,重新配置所述第一pod的资源需求值。这样可以根据重新配置的第一pod的资源需求值进行pod调度,从而解决了目前由于容器实际资源利用值与配置值设置的不合理,而造成资源紧缺、资源碎片等问题。
75.例如:容器配置resources requests内存(memory)设置为60mi,而对于候选节点node1中只有50mi内存资源则该pod将无法调度到该节点上,但该容器对应内存资源实际的使用率却从未超过50mi,实际上就造成用户因为设置不合理的资源限制导致node1上的50mi的内存碎片。
76.在本发明实施例中通过对pod的实时使用资源进行监控(即获取第一容器组pod在预设统计周期内的每个时间段的实际资源利用值),在一个循环周期内对pod的实际资源使用率进行评估,从而根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限(如判断pod的资源使用率为超过配置的资源最小实际使用率),对pod的资源限制进行修改,将pod的resources requests中memory重新设置为50mi,然后重新调度到node1上保证节点资源最大化利用。
77.可选地,预先定义一个新的kubernetes资源类型为:pod自动迁移(podautomigrate),其中该资源允许用户为所有命名空间统一指定pod自动迁移规则。
78.例如:通过规范pod自动迁移同步周期(spec.podautomigratesyncperiod)字段指定资源统计周期(如默认30秒,也可以理解为采集pod的实际资源利用值的采集间隔);通过规范pod自动迁移时间(spec.podautomigratetime)字段指定可迁移pod统一自动迁移时间(如默认凌晨两点);通过规范度量资源名称(spec.metrics.resource.name)字段指定监听的资源类型;通过规范度量资源最低利用率百分比(spec.metrics.resourc.minutilizationpercentage)字段指定资源最小实际使用率;通过规范度量资源最高利用率百分比(spec.metrics.resourc.maxinutilizationpercentage)字段指定最大实际使用率;通过规范指标资源规模百分比(spec.metrics.resourc.scalepercentage)字段指定可调整资源限制的比率。
79.该实施例通过提供必要的启动参数配置及自定义的迁移规则对象,可以为用户提
供更多的配置选择。
80.如图2所示,提供了一种资源配置技术的架构图,以下结合图2对本发明实施例的上述方法进行说明:
81.可选地,所述获取第一容器组pod在预设统计周期内的每个时间段的实际资源利用值,包括:
82.启动pod自动迁移(pod automigrate)组件;
83.通过所述pod自动迁移组件,在预设统计周期内对所述第一pod进行资源统计,得到所述第一pod在每个时间段的实际资源利用值。
84.例如:在控制管理器(controller-manager)中启动pod automigrate组件。可选地,本方案中为是否开启pod automigrate功能还定义了一个pod自动迁移启动(pod-automigrate-start)的属性配置,如用户在开启该功能时,需在controller-manager服务启动参数配置pod-automigrate-start=true,默认为未启动该功能。
85.在启动pod automigrate组件的情况下,pod automigrate组件可以从一系列聚合的资源度量(resource metrices)应用程序编辑接口(application programming interface,api)中获取podautomigrate指定的pod指标数据。在每个资源统计周期内(如24小时为一个周期),按照podautomigrate资源中配置的podautomigratesyncperiod(如默认是30s,即每个时间段为30s)进行资源统计。
86.可选地,所述根据所述第一pod在每个时间段的实际资源利用值与所配置的第一pod的资源需求值,确定所述第一pod在每个时间段的实际资源利用率,包括:计算所述第一pod在每个时间段的实际资源利用值与所配置的第一pod的资源需求值之间的比值;根据所述比值,确定所述第一pod在每个时间段的实际资源利用率。
87.可选地,所述根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,重新配置所述第一pod的资源需求值,包括:
88.根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,确定所述第一pod在所述统计周期内的资源利用情况;
89.根据所述第一pod在所述统计周期内的资源利用情况,重新配置所述第一pod的资源需求值。
90.具体的,所述预设的资源利用率门限包括第一门限和第二门限,且所述第一门限低于所述第二门限;所述根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,确定所述第一pod在所述统计周期内的资源利用情况,包括:
91.针对所述第一pod在每个时间段的实际资源利用率,若所述实际资源利用率低于所述第一门限,则将所述第一pod记录至待收缩资源队列并将所述第一pod对应的第一统计次数加1;若所述实际资源利用率高于所述第二门限,则将所述第一pod记录至待扩展资源队列并将所述第一pod对应的第二统计次数加1;
92.根据所述第一pod在所述统计周期内的第一统计次数总和以及所述第二统计次数总和,确定所述第一pod在所述统计周期内的资源利用情况;其中,所述资源利用情况为:所述第一pod在所述统计周期内的资源利用率低于所述第一门限,或者所述第一pod在所述统计周期内的资源利用率高于所述第二门限。
93.例如:通过pod automigrate组件对统计的资源数据进行处理,pod automigrate
组件由一个控制循环实现,该循环周期是:由podautomigrate中的spec.podautomigratetime字段定义的时间起的一天,即24小时;在每个周期内,具体步骤如下:
94.在controller manager中定义两个pod待重新调度的队列:待扩展资源队列和待收缩资源队列;其中,待扩展资源队列用于存放待扩展资源的pod,待收缩资源队列用于存放待收缩资源的pod;
95.controller manager从resource metric api(每个pod的resource metric)获取度量(metric);在获取到对应资源指标的数据后,controller manager计算出实际资源利用的值与每个pod的容器里的resource request值的百分比(即所述第一pod在每个时间段的实际资源利用率);
96.用所计算出来的百分比(即所述第一pod在每个时间段的实际资源利用率)与podautomigrate中spec.metrics.resourc.minutilizationpercentage字段定义的资源最小实际使用率(minutilizationpercentage),即第一门限,以及spec.metrics.resourc.maxinutilizationpercentage字段定义的资源最大实际使用率(maxutilizationpercentage),即第二门限,进行比较;若低于资源最小实际使用率,则将该pod移入待收缩资源队列并记录次数,若超出资源最大实际使用率,则将该pod移入待扩展资源队列中并记录次数;
97.整个周期即24小时统计后即可得到该pod实际使用率是否低于或超过podautomigrate定义的最小或最大资源实际使用百分比的一个数据统计。
98.可选地,所述根据所述第一pod在所述统计周期内的资源利用情况,重新配置所述第一pod的资源需求值,包括:
99.若所述资源利用情况为所述第一pod在所述统计周期内的资源利用率低于所述第一门限,则对第一pod的资源需求值进行缩容处理,确定缩容后的第一pod资源需求值为重新配置的所述第一pod的资源需求值。
100.可选地,pod automigrate组件按照待调度队列pod的出现频度对资源限制进行重新配置。比如在原始的pod资源限制中配置内存的requests为100mi,在podautomigrate中spec.metrics.resourc.minutilizationpercentage字段定义的minutilizationpercentage为80mi,在spec.metrics.resourc.scalepercentage字段定义的比率(scalepercentage)为15。若在一个循环周期后,pod对内存的实际使用率一直未超过设置的requests的80%,则可对第一pod的资源需求值进行缩容处理,即重新配置所述第一pod的资源需求值,如按照spec.metrics.resourc.scalepercentage字段定义的15%的收缩比率将该pod的requests修改为85mi。
101.可选地,所述对第一pod的资源需求值进行缩容处理,确定缩容后的第一pod的资源需求值之后,还包括:
102.根据所述第一pod,创建第二pod;其中,所述第二pod的资源需求值配置与所述缩容后的第一pod的资源需求值相同;
103.根据所述第二pod的资源需求值,进行pod调度;
104.若调度成功,则删除所述第一pod;
105.若调度失败,则标记所述第一pod为不可自动迁移。
106.例如:在确定需要进行缩容处理的情况下,针对需要进行缩容处理的第一pod,可以复制一个副本得到副本pod(即第二pod),并将副本pod的资源限制进行修改,如参照上述实施例可以按照spec.metrics.resourc.scalepercentage字段定义的15%的收缩比率将副本pod的requests修改为85mi。
107.调度器(scheduler)可以根据副本pod的资源限制进行调度;若调度成功,则删除旧的pod(即删除第一pod);若调度失败,则标记该第一pod不可自动迁移。相应的,在所述资源利用情况为所述第一pod在所述统计周期内的资源利用率高于所述第二门限时的扩容处理以及相应的调度方法,与上述缩容处理及其调度方法类似,这里不再赘述。这样,通过对一个循环周期内的待扩展资源和待收缩资源的pod队列进行pod资源限制的重新规划及调度,完成节点资源的合理分配。并且通过本方案中对pod进行合理的调度迁移,保证了集整体资源不必要的资源浪费及资源碎片化,提高资源的合理利用率。
108.如图3所示,本发明实施例提供一种资源配置装置300,包括:
109.获取模块310,用于获取第一容器组pod在预设统计周期内的每个时间段的实际资源利用值;
110.确定模块320,用于根据第一pod在每个时间段的实际资源利用值与所配置的所述第一pod的资源需求值,确定所述第一pod在每个时间段的实际资源利用率;
111.配置模块330,用于根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,重新配置所述第一pod的资源需求值。
112.可选地,所述获取模块310包括:
113.启动单元,用于启动pod自动迁移组件;
114.获取单元,用于通过所述pod自动迁移组件,在预设统计周期内对所述第一pod进行资源统计,得到所述第一pod在每个时间段的实际资源利用值。
115.可选地,所述确定模块320包括:
116.计算单元,用于计算所述第一pod在每个时间段的实际资源利用值与所配置的第一pod的资源需求值之间的比值;
117.第一确定单元,用于根据所述比值,确定所述第一pod在每个时间段的实际资源利用率。
118.可选地,所述配置模块330包括:
119.第二确定单元,用于根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,确定所述第一pod在所述统计周期内的资源利用情况;
120.配置单元,用于根据所述第一pod在所述统计周期内的资源利用情况,重新配置所述第一pod的资源需求值。
121.可选地,所述预设的资源利用率门限包括第一门限和第二门限,且所述第一门限低于所述第二门限;
122.所述第二确定单元还用于:
123.针对所述第一pod在每个时间段的实际资源利用率,若所述实际资源利用率低于所述第一门限,则将所述第一pod记录至待收缩资源队列并将所述第一pod对应的第一统计次数加1;若所述实际资源利用率高于所述第二门限,则将所述第一pod记录至待扩展资源队列并将所述第一pod对应的第二统计次数加1;
124.根据所述第一pod在所述统计周期内的第一统计次数总和以及所述第二统计次数总和,确定所述第一pod在所述统计周期内的资源利用情况;其中,所述资源利用情况为:所述第一pod在所述统计周期内的资源利用率低于所述第一门限,或者所述第一pod在所述统计周期内的资源利用率高于所述第二门限。
125.可选地,所述配置单元还用于:
126.若所述资源利用情况为所述第一pod在所述统计周期内的资源利用率低于所述第一门限,则对第一pod的资源需求值进行缩容处理,确定缩容后的第一pod资源需求值为重新配置的所述第一pod的资源需求值。
127.可选地,所述资源配置装置300还包括:
128.创建模块,用于对第一pod的资源需求值进行缩容处理,确定缩容后的第一pod的资源需求值之后,根据所述第一pod,创建第二pod;其中,所述第二pod的资源需求值配置与所述缩容后的第一pod的资源需求值相同;
129.调度模块,用于根据所述第二pod的资源需求值,进行pod调度;
130.删除模块,用于若调度成功,则删除所述第一pod;
131.标记模块,用于若调度失败,则标记所述第一pod为不可自动迁移。
132.该实施例的资源配置装置300,通过获取第一容器组pod在预设统计周期内的每个时间段的实际资源利用值;根据第一pod在每个时间段的实际资源利用值与所配置的所述第一pod的资源需求值,确定所述第一pod在每个时间段的实际资源利用率;根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,重新配置所述第一pod的资源需求值。这样可以根据重新配置的第一pod的资源需求值进行pod调度,从而解决了目前由于容器实际资源利用值与配置值设置的不合理,而造成资源紧缺、资源碎片等问题。
133.本发明实施例的通信设备,如图4所示,包括收发器410、处理器400、存储器420及存储在所述存储器420上并可在所述处理器400上运行的程序或指令;所述处理器400执行所述程序或指令时实现上述资源配置方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
134.所述收发器410,用于在处理器400的控制下接收和发送数据。
135.其中,在图4中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器400代表的一个或多个处理器和存储器420代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器410可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器400负责管理总线架构和通常的处理,存储器420可以存储处理器400在执行操作时所使用的数据。
136.本发明实施例的一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的资源配置方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
137.其中,所述处理器为上述实施例中所述的通信设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
138.进一步需要说明的是,此说明书中所描述的终端包括但不限于智能手机、平板电脑等,且所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
139.本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
140.实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
141.在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(vlsi)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
142.上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
143.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术特征:


1.一种资源配置方法,其特征在于,包括:获取第一容器组pod在预设统计周期内的每个时间段的实际资源利用值;根据第一pod在每个时间段的实际资源利用值与所配置的所述第一pod的资源需求值,确定所述第一pod在每个时间段的实际资源利用率;根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,重新配置所述第一pod的资源需求值。2.根据权利要求1所述的资源配置方法,其特征在于,所述获取第一容器组pod在预设统计周期内的每个时间段的实际资源利用值,包括:启动pod自动迁移组件;通过所述pod自动迁移组件,在预设统计周期内对所述第一pod进行资源统计,得到所述第一pod在每个时间段的实际资源利用值。3.根据权利要求1所述的资源配置方法,其特征在于,所述根据所述第一pod在每个时间段的实际资源利用值与所配置的第一pod的资源需求值,确定所述第一pod在每个时间段的实际资源利用率,包括:计算所述第一pod在每个时间段的实际资源利用值与所配置的第一pod的资源需求值之间的比值;根据所述比值,确定所述第一pod在每个时间段的实际资源利用率。4.根据权利要求1所述的资源配置方法,其特征在于,所述根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,重新配置所述第一pod的资源需求值,包括:根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,确定所述第一pod在所述统计周期内的资源利用情况;根据所述第一pod在所述统计周期内的资源利用情况,重新配置所述第一pod的资源需求值。5.根据权利要求4所述的资源配置方法,其特征在于,所述预设的资源利用率门限包括第一门限和第二门限,且所述第一门限低于所述第二门限;所述根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,确定所述第一pod在所述统计周期内的资源利用情况,包括:针对所述第一pod在每个时间段的实际资源利用率,若所述实际资源利用率低于所述第一门限,则将所述第一pod记录至待收缩资源队列并将所述第一pod对应的第一统计次数加1;若所述实际资源利用率高于所述第二门限,则将所述第一pod记录至待扩展资源队列并将所述第一pod对应的第二统计次数加1;根据所述第一pod在所述统计周期内的第一统计次数总和以及所述第二统计次数总和,确定所述第一pod在所述统计周期内的资源利用情况;其中,所述资源利用情况为:所述第一pod在所述统计周期内的资源利用率低于所述第一门限,或者所述第一pod在所述统计周期内的资源利用率高于所述第二门限。6.根据权利要求5所述的资源配置方法,其特征在于,所述根据所述第一pod在所述统计周期内的资源利用情况,重新配置所述第一pod的资源需求值,包括:若所述资源利用情况为所述第一pod在所述统计周期内的资源利用率低于所述第一门
限,则对第一pod的资源需求值进行缩容处理,确定缩容后的第一pod资源需求值为重新配置的所述第一pod的资源需求值。7.根据权利要求6所述的资源配置方法,其特征在于,所述对第一pod的资源需求值进行缩容处理,确定缩容后的第一pod的资源需求值之后,还包括:根据所述第一pod,创建第二pod;其中,所述第二pod的资源需求值配置与所述缩容后的第一pod的资源需求值相同;根据所述第二pod的资源需求值,进行pod调度;若调度成功,则删除所述第一pod;若调度失败,则标记所述第一pod为不可自动迁移。8.一种资源配置,其特征在于,包括:获取模块,用于获取第一容器组pod在预设统计周期内的每个时间段的实际资源利用值;确定模块,用于根据第一pod在每个时间段的实际资源利用值与所配置的所述第一pod的资源需求值,确定所述第一pod在每个时间段的实际资源利用率;配置模块,用于根据所述第一pod在每个时间段的实际资源利用率与预设的资源利用率门限,重新配置所述第一pod的资源需求值。9.一种通信设备,包括:收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;其特征在于,所述处理器执行所述程序或指令时实现如权利要求1-7中任一项所述的资源配置方法中的步骤。10.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1-7中任一项所述的资源配置方法中的步骤。

技术总结


本发明提供一种资源配置方法、装置、通信设备及可读存储介质,涉及微服务技术领域。该方法包括:获取第一容器组Pod在预设统计周期内的每个时间段的实际资源利用值;根据第一Pod在每个时间段的实际资源利用值与所配置的所述第一Pod的资源需求值,确定所述第一Pod在每个时间段的实际资源利用率;根据所述第一Pod在每个时间段的实际资源利用率与预设的资源利用率门限,重新配置所述第一Pod的资源需求值。本发明的方案能够解决目前在进行Pod调度时存在资源紧缺、资源碎片等问题。资源碎片等问题。资源碎片等问题。


技术研发人员:

张首锋

受保护的技术使用者:

中国移动通信集团有限公司

技术研发日:

2021.06.07

技术公布日:

2022/12/22

本文发布于:2024-09-21 18:59:38,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/45346.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   资源   门限   时间段
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议