CN116204268A - 一种云实例的扩缩容方法及其相关设备 - Google Patents
一种云实例的扩缩容方法及其相关设备 Download PDFInfo
- Publication number
- CN116204268A CN116204268A CN202111450334.5A CN202111450334A CN116204268A CN 116204268 A CN116204268 A CN 116204268A CN 202111450334 A CN202111450334 A CN 202111450334A CN 116204268 A CN116204268 A CN 116204268A
- Authority
- CN
- China
- Prior art keywords
- cloud
- working node
- cloud instance
- instance
- node
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000008602 contraction Effects 0.000 title abstract description 9
- 230000005012 migration Effects 0.000 claims description 25
- 238000013508 migration Methods 0.000 claims description 25
- 230000009467 reduction Effects 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 53
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000593 degrading effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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/5072—Grid computing
-
- 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
-
- 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/5022—Mechanisms to release 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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种云实例的扩缩容方法及其相关设备,可在增大或减小云实例的资源配额时,确保云实例运行的业务不会中断。本申请的方法包括:第一工作节点获取多个云实例的状态信息;第一工作节点基于状态信息,在多个云实例中确定待扩容的云实例以及扩容所需的资源量;若第一工作节点的空闲资源量大于或等于扩容所需的资源量,第一工作节点基于扩容所需的资源量,增大待扩容的云实例的资源配额。
Description
技术领域
本申请涉及云技术领域,尤其涉及一种云实例的扩缩容方法及其相关设备。
背景技术
随着技术的飞速发展,云服务系统的规模越来越大。云服务系统通常包含多个工作节点(worker)和管理节点(master),其中,每个工作节点上部署有多个容器(docker),管理节点可对所有容器进行集中管理。
目前,云服务系统以kubernetes作为容器的管理标准,可对容器实现编排部署、灰度升降级、自动扩缩容等功能。在自动伸缩功能中,kubernetes可支持两种自动两种自动伸缩方法,分别为垂直pod(容器组)自动伸缩(vertical pod autoscale,VPA)和水平pod自动伸缩(horizontal pod autoscale,HPA)。在VPA中,管理节点可基于某个工作节点中pod的资源占用率计算出pod的资源配额推荐值,并发送至该工作节点。当该工作节点创建pod时,可基于该推荐值为pod设置新的资源配额(例如,增大pod的资源配额或减小pod的资源配额,相当于扩容或缩容)。
前述过程中,由于修改pod的资源配额的时间点,只能在创建pod的时候。当需要修改某个pod的资源配额时,工作节点只能先释放该pod,并在重新创建该pod时才能实现资源配额的修改,这样会导致该pod运行的业务中断。
发明内容
本申请实施例提供了一种云实例的扩缩容方法及其相关设备,可在增大或减小云实例的资源配额时,确保云实例运行的业务不会中断。
本申请实施例的第一方面提供了一种云实例的扩缩容方法,该方法应用于云服务系统,云服务系统包含多个工作节点,也其中一个工作节点进行示意性介绍,并称该工作节点为第一工作节点,该方法包括:
第一工作节点部署有多个云实例,例如,多个云实例可以为多个容器,又如,多个云实例可以为多组容器,再如,多个云实例可以为多个虚拟机,还如,多个云实例可以为多组虚拟机等等。第一工作节点可获取这多个云实例的状态信息,每个云实例的状态信息可用于指示该云实例所运行的业务的状态。
得到多个云实例的状态信息后,第一工作节点可基于这多个云实例的状态信息,对这多个云实例逐个进行分析,从而在这多个云实例中确定待扩容的云实例以及对带扩容的云实例进行扩容所需的资源量。
第一工作节点可确定第一工作节点的空闲资源量,并检测第一工作节点的空闲资源量是否大于或等于扩容所需的资源量,若第一工作节点的空闲资源量大于或等于扩容所需的资源量,说明第一工作节点的空闲资源是充足的,故第一工作节点可直接对待扩容的云实例直接进行扩容处理,即基于扩容所需的资源量,增大待扩容的云实例的资源配额,从而实现云实例的扩容。
从上述方法可以看出:第一工作节点在获取多个云实例的状态信息后,可基于这部分状态信息,在多个云实例中确定待扩容的云实例以及扩容所需的资源量。若第一工作节点的空闲资源量大于或等于扩容所需的资源量,第一工作节点可基于扩容所需的资源量,增大待扩容的云实例的资源配额。基于前述过程可知,本申请提供了一种新的云实例扩容机制,第一工作节点自行确定待扩容的云实例后,可通过实时修改cgroup配置,以增大待扩容的云实例的资源配额,这对于待扩容的云实例运行的业务而言,是不感知的,故不会导致待扩容的云实例运行的业务中断。
在一种可能的实现方式中,第一工作节点基于状态信息,在多个云实例中确定待扩容的第一云实例以及扩容所需的扩容所需的资源量包括:在多个云实例中,第一工作节点将状态信息满足预置的扩容条件的云实例确定为待扩容的云实例;第一工作节点基于待扩容的云实例的状态信息,确定扩容所需的扩容所需的资源量。前述实现方式中,对于多个云实例中的任意一个云实例,第一工作节点可检测该云实例的状态信息是否满足预置的扩容条件,若满足,则确定需要进行扩容,即将该云实例确定为待扩容的云实例,若不满足,则确定该云实例不需要进行扩容,结束操作。在将该云实例确定为待扩容的云实例后,还可基于该云实例的状态信息准确计算出该云实例扩容所需的资源量。
在一种可能的实现方式中,云服务系统还包含第二工作节点,该方法还包括:若第一工作节点的空闲资源量小于扩容所需的资源量,第一工作节点在多个云实例中确定待迁移的云实例,待迁移的云实例运行的业务的优先级低于预置的优先级;第一工作节点将待迁移的云实例迁移至第二工作节点,以更新第一工作节点的空闲资源量;若更新后的第一工作节点的空闲资源量大于或等于扩容所需的资源量,第一工作节点基于扩容所需的资源量,增大待扩容的云实例的资源配额。前述实现方式中,若第一工作节点的空闲资源量小于该云实例扩容所需的资源量,说明第一工作节点的空闲资源是不足的,第一工作节点可在第一工作节点的多个云实例中,确定至少一个待迁移的云实例,这些待迁移的云实例运行的业务的优先级低于预置的优先级(即这些云实例所运行的业务往往优先级较低),故可将这些待迁移的云实例迁移至第二工作节点,那么,第一工作节点中被分配至这些待迁移的云实例的资源被释放,成为新的空闲资源,从而更新了第一工作节点的空闲资源量(即增大了第一工作节点的空闲资源量)。然后,第一工作节点可检测更新后的第一工作节点的空闲资源量是否大于或等于扩容所需的资源量,若更新后的第一工作节点的空闲资源量大于或等于该云实例(待扩容的云实例)扩容所需的资源量,说明更新后的第一工作节点的空闲资源是充足的,可利用这部分资源直接对该云实例进行扩容,故第一工作节点可基于该云实例扩容所需的资源量,增大该云实例的资源配额,从而实现云实例的扩容。
在一种可能的实现方式中,云服务系统还包含第三工作节点,该方法还包括:若更新后的第一工作节点的空闲资源量小于扩容所需的资源量,第一工作节点检测待扩容的云实例运行的业务的类型;若待扩容的云实例运行的业务为无状态应用,第一工作节点在第三工作节点处创建新的云实例,新的云实例和待扩容的云实例共同用于运行无状态应用;若待扩容的云实例运行的业务为有状态应用,第一工作节点将待扩容的云实例迁移至第三工作节点。前述实现方式中,若更新后的第一工作节点的空闲资源量小于该云实例(待扩容的云实例)扩容所需的资源量,说明更新后的第一工作节点的空闲资源是不足的,第一工作节点可先检测该云实例运行的业务(也可以理解为该云实例运行的应用)的类型,以基于该云实例运行的业务类型进行相应的处理:若该云实例运行的业务为无状态应用,第一工作节点可申请在第三工作节点处创建新的云实例,那么,该云实例和新的云实例可共同运行该云实例原先所运行的业务,也就相当于实现了扩容。若该云实例运行的业务为有状态应用,节点代理可将该云实例迁移至在第三工作节点,其中,第三工作节点的空闲资源量大于或等于该云实例扩容所需的资源量,那么,在将该云实例迁移至第三工作节点后,可增大该云实例的资源配额,也就相当于完成了扩容。
在一种可能的实现方式中,状态信息包括以下至少一种:资源占用率、负载程度和业务成功率。可见,云实例的状态信息与云实例的业务逻辑相关。
在一种可能的实现方式中,预置的扩容条件包括以下至少一种:资源占用率大于或等于预置的第一资源占用率、负载程度大于或等于预置的第一负载程度和业务成功率小于预置的第一业务成功率。在VPA中,仅根据云实例的资源占用率来检测云实例是否需要进行扩容,无法深入了解业务需求,需要多次检测才能精准确定云实例是否需要扩容,耗费了较长的时间在检测上。前述实现方式可基于云实例的状态信息来检测云实例是否需要扩容,由于云实例的状态信息包含云实例的资源占用率、负载程度以及业务成功率等信息,故云实例的状态信息与云实例的业务逻辑相关,更能体现业务需求,故工作节点基于云实例的状态信息,可实时感应业务需求,并基于业务需求准确检测云实例是否需要扩容,可有效减少检测的次数,从而缩短检测时长。
在一种可能的实现方式中,将待扩容的云实例迁移至第三工作节点的方式为冷迁移或热迁移。
在一种可能的实现方式中,云服务系统还包含管理节点,第一工作节点增大待扩容的云实例的资源配额之后,该方法还包括:第一工作节点将待扩容的云实例的资源配额发送至管理节点。前述实现方式中,第一工作节点对待扩容的云实例的资源配额进行增大后,可将增大后的该云实例的资源配额发送至管理节点,故管理节点和第一工作节点可同步该云实例的资源配额,使得全局(即整个云服务系统)资源配置信息准确一致。
本申请实施例的第二方面提供了一种云实例的缩容方法,该方法应用于云服务系统,云服务系统包含第一工作节点,该方法包括:
第一工作节点部署有多个云实例,例如,多个云实例可以为多个容器,又如,多个云实例可以为多组容器,再如,多个云实例可以为多个虚拟机,还如,多个云实例可以为多组虚拟机等等。第一工作节点可获取这多个云实例的状态信息,每个云实例的状态信息可用于指示该云实例所运行的业务的状态。
得到多个云实例的状态信息后,第一工作节点可基于这多个云实例的状态信息,对这多个云实例逐个进行分析,从而在这多个云实例中确定待缩容的云实例。
确定待缩容的云实例后,第一工作节点可确定待缩容的云实例中的非空闲资源和空闲资源,并释放待缩容的云实例的空闲资源,并计算这部分被释放的资源大小,即确定被释放的待缩容的云实例的空闲资源量。那么,第一工作节点可基于待缩容的云实例的空闲资源量,减小待缩容的云实例的资源配额,从而实现云实例的缩容。
从上述方法可以看出:在获取多个云实例的状态信息后,第一工作节点可基于这些状态信息,在多个云实例中确定待缩容的云实例。然后,第一工作节点释放待缩容的云实例的空闲资源,并确定被释放的待缩容的云实例的空闲资源量。最后,第一工作节点可基于待缩容的云实例的空闲资源量,减小待缩容的云实例的资源配额。基于前述过程可知,本申请提供了一种新的云实例缩容机制,第一工作节点自行确定待缩容的云实例后,可通过实时修改cgroup配置,以减小待缩容的云实例的资源配额,这对于待缩容的云实例运行的业务而言,是不感知的,故不会导致待缩容的云实例运行的业务中断。
在一种可能的实现方式中,第一工作节点基于状态信息,在多个云实例中确定待缩容的云实例包括:在多个云实例中,第一工作节点将状态信息满足预置的缩容条件的云实例确定为待缩容的云实例。前述实现方式中,对于多个云实例中的任意一个云实例,第一工作节点可检测该云实例的状态信息是否满足预置的缩容条件,若满足,则确定需要进行缩容,即将该云实例确定为待缩容的云实例,若不满足,则确定该云实例不需要进行缩容,结束操作。
在一种可能的实现方式中,状态信息包括以下至少一种:资源占用率、负载程度和业务成功率。可见,云实例的状态信息与云实例的业务逻辑相关。
在一种可能的实现方式中,预置的缩容条件包括以下至少一种:资源占用率小于预置的第二资源占用率、负载程度小于预置的第二负载程度和业务成功率大于或等于预置的第二业务成功率。在VPA中,仅根据云实例的资源占用率来检测云实例是否需要进行缩容,无法深入了解业务需求,需要多次检测才能精准确定云实例是否需要缩容,耗费了较长的时间在检测上。前述实现方式可基于云实例的状态信息来检测云实例是否需要缩容,由于云实例的状态信息包含云实例的资源占用率、负载程度以及业务成功率等信息,故云实例的状态信息与云实例的业务逻辑相关,更能体现业务需求,故工作节点基于云实例的状态信息,可实时感应业务需求,并基于业务需求准确检测云实例是否需要缩容,可有效减少检测的次数,从而缩短检测时长。
在一种可能的实现方式中,云服务系统还包含管理节点,第一工作节点基于待缩容的云实例的空闲资源量,减小待缩容的云实例的资源配额之后,该方法还包括:第一工作节点将待缩容的云实例的资源配额发送至管理节点。前述实现方式中,第一工作节点对该云实例的资源配额进行减小后,可将减小后的该云实例的资源配额发送至管理节点,故管理节点和第一工作节点可同步该云实例的资源配额,使得全局(即整个云服务系统)资源配置信息准确一致。
本申请实施例的第三方面提供了一种工作节点,工作节点作为第一工作节点,第一工作节点设置于云服务系统中,第一工作节点部署有多个云实例,第一工作节点包括:获取模块,用于获取多个云实例的状态信息;第一确定模块,用于基于状态信息,在多个云实例中确定待扩容的云实例以及扩容所需的资源量;第一调整模块,用于若第一工作节点的空闲资源量大于或等于扩容所需的资源量,基于扩容所需的资源量,增大待扩容的云实例的资源配额。
从上述工作节点可以看出:第一工作节点在获取多个云实例的状态信息后,可基于这部分状态信息,在多个云实例中确定待扩容的云实例以及扩容所需的资源量。若第一工作节点的空闲资源量大于或等于扩容所需的资源量,第一工作节点可基于扩容所需的资源量,增大待扩容的云实例的资源配额。基于前述过程可知,本申请提供了一种新的云实例扩容机制,第一工作节点自行确定待扩容的云实例后,可通过实时修改cgroup配置,以增大待扩容的云实例的资源配额,这对于待扩容的云实例运行的业务而言,是不感知的,故不会导致待扩容的云实例运行的业务中断。
在一种可能的实现方式中,第一确定模块,用于:在多个云实例中,第一工作节点将状态信息满足预置的扩容条件的云实例确定为待扩容的云实例;基于待扩容的云实例的状态信息,确定扩容所需的扩容所需的资源量。
在一种可能的实现方式中,云服务系统还包含第二工作节点,第一工作节点还包括:第二确定模块,用于若第一工作节点的空闲资源量小于扩容所需的资源量,在多个云实例中确定待迁移的云实例,待迁移的云实例运行的业务的优先级低于预置的优先级;第一迁移模块,用于将待迁移的云实例迁移至第二工作节点,以更新第一工作节点的空闲资源量;第二调整模块,用于若更新后的第一工作节点的空闲资源量大于或等于扩容所需的资源量,基于扩容所需的资源量,增大待扩容的云实例的资源配额。
在一种可能的实现方式中,云服务系统还包含第三工作节点,第一工作节点还包括:检测模块,用于若更新后的第一工作节点的空闲资源量小于扩容所需的资源量,第一工作节点检测待扩容的云实例运行的业务的类型;创建模块,用于若待扩容的云实例运行的业务为无状态应用,在第三工作节点处创建新的云实例,新的云实例和待扩容的云实例共同用于运行无状态应用;第二迁移模块,用于若待扩容的云实例运行的业务为有状态应用,将待扩容的云实例迁移至第三工作节点。
在一种可能的实现方式中,状态信息包括以下至少一种:资源占用率、负载程度和业务成功率。
在一种可能的实现方式中,预置的扩容条件包括以下至少一种:资源占用率大于或等于预置的第一资源占用率、负载程度大于或等于预置的第一负载程度和业务成功率小于预置的第一业务成功率。
在一种可能的实现方式中,前述的迁移为冷迁移或热迁移。
在一种可能的实现方式中,云服务系统还包含管理节点,第一工作节点还包括:反馈模块,用于将待扩容的云实例的资源配额发送至管理节点。
本申请实施例的第四方面提供了一种工作节点,工作节点作为第一工作节点,第一工作节点设置于云服务系统中,第一工作节点部署有多个云实例,第一工作节点包括:获取模块,用于获取多个云实例的状态信息;确定模块,用于基于状态信息,在多个云实例中确定待缩容的云实例;释放模块,用于释放待缩容的云实例的空闲资源,并确定被释放的待缩容的云实例的空闲资源量;调整模块,用于基于待缩容的云实例的空闲资源量,减小待缩容的云实例的资源配额。
从上述工作节点可以看出:在获取多个云实例的状态信息后,第一工作节点可基于这些状态信息,在多个云实例中确定待缩容的云实例。然后,第一工作节点释放待缩容的云实例的空闲资源,并确定被释放的待缩容的云实例的空闲资源量。最后,第一工作节点可基于待缩容的云实例的空闲资源量,减小待缩容的云实例的资源配额。基于前述过程可知,本申请提供了一种新的云实例缩容机制,第一工作节点自行确定待缩容的云实例后,可通过实时修改cgroup配置,以减小待缩容的云实例的资源配额,这对于待缩容的云实例运行的业务而言,是不感知的,故不会导致待缩容的云实例运行的业务中断。
在一种可能的实现方式中,确定模块,用于在多个云实例中,将状态信息满足预置的缩容条件的云实例确定为待缩容的云实例。
在一种可能的实现方式中,状态信息包括以下至少一种:资源占用率、负载程度和业务成功率。
在一种可能的实现方式中,预置的缩容条件包括以下至少一种:资源占用率小于预置的第二资源占用率、负载程度小于预置的第二负载程度和业务成功率大于或等于预置的第二业务成功率。
在一种可能的实现方式中,云服务系统还包含管理节点,第一工作节点还包括:反馈模块,用于将待扩容的云实例的资源配额发送至管理节点。
本申请实施例的第五方面提供了一种工作节点,该工作节点包括存储器和处理器;存储器存储有代码,处理器被配置为执行代码,当代码被执行时,工作节点执行如第一方面、第一方面的任意一种可能的实现方式、第二方面或第二方面的任意一种可能的实现方式所述的方法。
本申请实施例的第六方面提供了一种计算机存储介质,计算机存储介质存储有一个或多个指令,指令在由一个或多个计算机执行时使得一个或多个计算机实施如第一方面、第一方面的任意一种可能的实现方式、第二方面或第二方面的任意一种可能的实现方式所述的方法。
本申请实施例的第七方面提供了一种计算机程序产品,计算机程序产品存储有指令,指令在由计算机执行时,使得计算机实施如第一方面、第一方面的任意一种可能的实现方式、第二方面或第二方面的任意一种可能的实现方式所述的方法。
本申请实施例中,在获取多个云实例的状态信息后,第一工作节点可基于这些状态信息,在多个云实例中确定待缩容的云实例。然后,第一工作节点释放待缩容的云实例的空闲资源,并确定被释放的待缩容的云实例的空闲资源量。最后,第一工作节点可基于待缩容的云实例的空闲资源量,减小待缩容的云实例的资源配额。基于前述过程可知,本申请提供了一种新的云实例缩容机制,第一工作节点自行确定待缩容的云实例后,可通过实时修改cgroup配置,以减小待缩容的云实例的资源配额,这对于待缩容的云实例运行的业务而言,是不感知的,故不会导致待缩容的云实例运行的业务中断。
此外,本申请实施例中,在获取多个云实例的状态信息后,第一工作节点可基于这些状态信息,在多个云实例中确定待缩容的云实例。然后,第一工作节点释放待缩容的云实例的空闲资源,并确定被释放的待缩容的云实例的空闲资源量。最后,第一工作节点可基于待缩容的云实例的空闲资源量,减小待缩容的云实例的资源配额。基于前述过程可知,本申请提供了一种新的云实例缩容机制,第一工作节点自行确定待缩容的云实例后,可通过实时修改cgroup配置,以减小待缩容的云实例的资源配额,这对于待缩容的云实例运行的业务而言,是不感知的,故不会导致待缩容的云实例运行的业务中断。
附图说明
图1为VPA的一个示意图;
图2为本申请实施例提供的云服务系统的一个结构示意图;
图3为本申请实施例提供的云服务系统的另一结构示意图;
图4为本申请实施例提供的云实例的扩容方法的一个流程示意图;
图5为本申请实施例提供的云实例的缩容方法的一个流程示意图;
图6为本申请实施例提供的工作节点的一个结构示意图;
图7为本申请实施例提供的工作节点的另一个结构示意图;
图8为本申请实施例提供的工作节点的另一个结构示意图。
具体实施方式
本申请实施例提供了一种云实例的扩缩容方法及其相关设备,可在增大或减小云实例的资源配额时,确保云实例运行的业务不会中断。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”并他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
随着技术的飞速发展,云服务系统的规模越来越大。云服务系统通常包含多个工作节点和管理节点,其中,每个工作节点上部署有多个云实例,管理节点可对所有云实例进行集中管理。
为了便于说明,以云实例为容器(docker)进行介绍。目前,云服务系统以kubernetes作为容器的管理标准,可对容器实现编排部署、灰度升降级、自动扩缩容等功能。在自动伸缩功能中,kubernetes可支持两种自动两种自动伸缩方法,分别为VPA和HPA。如图1所示(图1为VPA的一个示意图),在VPA中,管理节点可基于某个工作节点中pod的资源占用率计算出pod的资源配额推荐值,并发送至该工作节点。当该工作节点创建pod时,可基于该推荐值为pod设置新的资源配额,例如,增大pod的资源配额(也就是增大分配给pod的资源量,即对pod进行扩容)或减小pod的资源配额(也就是减小分配pod的资源量,即对pod进行缩容)。
前述过程中,由于修改pod的资源配额的时间点,只能在创建pod的时候。当需要修改某个pod的资源配额时,工作节点只能先释放该pod,并在重新创建该pod时才能实现资源配额的修改,这样会导致该pod运行的业务中断。
为了解决上述问题,本申请实施例提供了一种云实例的扩缩容方法,该方法可应用于如图2所示的云服务系统中(图2为本申请实施例提供的云服务系统的一个结构示意图),该系统所适用的云场景包含公有云、私有云、混合云等场景,该系统包含管理节点和多个工作节点,管理节点用于集中管理这多个工作节点,下文将分别对管理节点和工作节点进行介绍:
管理节点,通常为单独的一台物理服务器(也可以称为网络设备)。管理节点内设置有多个功能模块,分别为应用程序接口(application programming interface,API)、调度器(scheduler)、主控器(controller-manager)以及数据库(data base,DB)。其中,API可理解为云服务系统的接口,用户可通过API在工作节点上创建云实例。调度器可用于调度云实例到合适的节点上,调度器往往是可替换的组件,其形式可根据不同厂商的要求自行进行设置,此处不做限制。主控制器用于实现云服务系统中各个工作节点以及各个云实例的资源管理等功能。数据库用于存储云服务系统中的配置信息,例如,各个云实例的资源配额等等。
工作节点,通常也为单独的一台物理服务器。基于虚拟化技术,工作节点的操作系统(operating system)之上可部署有节点代理(kubelet)以及多个云实例。其中,操作系统用于实现工作节点的硬件资源管理。节点代理作为工作节点上的代理进程,用于管理工作节点上的所有云实例,包括生命周期的管理,资源配置等等。云实例可通过多种形式呈现,例如,一个云实例可以为一个虚拟机(virtual machine,VM),又如,一个云实例可以为一个容器(docker)。再如,一个云实例可以为一组虚拟机。还如,一个云实例可以为一组容器(也可以称为一个pod)等等。可以理解的是,工作节点自身包含一定的硬件资源(计算资源、存储资源和网络资源等等),节点代理可为每个云实例设置一个资源配额,每个云实例的资源配额即为分配至该云实例的资源量(包含计算资源量、存储资源量和网络资源量等等),且节点代理可管理和调整所有云实例的资源配额。
需要说明的是,如图3所示(图3为本申请实施例提供的云服务系统的另一结构示意图),对于某个工作节点而言,该工作节点的节点代理设置有伸缩接口(scaleAPI)供该工作节点的云实例调用,且在该工作节点的节点代理和该工作节点的云实例之间构建了双向通道,故二者可实现相互通信。具体地,该工作节点的云实例可自行根据自身的状态信息判断是否需要进行扩缩容,在确定需要进行扩缩容后,向该工作节点的节点代理发起自动伸缩请求,以使得该工作节点的节点代理基于该请求对该工作节点的云实例进行扩缩容。
值得注意的是,在节点代理中增加伸缩接口及实现,这部分需要侵入式修改节点代理功能,或者开发成插件。节点代理与云实例之间的双向通道,无需侵入式修改,只需配置相关网络通路即可。
为了进一步理解前述扩缩容的过程,下文将分别从云实例的扩容和云实例的缩容这两个方面对该过程做进一步的介绍。首先对云实例的扩容过程进行说明,图4为本申请实施例提供的云实例的扩容方法的一个流程示意图,需要说明的是,该方法可应用于前述图2或图3所示的云服务系统,该方法的执行主体可为云服务系统中多个工作节点的任意一个工节点,下文将该工作节点称为第一工作节点。如图4所示,该方法包括:
401、第一工作节点获取多个云实例的状态信息。
402、第一工作节点基于状态信息,在多个云实例中确定待扩容的云实例以及扩容所需的资源量。
本实施例中,第一工作节点上部署有多个云实例,对于任意一个云实例而言,该云实例可周期性地获取自身的状态信息,以基于自身的状态信息判定是否需要进行扩容。其中,该周期通常是秒级的时间段。
进一步地,该云实例的状态信息可包含以下至少一种:该云实例的资源占用率、该云实例的负载程度和该云实例的业务成功率。
更进一步地,该云实例的资源占用率可包含以下至少一种:该云实例的中央处理器(central processing unit,CPU)使用率、该云实例的内存使用量、该云实例的存储每秒进行读写操作的次数(input/output operations per second,IOPS)以及该云实例的网络IOPS等等。
更进一步地,该云实例的负载程度可包含以下至少一种:该云实例的任务响应时间、该云实例的任务处理时延、该云实例的数据库指标、该云实例的消息队列指标以及该云实例的任务队列长度等等。
更进一步地,该云实例的业务成功率可包含以下至少一种:该云实例的任务完成率以及该云实例的消息传输成功率等等。
具体地,该云实例可通过以下方式确定是否需要进行扩容:
该云实例可检测自身的状态信息是否满足预置的扩容条件,若满足,则确定需要进行扩容,即将自身确定为待扩容的云实例,若不满足,则确定不需要进行扩容,结束操作。其中,该云实例的状态信息满足预置的扩容条件可包含以下至少一种情况:该云实例的资源占用率大于或等于预置的第一资源占用率、该云实例的负载程度大于或等于预置的第一负载程度以及该云实例的业务成功率小于预置的第一业务成功率。需要说明的是,预置的第一资源占用率可理解为达到扩容需求的资源占用率阈值,预置的第一负载程度可理解为达到扩容需求的负载程度阈值,预置的第一业务成功率可理解为达到扩容需求的业务成功率阈值,这三个阈值的大小可根据实际需求进行设置,此处不做限制。
例如,设该云实例的状态信息为该云实例的任务响应时间,相应的,预置的第一负载程度则为预置的响应时间阈值。并且,该云实例的任务响应时间为3S,预置的响应时间阈值为1S,由此可见,该云实例的任务相应时间大于预置的响应时间阈值,故该云实例可确定需要进行扩容。又如,设该云实例的状态信息为该云实例的内存使用量,相应的,预置的第一资源占用率则为预置的内存使用量阈值。并且,该云实例的内存使用量为8G,预置的内存使用量阈值为1G,由此可见,该云实例的内存使用量大于预置的内存使用量阈值,故该云实例可确定需要进行扩容等等。
若该云实例确定需要进行扩容,该云实例可基于自身的状态信息,来确定自身扩容所需的资源量。例如,该云实例可基于该云实例的任务队列长度,来确定自身扩容所需的计算资源量、存储资源量和网络资源量等等。
403、第一工作节点检测第一工作节点的空闲资源量是否大于或等于扩容所需的资源量。
该云实例确定需要进行扩容以及自身扩容所需的资源量后,可向第一工作节点的节点代理发起扩容请求。节点代理接收到来自该云实例的扩容请求后,可解析该请求,从而确定该云实例为待扩容的云实例以及该云实例扩容所需的资源量。
那么,节点代理可检测第一工作节点的空闲资源量(即第一工作节点本地未被使用的资源量)是否大于或等于该云实例扩容所需的资源量,若第一工作节点的空闲资源量大于或等于该云实例扩容所需的资源量,则执行步骤404,若第一工作节点的空闲资源量小于该云实例扩容所需的资源量,则执行步骤405。
404、若第一工作节点的空闲资源量大于或等于扩容所需的资源量,第一工作节点基于扩容所需的资源量,增大待扩容的云实例的资源配额。
若第一工作节点的空闲资源量大于或等于该云实例扩容所需的资源量,说明第一工作节点的空闲资源是充足的,可利用这部分资源直接对该云实例进行扩容,故节点代理可基于该云实例扩容所需的资源量,增大该云实例的资源配额。例如,设该云实例运行的业务量较大,致使该云实例扩容所需的内存量为5G,原先该云实例的内存配额为1G(即原先分配至该云实例的内存量),节点代理可通过修改cgroup配置,以使得修改后的该云实例的内存配额为6G。
405、若第一工作节点的空闲资源量小于扩容所需的资源量,第一工作节点在多个云实例中确定待迁移的云实例,待迁移的云实例运行的业务的优先级低于预置的优先级。
406、第一工作节点将待迁移的云实例迁移至第二工作节点,以更新第一工作节点的空闲资源量。
若第一工作节点的空闲资源量小于该云实例扩容所需的资源量,说明第一工作节点的空闲资源是不足的,节点代理可尝试解决资源不足的问题,即节点代理可在第一工作节点的多个云实例中,确定至少一个待迁移的云实例,这些待迁移的云实例运行的业务的优先级低于预置的优先级(即这些云实例所运行的业务往往优先级较低),故可将这些待迁移的云实例迁移至第二工作节点,那么,第一工作节点中被分配至这些待迁移的云实例的资源被释放,成为新的空闲资源,从而更新了第一工作节点的空闲资源量(即增大了第一工作节点的空闲资源量)。
需要说明的是,由于第一工作节点中待迁移的云实例所运行的业务往往优先级较低,故待迁移的云实例的迁移方式可以为冷迁移,即第一工作节点的节点代理向管理节点发调度请求,管理节点基于该调度请求,可在除第一工作节点之外的其余工作节点中,挑选一个工作节点作为迁移的目的地,即第二工作节点。然后,管理节点可通知第二工作节点的节点代理创建新的云实例,并控制新的云实例重新运行第一工作节点中待迁移的云实例所运行的业务。最后,管理节点可通知第一工作节点的节点代理释放待迁移的云实例,以使得分配至待迁移的云实例的资源被释放,从而更新第一工作节点的空闲资源量。
407、第一工作节点检测更新后的第一工作节点的空闲资源量是否大于或等于扩容所需的资源量。
更新了第一工作节点的空闲资源量后,节点代理可检测更新后的第一工作节点的空闲资源量是否大于或等于扩容所需的资源量,若更新后的第一工作节点的空闲资源量大于或等于该云实例扩容所需的资源量,则执行步骤408,若更新后的第一工作节点的空闲资源量小于该云实例扩容所需的资源量,则执行步骤410。
408、若更新后的第一工作节点的空闲资源量大于或等于扩容所需的资源量,第一工作节点基于扩容所需的资源量,增大待扩容的云实例的资源配额。
若更新后的第一工作节点的空闲资源量大于或等于该云实例扩容所需的资源量,说明更新后的第一工作节点的空闲资源是充足的,可利用这部分资源直接对该云实例进行扩容,故节点代理可基于该云实例扩容所需的资源量,增大该云实例的资源配额。
409、第一工作节点将待扩容的云实例的资源配额发送至管理节点。
节点代理对该云实例的资源配额进行增大后,可将增大后的该云实例的资源配额发送至管理节点,故管理节点和第一工作节点可同步该云实例的资源配额,使得全局(即整个云服务系统)资源配置信息准确一致。
410、若更新后的第一工作节点的空闲资源量小于扩容所需的资源量,第一工作节点检测待扩容的云实例运行的业务的类型。
411、若待扩容的云实例运行的业务为无状态应用,第一工作节点在第三工作节点处创建新的云实例,新的云实例和待扩容的云实例共同用于运行无状态应用。
412、若待扩容的云实例运行的业务为有状态应用,第一工作节点将待扩容的云实例迁移至第三工作节点。
若更新后的第一工作节点的空闲资源量小于该云实例扩容所需的资源量,说明更新后的第一工作节点的空闲资源是不足的,节点代理则需要再次解决资源不足的问题,节点代理可先检测该云实例运行的业务(也可以理解为该云实例运行的应用)的类型,以基于该云实例运行的业务类型进行相应的处理:
若该云实例运行的业务为无状态应用,节点代理可申请在第三工作节点处创建新的云实例,那么,该云实例和新的云实例可共同运行该云实例原先所运行的业务,也就相当于实现了扩容。具体地,第一工作节点的节点代理确定该云实例运行的业务为无状态应用,可向管理节点向管理节点发调度请求,管理节点基于该调度请求,可在除第一工作节点之外的其余工作节点中,挑选一个工作节点,即第三工作节点。然后,管理节点可通知第三工作节点的节点代理创建新的云实例,并控制新的云实例用于运行第一工作节点中该云实例所运行的业务,由于该业务为无状态应用,对于不同的云实例而言,哪个云实例来运行的效果是相似的,故新的云实例和该云实例虽然位于不同的同坐节点上,但可共同承担该业务,相当于完成了扩容。
若该云实例运行的业务为有状态应用,节点代理可将该云实例迁移至在第三工作节点,其中,第三工作节点的空闲资源量大于或等于该云实例扩容所需的资源量,那么,在将该云实例迁移至第三工作节点后,可增大该云实例的资源配额,也就相当于完成了扩容。具体地,该云实例迁移至第三工作节点的方式既可以是热迁移,也可以是冷迁移。下文将分别对两种方式进行介绍:(1)热迁移的方式为:第一工作节点的节点代理确定该云实例运行的业务为有状态应用,可向管理节点向管理节点发调度请求,管理节点基于该调度请求,可在除第一工作节点之外的其余工作节点中,挑选一个工作节点作为迁移的目的地,即第三工作节点。然后,管理节点可通知第三工作节点的节点代理创建新的云实例,并保持新的云实例的业务状态和该云实例的业务状态一致,以控制新的云实例继续运行第一工作节点中该云实例所运行的业务。最后,管理节点可通知第一工作节点的节点代理释放该云实例,由于第三工作节点的节点代理可令新的云实例的资源配额大于第一工作节点中该云实例的资源配额,故相当于完成了扩容。(2)冷迁移的方式为:第一工作节点的节点代理确定该云实例运行的业务为有状态应用,可向管理节点向管理节点发调度请求,管理节点基于该调度请求,可在除第一工作节点之外的其余工作节点中,挑选一个工作节点作为迁移的目的地,即第三工作节点。然后,管理节点可通知第三工作节点的节点代理创建新的云实例,并控制新的云实例重新运行第一工作节点中该云实例所运行的业务。最后,管理节点可通知第一工作节点的节点代理释放该云实例,由于第三工作节点的节点代理可令新的云实例的资源配额大于第一工作节点中该云实例的资源配额,故相当于完成了扩容。
应理解,本实施例仅以第一工作节点的其中一个云实例进行示意性说明,第一工作节点的其余云实例也可执行如同该云实例所执行的操作,即对于第一工作节点的每一个云实例,均可执行如步骤401至步骤412所述的操作,此处不再赘述。
本申请实施例中,第一工作节点在获取多个云实例的状态信息后,可基于这部分状态信息,在多个云实例中确定待扩容的云实例以及扩容所需的资源量。若第一工作节点的空闲资源量大于或等于扩容所需的资源量,第一工作节点可基于扩容所需的资源量,增大待扩容的云实例的资源配额。基于前述过程可知,本申请提供了一种新的云实例扩容机制,第一工作节点自行确定待扩容的云实例后,可通过实时修改cgroup配置,以增大待扩容的云实例的资源配额,这对于待扩容的云实例运行的业务而言,是不感知的,故不会导致待扩容的云实例运行的业务中断。
进一步地,在VPA中,若需要增大某个云实例的资源配额,工作节点只能在云实例重建的时候才能修改云实例的资源配额,但是云实例重建往往需要等待特定的时机,例如,被驱逐、被杀掉等等。这部分时间通常不可控,导致增大云实例的资源配额所需的时长过大,而本申请实施例不需要在云实例重建的时候去修改云实例的资源配额,可实时修改云实例的资源配额,从而有效缩短增大云实例的资源配额所需的时长。
更进一步地,在VPA中,若需要增大某个云实例的资源配额,工作节点只能在云实例重建的时候才能修改云实例的资源配额,但是云实例重建和业务启动往往需要较长的时间,导致增大云实例的资源配额所需的时长过大,而本申请实施例不需要在云实例重建的时候去修改云实例的资源配额,可实时修改云实例的资源配额,从而有效缩短增大云实例的资源配额所需的时长。
更进一步地,在VPA中,仅根据云实例的资源占用率来检测云实例是否需要进行扩容,无法深入了解业务需求,需要多次检测才能精准确定云实例是否需要扩容,耗费了较长的时间在检测上。本申请实施例可基于云实例的状态信息来检测云实例是否需要扩容,由于云实例的状态信息包含云实例的资源占用率、负载程度以及业务成功率等信息,故云实例的状态信息与云实例的业务逻辑相关,更能体现业务需求,故工作节点基于云实例的状态信息,可实时感应业务需求,并基于业务需求准确检测云实例是否需要扩容,可有效减少检测的次数,从而缩短检测时长。
以上对云实例的扩容过程所进行的详细说明,以下将对云实例的缩容过程进行介绍。图5为本申请实施例提供的云实例的缩容方法的一个流程示意图,需要说明的是,该方法可应用于前述图2或图3所示的云服务系统,该方法的执行主体可为云服务系统中多个工作节点的任意一个工节点,下文将该工作节点称为第一工作节点。如图5所示,该方法包括:
501、第一工作节点获取多个云实例的状态信息。
502、第一工作节点基于状态信息,在多个云实例中确定待缩容的云实例。
本实施例中,第一工作节点上部署有多个云实例,对于任意一个云实例而言,该云实例可周期性地获取自身的状态信息,以基于自身的状态信息判定是否需要进行缩容。
进一步地,该云实例的状态信息可包含以下至少一种:该云实例的资源占用率、该云实例的负载程度和该云实例的业务成功率。
更进一步地,该云实例的资源占用率可包含以下至少一种:该云实例的CPU使用率、该云实例的内存使用量、该云实例的存储IOPS以及该云实例的网络IOPS等等。
更进一步地,该云实例的负载程度可包含以下至少一种:该云实例的任务响应时间、该云实例的任务处理时延、该云实例的数据库指标、该云实例的消息队列指标以及该云实例的任务队列长度等等。
更进一步地,该云实例的业务成功率可包含以下至少一种:该云实例的任务完成率以及该云实例的消息传输成功率等等。
具体地,该云实例可通过以下方式确定是否需要进行缩容:
该云实例可检测自身的状态信息是否满足预置的缩容条件,若满足,则确定需要进行缩容,即将自身确定为待缩容的云实例,若不满足,则确定不需要进行缩容,结束操作。
其中,该云实例的状态信息满足预置的缩容条件可包含以下至少一种情况:该云实例的资源占用率小于预置的第二资源占用率、该云实例的负载程度小于预置的第二负载程度以及该云实例的业务成功率大于或等于预置的第二业务成功率。需要说明的是,预置的第二资源占用率可理解为达到缩容需求的资源占用率阈值,预置的第二负载程度可理解为达到缩容需求的负载程度阈值,预置的第二业务成功率可理解为达到缩容需求的业务成功率阈值,这三个阈值的大小可根据实际需求进行设置,此处不做限制。
503、第一工作节点释放待缩容的云实例的空闲资源,并确定被释放的待缩容的云实例的空闲资源量。
该云实例确定需要进行缩容后,可将自身的空闲资源(即该云实例未使用的资源,该云实例运行业务所占用的资源则为该云实例的非空闲资源)释放,并在完成释放后,计算自身的空闲资源量(即该云实例所释放的资源的大小)。
需要说明的是,当云实例确定自身运行的业务下降需要进行缩容时,云实例可以尝试如下方式进行缩容:(1)对于系统级语言,内存由业务自行管理,大部分内存通过动态分配与释放能及时回收。还有一部分以内存池的方式进行管理,可以在业务量小的时候缩小内存池,业务量大的时候扩大内存池;(2)对于带有垃圾回收的高级语言,内存回收由高级语言的运行时进行内存回收,但是高级语言的内存回收和业务量通常不同步,这时可以由业务主动调用强制垃圾回收来释放内存。
该云实例得到自身的空闲资源量后,则将自身的空闲资源量发送至第一工作节点的节点代理。
504、第一工作节点基于待缩容的云实例的空闲资源量,减小待缩容的云实例的资源配额。
节点代理确定该云实例的空闲资源量后,可基于该云实例的空闲资源量,减小该云实例的资源配额。例如,设该云实例运行的业务量较小,致使该云实例的空闲内存量为2G,原先该云实例的内存配额为5G(即原先分配至该云实例的内存量),节点代理可通过修改cgroup配置,以使得修改后的该云实例的内存配额为3G。
505、第一工作节点将待缩容的云实例的资源配额发送至管理节点。
节点代理对该云实例的资源配额进行减小后,可将减小后的该云实例的资源配额发送至管理节点,故管理节点和第一工作节点可同步该云实例的资源配额,使得全局(即整个云服务系统)资源配置信息准确一致。
应理解,本实施例仅以第一工作节点的其中一个云实例进行示意性说明,第一工作节点的其余云实例也可执行如同该云实例所执行的操作,即对于第一工作节点的每一个云实例,均可执行如步骤501至步骤502所述的操作,此处不再赘述。
本申请实施例中,在获取多个云实例的状态信息后,第一工作节点可基于这些状态信息,在多个云实例中确定待缩容的云实例。然后,第一工作节点释放待缩容的云实例的空闲资源,并确定被释放的待缩容的云实例的空闲资源量。最后,第一工作节点可基于待缩容的云实例的空闲资源量,减小待缩容的云实例的资源配额。基于前述过程可知,本申请提供了一种新的云实例缩容机制,第一工作节点自行确定待缩容的云实例后,可通过实时修改cgroup配置,以减小待缩容的云实例的资源配额,这对于待缩容的云实例运行的业务而言,是不感知的,故不会导致待缩容的云实例运行的业务中断。
进一步地,在减小待缩容的云实例的资源配额之前,可令待缩容的云实例自行释放空闲资源,从而确保对待缩容的云实例的资源配额进行修改时的成功率。
更进一步地,在VPA中,若需要减小某个云实例的资源配额,工作节点只能在云实例重建的时候才能修改云实例的资源配额,但是云实例重建往往需要等待特定的时机,例如,被驱逐、被杀掉等等。这部分时间通常不可控,导致减小云实例的资源配额所需的时长过大,而本申请实施例不需要在云实例重建的时候去修改云实例的资源配额,可实时修改云实例的资源配额,从而有效缩短减小云实例的资源配额所需的时长。
更进一步地,在VPA中,若需要减小某个云实例的资源配额,工作节点只能在云实例重建的时候才能修改云实例的资源配额,但是云实例重建和业务启动往往需要较长的时间,导致减小云实例的资源配额所需的时长过大,而本申请实施例不需要在云实例重建的时候去修改云实例的资源配额,可实时修改云实例的资源配额,从而有效缩短减小云实例的资源配额所需的时长。
更进一步地,在VPA中,仅根据云实例的资源占用率来检测云实例是否需要进行缩容,无法深入了解业务需求,需要多次检测才能精准确定云实例是否需要缩容,耗费了较长的时间在检测上。本申请实施例可基于云实例的状态信息来检测云实例是否需要缩容,由于云实例的状态信息包含云实例的资源占用率、负载程度以及业务成功率等信息,故云实例的状态信息与云实例的业务逻辑相关,更能体现业务需求,故工作节点基于云实例的状态信息,可实时感应业务需求,并基于业务需求准确检测云实例是否需要缩容,可有效减少检测的次数,从而缩短检测时长。
以上是对本申请实施例提供的云实例的缩容方法所进行的详细说明,以下将对本申请实施例提供的工作节点进行介绍。图6为本申请实施例提供的工作节点的一个结构示意图,如图6所示,该工作节点作为第一工作节点,第一工作节点设置于云服务系统中,第一工作节点部署有多个云实例,第一工作节点包括:
获取模块601,用于获取多个云实例的状态信息;
第一确定模块602,用于基于状态信息,在多个云实例中确定待扩容的云实例以及扩容所需的资源量;
第一调整模块603,用于若第一工作节点的空闲资源量大于或等于扩容所需的资源量,基于扩容所需的资源量,增大待扩容的云实例的资源配额。
本申请实施例中,第一工作节点在获取多个云实例的状态信息后,可基于这部分状态信息,在多个云实例中确定待扩容的云实例以及扩容所需的资源量。若第一工作节点的空闲资源量大于或等于扩容所需的资源量,第一工作节点可基于扩容所需的资源量,增大待扩容的云实例的资源配额。基于前述过程可知,本申请提供了一种新的云实例扩容机制,第一工作节点自行确定待扩容的云实例后,可通过实时修改cgroup配置,以增大待扩容的云实例的资源配额,这对于待扩容的云实例运行的业务而言,是不感知的,故不会导致待扩容的云实例运行的业务中断。
在一种可能的实现方式中,第一确定模块602,用于:在多个云实例中,第一工作节点将状态信息满足预置的扩容条件的云实例确定为待扩容的云实例;基于待扩容的云实例的状态信息,确定扩容所需的扩容所需的资源量。
在一种可能的实现方式中,云服务系统还包含第二工作节点,第一工作节点还包括:第二确定模块,用于若第一工作节点的空闲资源量小于扩容所需的资源量,在多个云实例中确定待迁移的云实例,待迁移的云实例运行的业务的优先级低于预置的优先级;第一迁移模块,用于将待迁移的云实例迁移至第二工作节点,以更新第一工作节点的空闲资源量;第二调整模块,用于若更新后的第一工作节点的空闲资源量大于或等于扩容所需的资源量,基于扩容所需的资源量,增大待扩容的云实例的资源配额。
在一种可能的实现方式中,云服务系统还包含第三工作节点,第一工作节点还包括:检测模块,用于若更新后的第一工作节点的空闲资源量小于扩容所需的资源量,第一工作节点检测待扩容的云实例运行的业务的类型;创建模块,用于若待扩容的云实例运行的业务为无状态应用,在第三工作节点处创建新的云实例,新的云实例和待扩容的云实例共同用于运行无状态应用;第二迁移模块,用于若待扩容的云实例运行的业务为有状态应用,将待扩容的云实例迁移至第三工作节点。
在一种可能的实现方式中,状态信息包括以下至少一种:资源占用率、负载程度和业务成功率。
在一种可能的实现方式中,预置的扩容条件包括以下至少一种:资源占用率大于或等于预置的第一资源占用率、负载程度大于或等于预置的第一负载程度和业务成功率小于预置的第一业务成功率。
在一种可能的实现方式中,前述的迁移为冷迁移或热迁移。
在一种可能的实现方式中,云服务系统还包含管理节点,第一工作节点还包括:反馈模块,用于将待扩容的云实例的资源配额发送至管理节点。
图7为本申请实施例提供的工作节点的另一个结构示意图,如图7所示,该工作节点作为第一工作节点,第一工作节点设置于云服务系统中,第一工作节点部署有多个云实例,第一工作节点包括:
获取模块701,用于获取多个云实例的状态信息;
确定模块702,用于基于状态信息,在多个云实例中确定待缩容的云实例;
释放模块703,用于释放待缩容的云实例的空闲资源,并确定被释放的待缩容的云实例的空闲资源量;
调整模块704,用于基于待缩容的云实例的空闲资源量,减小待缩容的云实例的资源配额。
本申请实施例中,在获取多个云实例的状态信息后,第一工作节点可基于这些状态信息,在多个云实例中确定待缩容的云实例。然后,第一工作节点释放待缩容的云实例的空闲资源,并确定被释放的待缩容的云实例的空闲资源量。最后,第一工作节点可基于待缩容的云实例的空闲资源量,减小待缩容的云实例的资源配额。基于前述过程可知,本申请提供了一种新的云实例缩容机制,第一工作节点自行确定待缩容的云实例后,可通过实时修改cgroup配置,以减小待缩容的云实例的资源配额,这对于待缩容的云实例运行的业务而言,是不感知的,故不会导致待缩容的云实例运行的业务中断。
在一种可能的实现方式中,确定模块702,用于在多个云实例中,将状态信息满足预置的缩容条件的云实例确定为待缩容的云实例。
在一种可能的实现方式中,状态信息包括以下至少一种:资源占用率、负载程度和业务成功率。
在一种可能的实现方式中,预置的缩容条件包括以下至少一种:资源占用率小于预置的第二资源占用率、负载程度小于预置的第二负载程度和业务成功率大于或等于预置的第二业务成功率。
在一种可能的实现方式中,云服务系统还包含管理节点,第一工作节点还包括:反馈模块,用于将待扩容的云实例的资源配额发送至管理节点。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参考本申请实施例前述所示的方法实施例中的叙述,此处不再赘述。
图8为本申请实施例提供的工作节点的另一个结构示意图。如图8所示,该工作节点作为第一工作节点,第一工作节点设置于云服务系统中,第一工作节点部署有多个云实例,第一工作节点可以包括一个或一个以上中央处理器801,存储器802,输入输出接口803,有线或无线网络接口804,电源805。
存储器802可以是短暂存储或持久存储。更进一步地,中央处理器801可以配置为与存储器802通信,在第一工作节点上执行存储器802中的一系列指令操作。
本实施例中,中央处理器801可以执行前述图4或图5所示实施例中第一工作节点所执行的操作,具体此处不再赘述。
本实施例中,中央处理器801中的具体功能模块划分可以与前述图6中所描述的获取模块、第一确定模块、第二调整模块、第二确定模块、第一迁移模块、第二调整模块、检测模块、创建模块、第二迁移模块和反馈模块等模块的划分方式类似,此处不再赘述;或,
中央处理器801中的具体功能模块划分可以与前述图7中所描述的获取模块、确定模块、释放模块、调整模块和反馈模块等模块的划分方式类似,此处不再赘述。
本申请实施例还涉及一种计算机存储介质,包括计算机可读指令,当所述计算机可读指令被执行时,实现如图5所示实施例中第一服务器所执行的步骤,或,实现如图5所示实施例中仲裁器所执行的步骤。
本申请实施例还涉及一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如图5所示实施例中第一服务器所执行的步骤,或,实现如图5所示实施例中仲裁器所执行的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (26)
1.一种云实例的扩容方法,其特征在于,所述方法应用于云服务系统,所述云服务系统包含第一工作节点,所述第一工作节点部署有多个云实例,所述方法包括:
所述第一工作节点获取所述多个云实例的状态信息;
所述第一工作节点基于所述状态信息,在所述多个云实例中确定待扩容的云实例以及扩容所需的资源量;
若所述第一工作节点的空闲资源量大于或等于所述扩容所需的资源量,所述第一工作节点基于所述扩容所需的资源量,增大所述待扩容的云实例的资源配额。
2.根据权利要求1所述的方法,其特征在于,所述第一工作节点基于所述状态信息,在所述多个云实例中确定待扩容的第一云实例以及扩容所需的扩容所需的资源量包括:
在所述多个云实例中,所述第一工作节点将状态信息满足预置的扩容条件的云实例确定为待扩容的云实例;
所述第一工作节点基于所述待扩容的云实例的状态信息,确定扩容所需的扩容所需的资源量。
3.根据权利要求1或2所述的方法,其特征在于,所述云服务系统还包含第二工作节点,所述方法还包括:
若所述第一工作节点的空闲资源量小于所述扩容所需的资源量,所述第一工作节点在所述多个云实例中确定待迁移的云实例,所述待迁移的云实例运行的业务的优先级低于预置的优先级;
所述第一工作节点将所述待迁移的云实例迁移至第二工作节点,以更新所述第一工作节点的空闲资源量;
若更新后的第一工作节点的空闲资源量大于或等于所述扩容所需的资源量,所述第一工作节点基于所述扩容所需的资源量,增大所述待扩容的云实例的资源配额。
4.根据权利要求3所述的方法,其特征在于,所述云服务系统还包含第三工作节点,所述方法还包括:
若更新后的第一工作节点的空闲资源量小于所述扩容所需的资源量,所述第一工作节点检测所述待扩容的云实例运行的业务的类型;
若所述待扩容的云实例运行的业务为无状态应用,所述第一工作节点在所述第三工作节点处创建新的云实例,所述新的云实例和所述待扩容的云实例共同用于运行所述无状态应用;
若所述待扩容的云实例运行的业务为有状态应用,所述第一工作节点将所述待扩容的云实例迁移至第三工作节点。
5.根据权利要求2所述的方法,其特征在于,所述状态信息包括以下至少一种:资源占用率、负载程度和业务成功率。
6.根据权利要求5所述的方法,其特征在于,所述预置的扩容条件包括以下至少一种:资源占用率大于或等于预置的第一资源占用率、负载程度大于或等于预置的第一负载程度和业务成功率小于预置的第一业务成功率。
7.根据权利要求4所述的方法,其特征在于,所述迁移为冷迁移或热迁移。
8.根据权利要求1至7任意一项所述的方法,其特征在于,所述云服务系统还包含管理节点,所述第一工作节点增大所述待扩容的云实例的资源配额之后,所述方法还包括:
所述第一工作节点将所述待扩容的云实例的资源配额发送至所述管理节点。
9.一种云实例的缩容方法,其特征在于,所述方法应用于云服务系统,所述云服务系统包含第一工作节点,所述第一工作节点部署有多个云实例,所述方法包括:
所述第一工作节点获取所述多个云实例的状态信息;
所述第一工作节点基于所述状态信息,在所述多个云实例中确定待缩容的云实例;
所述第一工作节点释放所述待缩容的云实例的空闲资源,并确定被释放的所述待缩容的云实例的空闲资源量;
所述第一工作节点基于所述待缩容的云实例的空闲资源量,减小所述待缩容的云实例的资源配额。
10.根据权利要求9所述的方法,其特征在于,所述第一工作节点基于所述状态信息,在所述多个云实例中确定待缩容的云实例包括:
在所述多个云实例中,所述第一工作节点将状态信息满足预置的缩容条件的云实例确定为待缩容的云实例。
11.根据权利要求9或10所述的方法,其特征在于,所述状态信息包括以下至少一种:资源占用率、负载程度和业务成功率。
12.根据权利要求11所述的方法,其特征在于,所述预置的缩容条件包括以下至少一种:资源占用率小于预置的第二资源占用率、负载程度小于预置的第二负载程度和业务成功率大于或等于预置的第二业务成功率。
13.根据权利要求9至12任意一项所述的方法,其特征在于,所述云服务系统还包含管理节点,所述第一工作节点基于所述待缩容的云实例的空闲资源量,减小所述待缩容的云实例的资源配额之后,所述方法还包括:
所述第一工作节点将所述待缩容的云实例的资源配额发送至所述管理节点。
14.一种工作节点,其特征在于,所述工作节点作为第一工作节点,所述第一工作节点设置于云服务系统中,所述第一工作节点部署有多个云实例,所述第一工作节点包括:
获取模块,用于获取所述多个云实例的状态信息;
第一确定模块,用于基于所述状态信息,在所述多个云实例中确定待扩容的云实例以及扩容所需的资源量;
第一调整模块,用于若所述第一工作节点的空闲资源量大于或等于所述扩容所需的资源量,基于所述扩容所需的资源量,增大所述待扩容的云实例的资源配额。
15.根据权利要求14所述的工作节点,其特征在于,所述第一确定模块,用于:
在所述多个云实例中,所述第一工作节点将状态信息满足预置的扩容条件的云实例确定为待扩容的云实例;
基于所述待扩容的云实例的状态信息,确定扩容所需的扩容所需的资源量。
16.根据权利要求14或15所述的工作节点,其特征在于,所述云服务系统还包含第二工作节点,所述第一工作节点还包括:
第二确定模块,用于若所述第一工作节点的空闲资源量小于所述扩容所需的资源量,在所述多个云实例中确定待迁移的云实例,所述待迁移的云实例运行的业务的优先级低于预置的优先级;
第一迁移模块,用于将所述待迁移的云实例迁移至第二工作节点,以更新所述第一工作节点的空闲资源量;
第二调整模块,用于若更新后的第一工作节点的空闲资源量大于或等于所述扩容所需的资源量,基于所述扩容所需的资源量,增大所述待扩容的云实例的资源配额。
17.根据权利要求16所述的工作节点,其特征在于,所述云服务系统还包含第三工作节点,所述第一工作节点还包括:
检测模块,用于若更新后的第一工作节点的空闲资源量小于所述扩容所需的资源量,所述第一工作节点检测所述待扩容的云实例运行的业务的类型;
创建模块,用于若所述待扩容的云实例运行的业务为无状态应用,在所述第三工作节点处创建新的云实例,所述新的云实例和所述待扩容的云实例共同用于运行所述无状态应用;
第二迁移模块,用于若所述待扩容的云实例运行的业务为有状态应用,将所述待扩容的云实例迁移至第三工作节点。
18.根据权利要求15所述的工作节点,其特征在于,所述状态信息包括以下至少一种:资源占用率、负载程度和业务成功率。
19.根据权利要求18所述的工作节点,其特征在于,所述预置的扩容条件包括以下至少一种:资源占用率大于或等于预置的第一资源占用率、负载程度大于或等于预置的第一负载程度和业务成功率小于预置的第一业务成功率。
20.一种工作节点,其特征在于,所述工作节点作为第一工作节点,所述第一工作节点设置于云服务系统中,所述第一工作节点部署有多个云实例,所述第一工作节点包括:
获取模块,用于获取所述多个云实例的状态信息;
确定模块,用于基于所述状态信息,在所述多个云实例中确定待缩容的云实例;
释放模块,用于释放所述待缩容的云实例的空闲资源,并确定被释放的所述待缩容的云实例的空闲资源量;
调整模块,用于基于所述待缩容的云实例的空闲资源量,减小所述待缩容的云实例的资源配额。
21.根据权利要求20所述的工作节点,其特征在于,所述确定模块,用于在所述多个云实例中,将状态信息满足预置的缩容条件的云实例确定为待缩容的云实例。
22.根据权利要求20或21所述的工作节点,其特征在于,所述状态信息包括以下至少一种:资源占用率、负载程度和业务成功率。
23.根据权利要求22所述的工作节点,其特征在于,所述预置的缩容条件包括以下至少一种:资源占用率小于预置的第二资源占用率、负载程度小于预置的第二负载程度和业务成功率大于或等于预置的第二业务成功率。
24.一种工作节点,其特征在于,所述工作节点包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述工作节点执行如权利要求1至13任一所述的方法。
25.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一个或多个指令,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机实施权利要求1至13任一所述的方法。
26.一种计算机程序产品,其特征在于,所述计算机程序产品存储有指令,所述指令在由计算机执行时,使得所述计算机实施权利要求1至13任意一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111450334.5A CN116204268A (zh) | 2021-11-30 | 2021-11-30 | 一种云实例的扩缩容方法及其相关设备 |
PCT/CN2022/134647 WO2023098614A1 (zh) | 2021-11-30 | 2022-11-28 | 一种云实例的扩缩容方法及其相关设备 |
EP22900418.9A EP4425332A1 (en) | 2021-11-30 | 2022-11-28 | Cloud instance capacity expansion/reduction method and related device therefor |
US18/676,628 US20240320055A1 (en) | 2021-11-30 | 2024-05-29 | Cloud instance scaling method and related device thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111450334.5A CN116204268A (zh) | 2021-11-30 | 2021-11-30 | 一种云实例的扩缩容方法及其相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116204268A true CN116204268A (zh) | 2023-06-02 |
Family
ID=86508193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111450334.5A Pending CN116204268A (zh) | 2021-11-30 | 2021-11-30 | 一种云实例的扩缩容方法及其相关设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240320055A1 (zh) |
EP (1) | EP4425332A1 (zh) |
CN (1) | CN116204268A (zh) |
WO (1) | WO2023098614A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701126B (zh) * | 2023-08-01 | 2023-12-12 | 中海石油气电集团有限责任公司 | pod容量控制方法及装置 |
CN117806815B (zh) * | 2023-11-27 | 2024-07-09 | 本原数据(北京)信息技术有限公司 | 数据处理方法、系统、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037794B (zh) * | 2019-12-25 | 2023-04-18 | 马上消费金融股份有限公司 | 计算资源配置调度方法、装置及系统 |
CN112199194B (zh) * | 2020-10-14 | 2024-04-19 | 广州虎牙科技有限公司 | 基于容器集群的资源调度方法、装置、设备和存储介质 |
CN113268310B (zh) * | 2021-04-12 | 2024-04-02 | 新浪技术(中国)有限公司 | 一种Pod资源配额调整方法、装置、电子设备及存储介质 |
CN113395178B (zh) * | 2021-06-11 | 2022-12-09 | 聚好看科技股份有限公司 | 一种容器云弹性伸缩的方法及装置 |
-
2021
- 2021-11-30 CN CN202111450334.5A patent/CN116204268A/zh active Pending
-
2022
- 2022-11-28 EP EP22900418.9A patent/EP4425332A1/en active Pending
- 2022-11-28 WO PCT/CN2022/134647 patent/WO2023098614A1/zh active Application Filing
-
2024
- 2024-05-29 US US18/676,628 patent/US20240320055A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023098614A1 (zh) | 2023-06-08 |
US20240320055A1 (en) | 2024-09-26 |
EP4425332A1 (en) | 2024-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103631633B (zh) | 虚拟机全系统在线迁移方法、装置与系统 | |
CN111399986B (zh) | Pod资源配额配置方法及装置 | |
JP5510556B2 (ja) | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム | |
WO2023098614A1 (zh) | 一种云实例的扩缩容方法及其相关设备 | |
CN103793278B (zh) | 一种基于虚拟器件运维规则的资源自动调整方法 | |
CN101593133A (zh) | 虚拟机资源负载均衡方法及装置 | |
CN109257399B (zh) | 云平台应用程序管理方法及管理平台、存储介质 | |
CN103593242A (zh) | 基于Yarn框架的资源共享控制系统 | |
US20140282540A1 (en) | Performant host selection for virtualization centers | |
CN112199192B (zh) | 基于服务器部署Kubernetes集群精细化管理配额的方法及系统 | |
CN110018883A (zh) | 一种虚拟机删除方法、装置、设备及存储介质 | |
KR20180122593A (ko) | 클라우드 컴퓨팅 환경에서 클라우드 호스트를 삭제하는 방법, 장치, 서버 및 저장 매체 | |
CN109582459A (zh) | 应用的托管进程进行迁移的方法及装置 | |
US20150370593A1 (en) | System construction device and system construction method | |
CN109117244B (zh) | 一种虚拟机资源申请排队机制的实现方法 | |
Van Tendeloo et al. | Activity in pythonpdevs | |
CN108153794B (zh) | 页面缓存数据刷新方法、装置及系统 | |
US12028269B2 (en) | Method for optimal resource selection based on available GPU resource analysis in large-scale container platform | |
CN106325972B (zh) | 一种虚拟机管理方法及网络设备 | |
CN112631994A (zh) | 数据迁移方法及系统 | |
CN116881012A (zh) | 一种容器应用垂直扩容方法、装置、设备及可读存储介质 | |
CN115309558A (zh) | 一种资源调度管理系统、方法、计算机设备及存储介质 | |
CN114201413A (zh) | 自动化测试方法、系统及电子设备 | |
WO2016075771A1 (ja) | 計算機システムおよび計算機システムにおけるオートスケール方法 | |
CN112860370B (zh) | 虚拟机资源分配方法、装置、系统和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |