CN114780170B - 容器资源的配置方法、装置、设备及存储介质 - Google Patents
容器资源的配置方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114780170B CN114780170B CN202210376622.9A CN202210376622A CN114780170B CN 114780170 B CN114780170 B CN 114780170B CN 202210376622 A CN202210376622 A CN 202210376622A CN 114780170 B CN114780170 B CN 114780170B
- Authority
- CN
- China
- Prior art keywords
- resource
- historical
- deployment unit
- resource configuration
- container deployment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000008569 process Effects 0.000 claims abstract description 27
- 230000004044 response Effects 0.000 claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims description 17
- 239000000758 substrate Substances 0.000 claims 1
- 238000013461 design Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000013468 resource allocation Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种容器资源的配置方法、装置、设备及存储介质,计算机技术领域。所述方法包括:获取容器部署单元的历史运行信息以及历史资源配置,历史运行信息用于反映容器部署单元在历史时段内运行消耗运行资源的情况;根据历史运行信息以及历史资源配置确定容器部署单元的建议资源配置;响应于容器部署单元的创建实例请求,将建议资源配置确定为容器部署单元的资源配置。本申请能够实现根据容器部署单元的历史运行情况,自动计算容器部署单元的资源配置并配置给相应的容器部署单元。在此过程中无需人工进行配置,提高了配置运行资源的效率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种容器资源的配置方法、装置、设备及存储介质。
背景技术
容器技术是云计算中应用的主要技术之一。提供服务的系统可以将用于提供服务的程序部署在容器中,再将容器部署在系统的不同节点中,从而能够实现系统中服务的分布式部署。针对容器的运行以及资源调度,需要对容器进行运行资源的配置。
库伯内茨(Kubernetes,K8s)系统能够对容器集群进行管理。K8s系统能够在容器部署单元(Pod)中部署一个或多个容器。Pod对应有资源配置,资源配置包括请求运行资源以及运行资源限制。K8s系统基于Pod的资源配置,能够根据请求运行资源将Pod调度至系统中的某一节点(节点的剩余运行资源需大于请求运行资源),以及在部署Pod的节点中根据Pod的运行资源限制管理Pod的运行(Pod运行时消耗的运行资源不大于运行资源限制)。
在K8s系统中,Pod的资源配置是人工设置的,存在配置运行资源的效率较低的问题。
发明内容
本申请提供了一种容器资源的配置方法、装置、设备及存储介质,可以提高配置运行资源的效率。所述技术方案如下:
根据本申请的一方面,提供了一种容器资源的配置方法,所述方法包括:
获取容器部署单元的历史运行信息以及历史资源配置,所述历史运行信息用于反映所述容器部署单元在历史时段内运行消耗运行资源的情况;
根据所述历史运行信息以及所述历史资源配置确定所述容器部署单元的建议资源配置;
响应于所述容器部署单元的创建实例请求,将所述建议资源配置确定为所述容器部署单元的资源配置。
根据本申请的另一方面,提供了一种容器资源的配置装置,所述装置包括:
获取模块,用于获取容器部署单元的历史运行信息以及历史资源配置,所述历史运行信息用于反映所述容器部署单元在历史时段内运行消耗运行资源的情况;
确定模块,用于根据所述历史运行信息以及所述历史资源配置确定所述容器部署单元的建议资源配置;
所述确定模块,还用于响应于所述容器部署单元的创建实例请求,将所述建议资源配置确定为所述容器部署单元的资源配置。
在一个可选的设计中,所述历史运行信息包括如下至少之一:
所述容器部署单元在所述历史时段内运行的平均资源消耗;
所述容器部署单元在运行过程中是否出现过内存溢出。
在一个可选的设计中,所述建议资源配置包括建议请求运行资源,所述历史资源配置包括第一历史运行资源限制;所述确定模块,用于:
根据所述平均资源消耗以及所述第一历史运行资源限制确定所述建议请求运行资源。
在一个可选的设计中,所述确定模块,用于:
根据如下公式确定所述建议请求运行资源:
currentSuggest.request=max{avg*(1+buffer),maxResource};
其中,currentSuggest.request为所述建议请求运行资源,avg为所述平均资源消耗,buffer为预留资源比例,maxResource为所述第一历史运行资源限制。
在一个可选的设计中,所述建议资源配置包括建议运行资源限制,所述历史资源配置包括第一历史运行资源限制;所述获取模块,用于:
根据所述容器部署单元的历史创建实例请求获取所述容器部署单元的第二历史运行资源限制,所述第二历史运行资源限制属于所述历史资源配置之前的资源配置;
所述确定模块,用于:
根据所述容器部署单元在运行过程中是否出现过内存溢出、所述第一历史运行资源限制以及所述第二历史运行资源限制,确定所述建议运行资源限制。
在一个可选的设计中,所述确定模块,用于:
根据如下公式确定所述建议运行资源限制:
currentSuggest.limits=max{LastResource*(1+buffer*lastOomStatus),maxResource};
其中,currentSuggest.limits为所述建议运行资源限制,LastResource为所述第二历史运行资源限制,buffer为预留资源比例,lastOomStatus的取值是根据所述容器部署单元在运行过程中是否出现过内存溢出确定的,maxResource为所述第一历史运行资源限制。
在一个可选的设计中,在所述容器部署单元在运行过程中出现过内存溢出的情况下,lastOomStatus的取值为1;
在所述容器部署单元在运行过程中未出现过内存溢出的情况下,lastOomStatus的取值为0。
在一个可选的设计中,所述历史时段包括至少两个子时段;所述确定模块,用于:
根据目标子时段下的历史运行信息以及所述历史资源配置,确定所述容器部署单元在目标时段的建议资源配置;
其中,所述目标子时段是所述目标时段在所述至少两个子时段中对应的时段。
在一个可选的设计中,所述获取模块,用于:
通过监控组件监控所述历史运行信息;
通过资源控制器获取所述监控组件监控的所述历史运行信息;
通过所述资源控制器,根据所述容器部署单元的历史创建实例请求获取所述历史资源配置。
在一个可选的设计中,所述确定模块,用于:
通过所述资源控制器根据所述历史运行信息以及所述历史资源配置确定所述建议资源配置;
通过所述资源控制器将所述建议资源配置写入所述容器部署单元对应的自定义资源定义中。
在一个可选的设计中,所述确定模块,用于:
响应于所述创建实例请求,通过所述资源控制器从所述容器部署单元对应的自定义资源定义中获取所述建议资源配置;
通过所述资源控制器将所述建议资源配置确定为所述容器部署单元的资源配置。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的容器资源的配置方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的容器资源的配置方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的容器资源的配置方法。
本申请提供的技术方案带来的有益效果至少包括:
通过根据容器部署单元的历史运行信息以及历史资源配置,确定容器部署单元的建议资源配置。在容器部署单元创建实例时,获取已确定的容器部署单元的建议资源配置,并将其确定为容器部署单元当前的资源配置,从而实现根据容器部署单元的历史运行情况,自动计算容器部署单元的资源配置并配置给相应的容器部署单元。在此过程中无需人工进行配置,提高了配置运行资源的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的计算机系统的结构示意图;
图2是本申请一个示例性实施例提供的资源调度系统对容器部署单元进行资源配置的过程的示意图;
图3是本申请一个示例性实施例提供的容器资源的配置方法的流程示意图;
图4是本申请一个示例性实施例提供的容器资源的配置方法的流程示意图;
图5是本申请一个示例性实施例提供的容器资源的配置装置的结构示意图;
图6是本申请一个示例性实施例提供的计算机设备的结构示意图。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请一个示例性实施例提供的计算机系统的结构示意图。如图1所示,该计算机系统100中包括主节点101以及子节点102a-102c(统称为子节点102)。
主节点101可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心中的虚拟服务器等。主节点101安装有能够进行资源调度的系统,例如为Kubernetes系统。主节点101中还能够运行有提供服务的程序。主节点101通过安装的能够实现资源调度的系统,基于资源调度请求能够确定新增的服务部署在哪一个子节点102中,以实现资源调度。主节点101和子节点102之间可以通过有线网络或无线网络建立连接。
子节点102可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心中的虚拟服务器等。当主节点101通过Kubernetes系统管理子节点102时,子节点102中能够部署容器部署单元,容器部署单元中能够部署一个或多个容器,容器中运行有程序以提供服务。
示例性的,计算机系统100中能够包括多个主节点101,以实现管理容器集群。其中每个主节点101管理系统中的一部分子节点102,每个主节点101还能够对应有备用的主节点。需要说明的是,上述计算机系统100中主节点101的数量以及子节点102的数量仅用作示意,不作为对本申请实施例提供的计算机系统100的限制。
图2是本申请一个示例性实施例提供的资源调度系统对容器部署单元进行资源配置的过程的示意图。如图2所示,在确定容器部署单元206的建议资源配置的阶段,资源控制器201会获取监控组件202的监控服务监控的容器部署单元206的历史运行信息,以及根据容器部署单元206的历史创建实例请求,获取容器部署单元206的第二历史运行资源限制以及历史资源配置。其中,历史资源配置包括第一历史运行资源限制,第二历史运行资源限制属于容器部署单元在历史资源配置之前的资源配置。由于容器部署单元206的历史创建实例请求,能够包括容器部署单元206在发出历史创建实例请求时的信息,以及发出历史创建实例请求之前多次创建实例时的信息,因此资源控制器201能够根据历史创建实例请求获取到上述信息。在获取到上述信息后,资源控制器201会根据历史运行信息以及第一历史运行资源限制确定建议资源配置中的建议请求运行资源。根据历史运行信息、第一历史运行资源限制以及第二历史运行资源限制确定建议资源配置中的建议运行资源限制。之后资源控制器201会将建议资源配置写入容器部署单元206对应的自定义资源定义(CustomResource Definition,CRD)中,该CRD会通过接口服务203存储至分布式键值对存储系统(Etcd)204中。可选地,资源控制器201会定期执行上述方法,以实现根据容器部署单元206近期的运行情况更新建议资源配置。
在修改容器部署单元206的资源配置的阶段,响应于容器部署单元206的创建实例请求,资源控制器201会通过接口服务203获取该创建实例请求,从而确定需要创建实例的容器部署单元206,并通过接口服务203从分布式键值对存储系统204中,根据容器部署单元206对应的CRD获取容器部署单元206对应的建议资源配置,并通过接口服务203将建议资源配置确定为容器部署单元206的资源配置。之后控制器205根据修改后的资源配置,对容器部署单元206进行创建实例。
示例性的,上述资源调度系统为Kubernetes系统,监控组件为普罗米修斯(Prometheus),监控服务为度量服务(Metric Server),接口服务为应用程序接口服务(Application Programming Interface Server,API Server),容器部署单元为Kubernetes系统中的Pod。
资源控制器根据获取的容器部署单元的历史运行信息以及历史资源配置,能够确定容器部署单元的建议资源配置。在容器部署单元创建实例时,资源控制器能够获取已确定的容器部署单元的建议资源配置,并将其确定为容器部署单元当前的资源配置,从而实现根据容器部署单元的历史运行情况,自动计算容器部署单元的资源配置并配置给相应的容器部署单元。在此过程中无需人工进行配置,提高了配置运行资源的效率。
图3是本申请一个示例性实施例提供的容器资源的配置方法的流程示意图。该方法可以用于如图1所示的系统中主节点或主节点上运行的资源调度系统。如图3所示,该方法包括:
步骤302:获取容器部署单元的历史运行信息以及历史资源配置。
该容器部署单元中能够部署有一个或多个容器(container),容器中运行有程序,程序能够提供服务和功能。通常情况下,容器部署单元部署的容器中的程序,都属于同一个应用。不同容器中的程序,能够组合提供一类服务和功能。从而,容器部署单元的各容器提供的服务和功能,形成应用能够提供的服务和功能。
容器部署单元会被部署在系统的节点中运行。示例地,该系统为如图1所示的计算机系统,容器部署单元能够被部署在主节点中运行,也能够被部署在子节点中运行。在运行的过程中,容器部署单元中的程序会消耗运行资源。可选地,该运行资源包括处理器资源以及内存资源,例如包括中央处理器(Central Processing Unit,CPU)资源以及随机存取存储器(Random Access Memory,RAM)资源。程序在节点中运行会消耗运行资源,例如节点中运行有程序1和程序2,程序1消耗1C(1Core,一个CPU核心)处理器资源和16G内存资源,程序2消耗2C处理器资源和4G内存资源。
容器部署单元的历史运行信息用于反映容器部署单元在历史时段内运行消耗运行资源的情况。该历史时段是从历史时刻至获取历史运行信息的时刻的时段,历史时段是资源调度系统确定的,可选地,该历史时段能够包括至少两个子时段,历史运行信息包括容器部署单元在不同子时段下运行消耗运行资源的情况。
容器部署单元在创建实例时,会被配置有其对应的资源配置,该资源配置包括请求运行资源以及运行资源限制。其中,创建实例指容器部署单元需要被调度至某一节点中进行运行。在完成运行后,资源调度系统会将容器部署单元销毁。资源调度系统根据容器部署单元的请求运行资源能够将容器部署单元调度至满足请求运行资源要求的节点中运行。在运行的过程中,资源调度系统会根据容器部署单元的运行资源限制管理容器部署单元的运行。具体的,容器部署单元运行时消耗的运行资源不大于运行资源限制。容器部署单元的历史资源配置是容器部署单元在历史时段运行时对应的资源配置。在历史时段内,容器部署单元能够多次创建实例。可选地,该资源配置是容器部署单元在历史时段内最近一次的资源配置。
示例性的,资源调度系统为K8s系统,容器部署单元为K8s系统中的Pod。K8s系统通过Metric Server能够监控Pod的运行信息。K8s系统通过资源控制器,能够从MetricServer获取到Pod的历史运行信息。在K8s系统的API Server接收到Pod的创建实例请求时,通过修改插件能够获取到创建实例请求中Pod的元数据,Pod的元数据中包括Pod本次创建实例请求对应的资源配置以及Pod在过去创建实例请求中对应的资源配置。资源控制器通过修改插件即可获取到Pod的历史资源配置。该历史资源配置能够指Pod本次创建实例请求对应的资源配置。通过上述方式,资源控制器能够获取到Pod的历史运行信息以及历史资源配置。上述修改插件是具有获取API Server收发的信息以及修改收发的信息功能的插件,例如能够为转换准入网络钩子(Mutating Admission Webhook)。
步骤304:根据历史运行信息以及历史资源配置确定容器部署单元的建议资源配置。
该建议资源配置包括建议请求运行资源以及建议运行资源限制。资源调度系统获取的容器部署单元的历史运行信息能够包括容器部署单元在历史时段内运行的平均资源消耗,以及容器部署单元在运行过程中是否出现过内存溢出中的至少之一。资源调度系统获取的历史资源配置能够包括第一历史运行资源限制。
资源调度系统根据上述平均资源消耗以及第一历史运行资源限制能够确定该建议请求运行资源。资源调度系统根据上述容器部署单元在运行过程中是否出现过内存溢出、第一历史运行资源限制以及第二历史运行资源限制,能够确定该建议运行资源限制。其中,第二历史运行资源限制属于历史资源配置之前的资源配置。在确定容器部署单元的建议资源配置后,资源调度系统会存储容器部署单元的建议资源配置。
示例性的,在资源调度系统为K8s系统的情况下,在资源调度系统的资源控制器获取到容器部署单元的历史运行信息以及历史资源配置后,资源调度系统通过资源控制器根据历史运行信息以及历史资源配置,能够确定容器部署单元的建议资源配置。
可选地,资源调度系统会周期性的获取容器部署单元的历史运行信息以及历史资源配置,并根据获取到的历史运行信息以及历史资源配置确定容器部署单元的建议资源配置。从而实现定期根据容器部署单元的运行情况更新容器部署单元的建议资源配置。
步骤306:响应于容器部署单元的创建实例请求,将建议资源配置确定为容器部署单元的资源配置。
资源调度系统在接收到容器部署单元的创建实例请求时,会从存储的建议资源配置中,获取创建实例请求所属的容器部署单元对应的建议资源配置,并将该建议资源配置确定为容器部署单元本次创建实例请求的资源配置。之后根据该资源配置,资源调度系统对容器部署单元进行调度以及管理容器部署单元的运行。
综上所述,本实施例提供的方法,根据容器部署单元的历史运行信息以及历史资源配置,确定容器部署单元的建议资源配置。在容器部署单元创建实例时,获取已确定的容器部署单元的建议资源配置,并将其确定为容器部署单元当前的资源配置,从而实现根据容器部署单元的历史运行情况,自动计算容器部署单元的资源配置并配置给相应的容器部署单元。在此过程中无需人工进行配置,提高了配置运行资源的效率。
图4是本申请一个示例性实施例提供的容器资源的配置方法的流程示意图。该方法可以用于如图1所示的系统中主节点或主节点上运行的资源调度系统。如图4所示,该方法包括:
步骤402:通过资源控制器获取监控组件监控的容器部署单元的历史运行信息,以及通过资源控制器根据容器部署单元的历史创建实例请求获取容器部署单元的历史资源配置。
容器部署单元的历史运行信息用于反映容器部署单元在历史时段内运行消耗运行资源的情况。该历史时段是从历史时刻至获取历史运行信息的时刻的时段,历史时段是资源调度系统确定的,可选地,该历史时段能够包括至少两个子时段,历史运行信息包括容器部署单元在不同子时段下运行消耗运行资源的情况。
资源调度系统通过监控组件能够监控容器部署单元的历史运行信息。该资源调度系统为K8s系统,容器部署单元为Pod,监控组件为Prometheus。监控组件针对容器部署单元运行消耗的运行资源的监控,是通过Metric Server实现的。监控组件或按照预设周期监控容器部署单元在不同时刻下的运行信息。资源调度系统通过资源控制器,从Metric Server能够获取容器部署单元的历史运行信息。
可选地,历史运行信息包括如下至少之一:
容器部署单元在历史时段内运行的平均资源消耗;
容器部署单元在运行过程中是否出现过内存溢出。
其中,平均资源消耗是容器部署单元在历史时段内运行的过程中,消耗的运行资源的平均值。例如历史时段包括3个历史时刻,容器部署单元在历史时刻1消耗1C处理器资源和16G内存资源,容器部署单元在历史时刻2消耗1C处理器资源和24G内存资源,容器部署单元在历史时刻3消耗4C处理器资源和8G内存资源。则容器部署单元在历史时段的平均资源消耗为(1+1+4)/3=2C处理器资源和(16+24+8)/3=16G内存资源。内存溢出是指容器部署单元在运行的过程中,消耗的内存资源超出其当前的运行资源限制。
容器部署单元的历史资源配置是容器部署单元在历史时段运行时对应的资源配置。在历史时段内,容器部署单元能够多次创建实例从而运行。可选地,该资源配置是容器部署单元在历史时段内最近一次的资源配置。
在K8s系统的API Server接收到Pod的创建实例请求时,通过Mutating AdmissionWebhook能够获取到创建实例请求中Pod的元数据,Pod的元数据中包括Pod本次创建实例请求对应的资源配置以及Pod在过去创建实例请求中对应的资源配置。资源控制器通过Mutating Admission Webhook即可获取到Pod的历史资源配置。该历史资源配置能够指Pod本次创建实例请求对应的资源配置。
通过上述方式,资源控制器能够获取到Pod的历史运行信息以及历史资源配置。
步骤404:通过资源控制器根据历史运行信息以及历史资源配置确定容器部署单元的建议资源配置。
建议资源配置包括建议请求运行资源以及建议运行资源限制,历史资源配置包括第一历史运行资源限制。
针对计算建议请求运行资源:
资源调度系统通过资源控制器根据平均资源消耗以及第一历史运行资源限制能够确定建议请求运行资源。例如,根据如下公式确定建议请求运行资源:
currentSuggest.request=max{avg*(1+buffer),maxResource};
其中,currentSuggest.request为建议请求运行资源,avg为平均资源消耗,buffer为预留资源比例,maxResource为第一历史运行资源限制。其中,buffer是资源调度系统设置的。
针对计算建议运行资源限制:
资源调度系统通过资源控制器,根据容器部署单元的历史创建实例请求能够获取容器部署单元的第二历史运行资源限制,该第二历史运行资源限制属于历史资源配置之前的资源配置。在历史时段内,容器部署单元能够多次创建实例。容器部署单元的历史创建实例请求,能够包括容器部署单元在发出历史创建实例请求时的信息,以及发出历史创建实例请求之前多次创建实例时的信息,因此资源控制器能够根据历史创建实例请求获取到第一历史运行资源限制以及第二历史运行资源限制。其中,历史资源配置是获取的历史创建实例请求中最近一次的资源配置。第二历史运行资源限制,能够为历史资源配置的前一次资源配置中的运行资源限制。
资源调度系统通过资源控制器根据容器部署单元在运行过程中是否出现过内存溢出、第一历史运行资源限制以及第二历史运行资源限制,确定建议运行资源限制。
根据如下公式确定建议运行资源限制:
currentSuggest.limits=max{LastResource*(1+buffer*lastOomStatus),maxResource};
其中,currentSuggest.limits为建议运行资源限制,LastResource为第二历史运行资源限制,buffer为预留资源比例,lastOomStatus的取值是根据容器部署单元在运行过程中是否出现过内存溢出确定的,maxResource为第一历史运行资源限制。其中,buffer是资源调度系统设置的。内存溢出是指容器部署单元在运行的过程中,消耗的内存资源超出其当前的运行资源限制。可选地,在容器部署单元在运行过程中出现过内存溢出的情况下,lastOomStatus的取值为1。在容器部署单元在运行过程中未出现过内存溢出的情况下,lastOomStatus的取值为0。
可选地,历史时段包括至少两个子时段。资源调度系统通过资源控制器,根据目标子时段下的历史运行信息以及历史资源配置,能够确定容器部署单元在目标时段的建议资源配置。其中,目标子时段是目标时段在至少两个子时段中对应的时段。例如,历史时段包括过去的一周中每天的上半天(0点至12点)和下半天(12点至24点),共计14个子时段。在确定建议资源配置时,资源调度系统通过资源控制器,根据各子时段对应下的历史运行信息以及历史资源配置,能够确定各子时段对应的建议资源配置。若目标时段为周一的上半天,则其对应的子时段为过去一周中周一的上半天,目标时段的建议资源配置是根据过去一周中周一的上半天的历史运行信息以及历史资源配置确定的。
步骤406:通过资源控制器将建议资源配置写入容器部署单元对应的自定义资源定义中。
容器部署单元对应有自定义资源定义,该自定义资源定义是自定义的资源。在K8s系统中,自定义资源定义会存储在分布式键值对存储系统中,资源调度系统在存储自定义资源定义后,会自动生成相应的表现层转移(Representational State Transfer,RESTful)API路径,方便调用,且这种资源在集群之间可以很方便的迁移使用。资源控制器在确定建议资源配置后,会通过API Server将建议资源配置存储至容器部署单元对应的自定义资源定义中,以便于后续使用。
示例地,自定义资源定义的内容如下:
其中,“suggestResource”表示建议资源配置,“maxResource”表示建议运行资源限制,“currentSuggest”表示当前时间段下的建议请求运行资源,“reserveResource:20%”表示预留资源比例为20%,“dailyResource”表示不同时间段下容器部署单元的平均资源消耗,“currentStatus”表示容器部署单元的当前运行情况,“lastStatus”表示容器部署单元的上一次启动时的运行情况。
步骤408:响应于创建实例请求,通过资源控制器从容器部署单元对应的自定义资源定义中获取建议资源配置。
在接收到创建实例请求时,资源调度系统会确定创建实例请求对应的容器部署单元。并通过资源控制器,从确定的容器部署单元对应的自定义资源定义中获取容器部署单元的建议资源配置。
示例地,在K8s系统中,当API Server接收到创建实例请求时,MutatingAdmission Webhook会将该请求发送至资源控制器,资源控制器确定该请求所述的容器部署单元,并从分布式键值对存储系统中,该容器部署单元对应的自定义资源定义中,获取该容器部署单元的建议资源配置。
步骤410:通过资源控制器将建议资源配置确定为容器部署单元的资源配置。
在资源控制器获取到容器部署单元的建议资源配置后,会通过资源控制器将建议资源配置确定为容器部署单元的资源配置。之后根据该资源配置,资源调度系统对容器部署单元进行调度以及管理容器部署单元的运行。
示例地,在K8s系统中,当资源控制器获取到容器部署单元的建议资源配置后,会将其发送至Mutating Admission Webhook,由Mutating Admission Webhook修改APIServer中的创建实例请求。之后API Server会将修改后的创建实例请求发送至K8s系统的控制器,以创建容器部署单元。从而实现将容器部署单元的资源配置修改为建议资源配置。
可选地,在资源控制器获取到容器部署单元的创建实例请求时,还会获取到容器部署单元本次创建实例请求对应的资源配置作为上述历史资源配置。结合资源控制器获取到的容器部署单元的历史运行信息,资源调度系统通过资源控制器能够计算出容器部署单元的建议资源配置。该建议资源配置,能够用于修改容器部署单元本次创建实例请求对应的资源配置,或者用于在之后接收到容器部署单元的创建实例请求时,修改容器部署单元的资源配置。另外,在未存储有建议资源配置的情况下,资源调度系统会将容器部署单元的创建实例请求中的资源配置确定为容器部署单元当前的资源配置,例如容器部署单元首次进行创建实例的情况。
需要说明的是,本申请实施例提供的方法主要以应用于K8s系统为例进行说明,本申请实施例提供的方法也能够用于其它资源调度系统中。
综上所述,本实施例提供的方法,根据容器部署单元的历史运行信息以及历史资源配置,确定容器部署单元的建议资源配置。在容器部署单元创建实例时,获取已确定的容器部署单元的建议资源配置,并将其确定为容器部署单元当前的资源配置,从而实现根据容器部署单元的历史运行情况,自动计算容器部署单元的资源配置并配置给相应的容器部署单元。在此过程中无需人工进行配置,提高了配置运行资源的效率。
另外,根据容器部署单元的历史运行信息以及历史资源配置确定建议资源配置,能够考虑到容器部署单元的历史运行情况以及参考过去的资源配置,能够实现更准确的计算建议资源配置。根据历史时段内运行的平均资源消耗以及容器部署单元在运行过程中是否出现过内存溢出,能够实现结合实际运行情况,针对容器部署单元在不同集群、不同时间点、不同业务场景下,使其具有更准确的建议资源配置。通过资源调度系统中各组件之间的协作,能够实现高效的计算建议资源配置,以及便捷的修改容器部署单元的资源配置为建议资源配置。
需要说明的是,本申请实施例提供的方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
图5是本申请一个示例性实施例提供的容器资源的配置装置的结构示意图。如图5所示,该装置包括:
获取模块501,用于获取容器部署单元的历史运行信息以及历史资源配置,历史运行信息用于反映容器部署单元在历史时段内运行消耗运行资源的情况。
确定模块502,用于根据历史运行信息以及历史资源配置确定容器部署单元的建议资源配置。
确定模块502,还用于响应于容器部署单元的创建实例请求,将建议资源配置确定为容器部署单元的资源配置。
在一个可选的设计中,历史运行信息包括如下至少之一:
容器部署单元在历史时段内运行的平均资源消耗;
容器部署单元在运行过程中是否出现过内存溢出。
在一个可选的设计中,建议资源配置包括建议请求运行资源,历史资源配置包括第一历史运行资源限制。确定模块502,用于:
根据平均资源消耗以及第一历史运行资源限制确定建议请求运行资源。
在一个可选的设计中,确定模块502,用于:
根据如下公式确定建议请求运行资源:
currentSuggest.request=max{avg*(1+buffer),maxResource};
其中,currentSuggest.request为建议请求运行资源,avg为平均资源消耗,buffer为预留资源比例,maxResource为第一历史运行资源限制。
在一个可选的设计中,建议资源配置包括建议运行资源限制,历史资源配置包括第一历史运行资源限制。获取模块501,用于:
根据容器部署单元的历史创建实例请求获取容器部署单元的第二历史运行资源限制,第二历史运行资源限制属于历史资源配置之前的资源配置。
确定模块502,用于:
根据容器部署单元在运行过程中是否出现过内存溢出、第一历史运行资源限制以及第二历史运行资源限制,确定建议运行资源限制。
在一个可选的设计中,确定模块502,用于:
根据如下公式确定建议运行资源限制:
currentSuggest.limits=max{LastResource*(1+buffer*lastOomStatus),maxResource};
其中,currentSuggest.limits为建议运行资源限制,LastResource为第二历史运行资源限制,buffer为预留资源比例,lastOomStatus的取值是根据容器部署单元在运行过程中是否出现过内存溢出确定的,maxResource为第一历史运行资源限制。
在一个可选的设计中,在容器部署单元在运行过程中出现过内存溢出的情况下,lastOomStatus的取值为1;在容器部署单元在运行过程中未出现过内存溢出的情况下,lastOomStatus的取值为0。
在一个可选的设计中,历史时段包括至少两个子时段。确定模块502,用于:
根据目标子时段下的历史运行信息以及历史资源配置,确定容器部署单元在目标时段的建议资源配置。其中,目标子时段是目标时段在至少两个子时段中对应的时段。
在一个可选的设计中,获取模块501,用于:
通过监控组件监控历史运行信息。通过资源控制器获取监控组件监控的历史运行信息。通过资源控制器,根据容器部署单元的历史创建实例请求获取历史资源配置。
在一个可选的设计中,确定模块502,用于:
通过资源控制器根据历史运行信息以及历史资源配置确定建议资源配置。通过资源控制器将建议资源配置写入容器部署单元对应的自定义资源定义中。
在一个可选的设计中,确定模块502,用于:
响应于创建实例请求,通过资源控制器从容器部署单元对应的自定义资源定义中获取建议资源配置。通过资源控制器将建议资源配置确定为容器部署单元的资源配置。
需要说明的是:上述实施例提供的容器资源的配置装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的容器资源的配置装置与容器资源的配置方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请的实施例还提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的容器资源的配置方法。
可选地,该计算机设备为服务器。示例地,图6是本申请一个示例性实施例提供的计算机设备的结构示意图。
所述计算机设备600包括中央处理单元(Central Processing Unit,CPU)601、包括随机存取存储器(Random Access Memory,RAM)602和只读存储器(Read-Only Memory,ROM)603的系统存储器604,以及连接系统存储器604和中央处理单元601的系统总线605。所述计算机设备600还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(Input/Output系统,I/O系统)606,和用于存储操作系统613、应用程序614和其他程序模块615的大容量存储设备607。
所述基本输入/输出系统606包括有用于显示信息的显示器608和用于用户输入信息的诸如鼠标、键盘之类的输入设备609。其中所述显示器608和输入设备609都通过连接到系统总线605的输入输出控制器610连接到中央处理单元601。所述基本输入/输出系统606还可以包括输入输出控制器610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备607通过连接到系统总线605的大容量存储控制器(未示出)连接到中央处理单元601。所述大容量存储设备607及其相关联的计算机可读存储介质为计算机设备600提供非易失性存储。也就是说,所述大容量存储设备607可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读存储介质(未示出)。
不失一般性,所述计算机可读存储介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读存储指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读寄存器(Erasable Programmable Read OnlyMemory,EPROM)、电子抹除式可复写只读存储器(Electrically-Erasable ProgrammableRead-Only Memory,EEPROM)、闪存或其他固态存储设备,CD-ROM、数字多功能光盘(DigitalVersatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器604和大容量存储设备607可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元601执行,一个或多个程序包含用于实现上述方法实施例的指令,中央处理单元601执行该一个或多个程序实现上述各个方法实施例提供的方法。
根据本申请的各种实施例,所述计算机设备600还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备600可以通过连接在所述系统总线605上的网络接口单元611连接到网络612,或者说,也可以使用网络接口单元611来连接到其他类型的网络或远程计算机设备系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的方法中由计算机设备所执行的步骤。
本申请实施例中还提供了一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,当该至少一条指令、至少一段程序、代码集或指令集由计算机设备的处理器加载并执行时,实现上述各方法实施例提供的容器资源的配置方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例提供的容器资源的配置方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的可读存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同切换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种容器资源的配置方法,其特征在于,所述方法包括:
获取容器部署单元的历史运行信息以及历史资源配置,所述历史运行信息用于反映所述容器部署单元在历史时段内运行消耗运行资源的情况;
根据所述历史运行信息以及所述历史资源配置确定所述容器部署单元的建议资源配置;
响应于所述容器部署单元的创建实例请求,将所述建议资源配置确定为所述容器部署单元的资源配置;
其中,所述历史运行信息包括用于反映所述容器部署单元在运行过程中是否出现过内存溢出的信息,所述历史资源配置包括第一历史运行资源限制,所述建议资源配置包括建议运行资源限制,所述建议运行资源限制是通过如下公式确定的:
currentSuggest.limits=max{LastResource*(1+buffer*lastOomStatus),maxResource};
其中,currentSuggest.limits为所述建议运行资源限制,LastResource为第二历史运行资源限制,buffer为预留资源比例,lastOomStatus的取值是根据所述容器部署单元在运行过程中是否出现过内存溢出确定的,maxResource为所述第一历史运行资源限制,所述第二历史运行资源限制是根据所述容器部署单元的历史创建实例请求获取的,所述第二历史运行资源限制属于所述历史资源配置之前的资源配置。
2.根据权利要求1所述的方法,其特征在于,所述历史运行信息还包括:
所述容器部署单元在所述历史时段内运行的平均资源消耗。
3.根据权利要求2所述的方法,其特征在于,所述建议资源配置包括建议请求运行资源;
所述根据所述历史运行信息以及所述历史资源配置确定所述容器部署单元的建议资源配置,包括:
根据所述平均资源消耗以及所述第一历史运行资源限制确定所述建议请求运行资源。
4.根据权利要求3所述的方法,其特征在于,所述根据所述平均资源消耗以及所述第一历史运行资源限制确定所述建议请求运行资源,包括:
根据如下公式确定所述建议请求运行资源:
currentSuggest.request=max{avg*(1+buffer),maxResource};
其中,currentSuggest.request为所述建议请求运行资源,avg为所述平均资源消耗,buffer为预留资源比例,maxResource为所述第一历史运行资源限制。
5.根据权利要求1所述的方法,其特征在于,
在所述容器部署单元在运行过程中出现过内存溢出的情况下,lastOomStatus的取值为1;
在所述容器部署单元在运行过程中未出现过内存溢出的情况下,lastOomStatus的取值为0。
6.根据权利要求1至5任一所述的方法,其特征在于,所述历史时段包括至少两个子时段;所述根据所述历史运行信息以及所述历史资源配置确定所述容器部署单元的建议资源配置,包括:
根据目标子时段下的历史运行信息以及所述历史资源配置,确定所述容器部署单元在目标时段的建议资源配置;
其中,所述目标子时段是所述目标时段在所述至少两个子时段中对应的时段。
7.根据权利要求1至5任一所述的方法,其特征在于,所述获取容器部署单元的历史运行信息,包括:
通过监控组件监控所述历史运行信息;
通过资源控制器获取所述监控组件监控的所述历史运行信息;
所述获取容器部署单元的历史资源配置,包括:
通过所述资源控制器,根据所述容器部署单元的历史创建实例请求获取所述历史资源配置。
8.根据权利要求7所述的方法,其特征在于,所述根据所述历史运行信息以及所述历史资源配置确定所述容器部署单元的建议资源配置,包括:
通过所述资源控制器根据所述历史运行信息以及所述历史资源配置确定所述建议资源配置;
通过所述资源控制器将所述建议资源配置写入所述容器部署单元对应的自定义资源定义中。
9.根据权利要求7所述的方法,其特征在于,所述响应于所述容器部署单元的创建实例请求,将所述建议资源配置确定为所述容器部署单元的资源配置,包括:
响应于所述创建实例请求,通过所述资源控制器从所述容器部署单元对应的自定义资源定义中获取所述建议资源配置;
通过所述资源控制器将所述建议资源配置确定为所述容器部署单元的资源配置。
10.一种容器资源的配置装置,其特征在于,所述装置包括:
获取模块,用于获取容器部署单元的历史运行信息以及历史资源配置,所述历史运行信息用于反映所述容器部署单元在历史时段内运行消耗运行资源的情况;
确定模块,用于根据所述历史运行信息以及所述历史资源配置确定所述容器部署单元的建议资源配置;
所述确定模块,还用于响应于所述容器部署单元的创建实例请求,将所述建议资源配置确定为所述容器部署单元的资源配置;
其中,所述历史运行信息包括用于反映所述容器部署单元在运行过程中是否出现过内存溢出的信息,所述历史资源配置包括第一历史运行资源限制,所述建议资源配置包括建议运行资源限制,所述建议运行资源限制是通过如下公式确定的:
currentSuggest.limits=max{LastResource*(1+buffer*lastOomStatus),maxResource};
其中,currentSuggest.limits为所述建议运行资源限制,LastResource为第二历史运行资源限制,buffer为预留资源比例,lastOomStatus的取值是根据所述容器部署单元在运行过程中是否出现过内存溢出确定的,maxResource为所述第一历史运行资源限制,所述第二历史运行资源限制是根据所述容器部署单元的历史创建实例请求获取的,所述第二历史运行资源限制属于所述历史资源配置之前的资源配置。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至9任一所述的容器资源的配置方法。
12.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至9任一所述的容器资源的配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210376622.9A CN114780170B (zh) | 2022-04-11 | 2022-04-11 | 容器资源的配置方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210376622.9A CN114780170B (zh) | 2022-04-11 | 2022-04-11 | 容器资源的配置方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114780170A CN114780170A (zh) | 2022-07-22 |
CN114780170B true CN114780170B (zh) | 2023-07-21 |
Family
ID=82429853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210376622.9A Active CN114780170B (zh) | 2022-04-11 | 2022-04-11 | 容器资源的配置方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114780170B (zh) |
Citations (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699440A (zh) * | 2012-09-27 | 2014-04-02 | 北京搜狐新媒体信息技术有限公司 | 一种云计算平台系统为任务分配资源的方法和装置 |
CN105940378A (zh) * | 2014-02-27 | 2016-09-14 | 英特尔公司 | 用于分配可配置计算资源的技术 |
CN106656535A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 用于资源调度的方法和设备 |
CN106874100A (zh) * | 2015-12-10 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 计算资源分配方法及装置 |
CN109074286A (zh) * | 2016-05-03 | 2018-12-21 | 微软技术许可有限责任公司 | 对使用系统资源的应用的控制 |
CN109324890A (zh) * | 2017-07-31 | 2019-02-12 | 华为技术有限公司 | 资源管理方法、装置及计算机可读存储介质 |
CN110287003A (zh) * | 2019-06-28 | 2019-09-27 | 北京九章云极科技有限公司 | 资源的管理方法和管理系统 |
CN110502314A (zh) * | 2019-08-23 | 2019-11-26 | 联想(北京)有限公司 | 一种容器的处理方法、装置、节点服务器及集群 |
CN110597623A (zh) * | 2019-08-13 | 2019-12-20 | 平安普惠企业管理有限公司 | 容器资源分配方法、装置、计算机设备和存储介质 |
CN110780987A (zh) * | 2019-10-30 | 2020-02-11 | 上海交通大学 | 一种基于容器技术的深度学习课堂分析系统及方法 |
CN110971468A (zh) * | 2019-12-12 | 2020-04-07 | 广西大学 | 一种基于脏页预测的延迟拷贝增量式容器检查点处理方法 |
US10628228B1 (en) * | 2017-08-28 | 2020-04-21 | Amazon Technologies, Inc. | Tiered usage limits across compute resource partitions |
CN111258759A (zh) * | 2020-01-13 | 2020-06-09 | 北京百度网讯科技有限公司 | 资源分配方法、装置以及电子设备 |
CN111708629A (zh) * | 2020-04-30 | 2020-09-25 | 咪咕文化科技有限公司 | 一种资源分配方法、装置、电子设备和存储介质 |
CN111813545A (zh) * | 2020-06-29 | 2020-10-23 | 北京字节跳动网络技术有限公司 | 一种资源配置方法、装置、介质和设备 |
CN112214330A (zh) * | 2020-11-04 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 集群中主节点的部署方法、装置及计算机可读存储介质 |
CN112256430A (zh) * | 2020-10-23 | 2021-01-22 | 北京三快在线科技有限公司 | 容器的部署方法、装置、设备及存储介质 |
CN112506444A (zh) * | 2020-12-28 | 2021-03-16 | 南方电网深圳数字电网研究院有限公司 | 基于Kubernetes集群的扩缩容控制方法和装置、电子设备 |
CN112579304A (zh) * | 2020-12-30 | 2021-03-30 | 成都佳华物链云科技有限公司 | 基于分布式平台的资源调度方法、装置、设备及介质 |
CN113141283A (zh) * | 2021-06-22 | 2021-07-20 | 中国电子信息产业集团有限公司第六研究所 | 网络流量模拟测试方法、系统及环境的构建方法 |
CN113157428A (zh) * | 2020-01-07 | 2021-07-23 | 阿里巴巴集团控股有限公司 | 基于容器的资源调度方法、装置及容器集群管理装置 |
CN113268337A (zh) * | 2021-07-20 | 2021-08-17 | 杭州朗澈科技有限公司 | Kubernetes集群中Pod调度的方法和系统 |
CN113568752A (zh) * | 2021-07-29 | 2021-10-29 | 上海浦东发展银行股份有限公司 | 一种静态资源加载方法、装置、设备及存储介质 |
CN113608798A (zh) * | 2021-08-06 | 2021-11-05 | 中航金网(北京)电子商务有限公司 | 一种对非java的应用、对云原生的应用使用资源进行配置的方法及其装置 |
CN113806018A (zh) * | 2021-09-13 | 2021-12-17 | 北京计算机技术及应用研究所 | 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法 |
CN113934542A (zh) * | 2021-10-18 | 2022-01-14 | 重庆紫光华山智安科技有限公司 | 一种容器资源调整方法、系统、介质及电子终端 |
CN113971066A (zh) * | 2020-07-22 | 2022-01-25 | 中国科学院深圳先进技术研究院 | 一种Kubernetes集群资源动态调整方法及电子设备 |
CN114026542A (zh) * | 2019-07-05 | 2022-02-08 | 国际商业机器公司 | 基于容器的应用 |
CN114077493A (zh) * | 2020-08-21 | 2022-02-22 | 荣耀终端有限公司 | 一种资源分配方法及相关设备 |
CN114090201A (zh) * | 2021-11-08 | 2022-02-25 | 远景智能国际私人投资有限公司 | 资源调度方法、装置、设备及存储介质 |
CN114185679A (zh) * | 2021-12-15 | 2022-03-15 | 中国工商银行股份有限公司 | 容器资源调度方法、装置、计算机设备和存储介质 |
CN114281474A (zh) * | 2021-12-15 | 2022-04-05 | 中国银联股份有限公司 | 一种资源调节方法及装置 |
CN114296913A (zh) * | 2021-12-21 | 2022-04-08 | 浙江太美医疗科技股份有限公司 | 资源编排的方法、装置及设备、存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8010659B2 (en) * | 2008-09-24 | 2011-08-30 | International Business Machines Corporation | Executing resource consumption control limits |
US9274834B2 (en) * | 2012-08-25 | 2016-03-01 | Vmware, Inc. | Remote service for executing resource allocation analyses for computer network facilities |
US9411622B2 (en) * | 2013-06-25 | 2016-08-09 | Vmware, Inc. | Performance-driven resource management in a distributed computer system |
US10187773B1 (en) * | 2015-07-25 | 2019-01-22 | Gary M. Zalewski | Wireless coded communication (WCC) devices with power harvesting power sources for monitoring state data of objects |
US11321141B2 (en) * | 2019-09-20 | 2022-05-03 | Dell Products L.P. | Resource management for software containers using container profiles |
US11182196B2 (en) * | 2019-11-13 | 2021-11-23 | Vmware, Inc. | Unified resource management for containers and virtual machines |
-
2022
- 2022-04-11 CN CN202210376622.9A patent/CN114780170B/zh active Active
Patent Citations (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699440A (zh) * | 2012-09-27 | 2014-04-02 | 北京搜狐新媒体信息技术有限公司 | 一种云计算平台系统为任务分配资源的方法和装置 |
CN105940378A (zh) * | 2014-02-27 | 2016-09-14 | 英特尔公司 | 用于分配可配置计算资源的技术 |
CN106656535A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 用于资源调度的方法和设备 |
CN106874100A (zh) * | 2015-12-10 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 计算资源分配方法及装置 |
CN109074286A (zh) * | 2016-05-03 | 2018-12-21 | 微软技术许可有限责任公司 | 对使用系统资源的应用的控制 |
CN109324890A (zh) * | 2017-07-31 | 2019-02-12 | 华为技术有限公司 | 资源管理方法、装置及计算机可读存储介质 |
US10628228B1 (en) * | 2017-08-28 | 2020-04-21 | Amazon Technologies, Inc. | Tiered usage limits across compute resource partitions |
CN110287003A (zh) * | 2019-06-28 | 2019-09-27 | 北京九章云极科技有限公司 | 资源的管理方法和管理系统 |
CN114026542A (zh) * | 2019-07-05 | 2022-02-08 | 国际商业机器公司 | 基于容器的应用 |
CN110597623A (zh) * | 2019-08-13 | 2019-12-20 | 平安普惠企业管理有限公司 | 容器资源分配方法、装置、计算机设备和存储介质 |
CN110502314A (zh) * | 2019-08-23 | 2019-11-26 | 联想(北京)有限公司 | 一种容器的处理方法、装置、节点服务器及集群 |
CN110780987A (zh) * | 2019-10-30 | 2020-02-11 | 上海交通大学 | 一种基于容器技术的深度学习课堂分析系统及方法 |
CN110971468A (zh) * | 2019-12-12 | 2020-04-07 | 广西大学 | 一种基于脏页预测的延迟拷贝增量式容器检查点处理方法 |
CN113157428A (zh) * | 2020-01-07 | 2021-07-23 | 阿里巴巴集团控股有限公司 | 基于容器的资源调度方法、装置及容器集群管理装置 |
CN111258759A (zh) * | 2020-01-13 | 2020-06-09 | 北京百度网讯科技有限公司 | 资源分配方法、装置以及电子设备 |
CN111708629A (zh) * | 2020-04-30 | 2020-09-25 | 咪咕文化科技有限公司 | 一种资源分配方法、装置、电子设备和存储介质 |
CN111813545A (zh) * | 2020-06-29 | 2020-10-23 | 北京字节跳动网络技术有限公司 | 一种资源配置方法、装置、介质和设备 |
CN113971066A (zh) * | 2020-07-22 | 2022-01-25 | 中国科学院深圳先进技术研究院 | 一种Kubernetes集群资源动态调整方法及电子设备 |
CN114077493A (zh) * | 2020-08-21 | 2022-02-22 | 荣耀终端有限公司 | 一种资源分配方法及相关设备 |
CN112256430A (zh) * | 2020-10-23 | 2021-01-22 | 北京三快在线科技有限公司 | 容器的部署方法、装置、设备及存储介质 |
CN112214330A (zh) * | 2020-11-04 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 集群中主节点的部署方法、装置及计算机可读存储介质 |
CN112506444A (zh) * | 2020-12-28 | 2021-03-16 | 南方电网深圳数字电网研究院有限公司 | 基于Kubernetes集群的扩缩容控制方法和装置、电子设备 |
CN112579304A (zh) * | 2020-12-30 | 2021-03-30 | 成都佳华物链云科技有限公司 | 基于分布式平台的资源调度方法、装置、设备及介质 |
CN113141283A (zh) * | 2021-06-22 | 2021-07-20 | 中国电子信息产业集团有限公司第六研究所 | 网络流量模拟测试方法、系统及环境的构建方法 |
CN113268337A (zh) * | 2021-07-20 | 2021-08-17 | 杭州朗澈科技有限公司 | Kubernetes集群中Pod调度的方法和系统 |
CN113568752A (zh) * | 2021-07-29 | 2021-10-29 | 上海浦东发展银行股份有限公司 | 一种静态资源加载方法、装置、设备及存储介质 |
CN113608798A (zh) * | 2021-08-06 | 2021-11-05 | 中航金网(北京)电子商务有限公司 | 一种对非java的应用、对云原生的应用使用资源进行配置的方法及其装置 |
CN113806018A (zh) * | 2021-09-13 | 2021-12-17 | 北京计算机技术及应用研究所 | 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法 |
CN113934542A (zh) * | 2021-10-18 | 2022-01-14 | 重庆紫光华山智安科技有限公司 | 一种容器资源调整方法、系统、介质及电子终端 |
CN114090201A (zh) * | 2021-11-08 | 2022-02-25 | 远景智能国际私人投资有限公司 | 资源调度方法、装置、设备及存储介质 |
CN114185679A (zh) * | 2021-12-15 | 2022-03-15 | 中国工商银行股份有限公司 | 容器资源调度方法、装置、计算机设备和存储介质 |
CN114281474A (zh) * | 2021-12-15 | 2022-04-05 | 中国银联股份有限公司 | 一种资源调节方法及装置 |
CN114296913A (zh) * | 2021-12-21 | 2022-04-08 | 浙江太美医疗科技股份有限公司 | 资源编排的方法、装置及设备、存储介质 |
Non-Patent Citations (3)
Title |
---|
基于Kubernetes负载特征的资源预测模型研究;谢文舟;孙艳霞;;网络安全技术与应用(第04期);第30-31页 * |
基于融合媒体云平台的统一安全传输平台的设计和实现;钱永江;;广播与电视技术(第08期);第30-34页 * |
面向微服务架构的容器级弹性资源供给方法;郝庭毅;吴恒;吴国全;张文博;;计算机研究与发展(第03期);第597-608页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114780170A (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022033024A1 (zh) | 深度学习模型的分布式训练方法以及装置 | |
US11494235B2 (en) | System and method of providing system jobs within a compute environment | |
US8751659B2 (en) | Data center batch job quality of service control | |
CN109034396B (zh) | 用于处理分布式集群中的深度学习作业的方法和装置 | |
CN109117265A (zh) | 在集群中调度作业的方法、装置、设备及存储介质 | |
WO2022088835A1 (zh) | 边缘计算方法、装置、智能终端及计算机可读存储介质 | |
CN108920153A (zh) | 一种基于负载预测的Docker容器动态调度方法 | |
JPWO2007072544A1 (ja) | 情報処理装置、計算機、リソース割り当て方法及びリソース割り当てプログラム | |
JP4315057B2 (ja) | 情報処理装置および情報処理方法、並びに、プログラム | |
CN112579304A (zh) | 基于分布式平台的资源调度方法、装置、设备及介质 | |
CN112445598A (zh) | 一种基于quartz的任务调度方法、装置、电子设备以及介质 | |
CN110427258A (zh) | 基于云平台的资源调度控制方法及装置 | |
CN113886089A (zh) | 一种任务处理方法、装置、系统、设备及介质 | |
CN112363820A (zh) | 基于异构硬件的统一资源池化容器调度引擎及其调度方法 | |
CN114598665B (zh) | 资源调度方法、装置和计算机可读存储介质及电子设备 | |
CN113658351B (zh) | 一种产品生产的方法、装置、电子设备及存储介质 | |
CN114356549A (zh) | 多容器集群中容器资源的调度方法、装置和系统 | |
CN114780170B (zh) | 容器资源的配置方法、装置、设备及存储介质 | |
CN114579250A (zh) | 一种构建虚拟集群的方法、装置及存储介质 | |
CN115102851B (zh) | 一种面向hpc与ai融合计算的融合平台及其资源管理方法 | |
CN114090201A (zh) | 资源调度方法、装置、设备及存储介质 | |
WO2015052823A1 (ja) | クラウド管理装置、その管理方法、およびそのシステム | |
CN113296892B (zh) | 开发环境的休眠方法、装置、电子设备及存储介质 | |
CN115934335A (zh) | 任务处理方法以及相关设备 | |
CN118113303A (zh) | 一种运行控制方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |