CN115426269A - 一种基于容器资源的垂直扩缩容方法、装置及存储介质 - Google Patents
一种基于容器资源的垂直扩缩容方法、装置及存储介质 Download PDFInfo
- Publication number
- CN115426269A CN115426269A CN202211366438.2A CN202211366438A CN115426269A CN 115426269 A CN115426269 A CN 115426269A CN 202211366438 A CN202211366438 A CN 202211366438A CN 115426269 A CN115426269 A CN 115426269A
- Authority
- CN
- China
- Prior art keywords
- pod
- container
- resource
- resources
- resource amount
- 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 37
- 230000008602 contraction Effects 0.000 title claims abstract description 24
- 230000009467 reduction Effects 0.000 claims abstract description 12
- 230000015654 memory Effects 0.000 claims description 21
- 238000012986 modification Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 10
- 238000013341 scale-up Methods 0.000 claims 1
- 238000013468 resource allocation Methods 0.000 abstract description 2
- 230000007246 mechanism Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- 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/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/45562—Creating, deleting, cloning virtual machine instances
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于容器资源的垂直扩缩容方法、装置及存储介质,该方法涉及资源分配技术领域并应用于云计算中,包括:当pod容器需要扩缩容时,通过OCI标准使用runc程序中的runc update命令控制cgroup中的参数,将pod容器中的容器资源量修改为预期资源量。解决了目前在进行扩容或缩容时,原来的pod容器被删除重建,使得原来的pod容器里运行了较长时间的程序也被删除,又需要在新的pod中重新运行一遍程序,占用了计算机的资源并且浪费了时间的问题。
Description
技术领域
本发明涉及资源分配技术领域,尤其涉及一种基于容器资源的垂直扩缩容方法、装置及存储介质。
背景技术
kubernetes,简称k8s,是一个开源的并且能够用于管理云平台中多个主机上的容器化的应用,提供了应用部署、规划、更新和维护的一种机制,其目标是让部署容器化的应用简单并且高效。
kubernetes能够控制pod容器使用资源的大小,并且能够给pod分配资源参数。当pod控制器发现资源量不足以支持程序继续运行,并且程序运行时超出资源量时,pod控制器会依次执行以下动作:删除当前pod容器、修改podSpec文件,并根据新的pod资源参数重新建立新的pod容器。对pod控制器进行缩容可以节约计算机内存,使得计算机剩下的其他内存可以提供给其他程序使用,但是在执行缩容动作时也会使pod容器被删除重建。
所以,目前在进行扩容或缩容时,原来的pod容器会被删除重建,使得原来的pod容器里运行了较长时间的程序也被删除,又需要在新的pod中重新运行一遍程序,占用了计算机的资源并且浪费了时间。
发明内容
在本申请实施例中,通过提供一种基于容器资源的垂直扩缩容方法,解决了目前在进行扩容或缩容时,原来的pod容器会被删除重建,使得原来的pod容器里运行了较长时间的程序也被删除,又需要在新的pod中重新运行一遍程序,占用了计算机的资源并且浪费了时间的问题。
第一方面,当pod容器需要扩缩容时,通过OCI标准使用runc程序中的runc update命令控制cgroup中的参数,将pod容器中的容器资源量修改为预期资源量;当所述pod容器需要扩容时,判断本地资源是否满足所述预期资源量;当所述本地资源不满足所述预期资源量时,发送资源量不够消息至事件通知操作;当所述本地资源满足所述预期资源量时,执行所述将所述pod容器中的容器资源量修改为预期资源量。
结合第一方面,在一种可能的实现方式中,所述方法还包括:创建自定义资源定义;判断所述pod容器是否需要扩缩容,并在所述pod容器需要扩缩容时,发送扩缩容事件至所述自定义资源定义;当部署在各节点的扩缩容控制器监听到所述自定义资源定义中具有扩缩容事件时,通过每个所述扩缩容控制器判断是否为当前节点的所述pod容器需要扩缩容。
结合第一方面,在一种可能的实现方式中,所述判断pod容器是否需要扩缩容,包括:获取所述pod容器的指标信息,并根据所述指标信息确定预期资源量;比较所述pod容器的初始设定资源量与所述预期资源量;根据比较结果确定所述pod容器是否需要扩缩容。
结合第一方面,在一种可能的实现方式中,所述方法还包括:当完成对所述pod容器中的容器资源量修改后,发送成功通知至事件通知操作。
第二方面,本申请实施例提供了一种基于容器资源的垂直扩缩容装置,该装置包括:扩缩容模块,用于当pod容器需要扩缩容时,通过OCI标准使用runc程序中的runcupdate命令控制cgroup中的参数,将pod容器中的容器资源量修改为预期资源量。所述扩缩容模块具体用于:当所述pod容器需要扩容时,判断本地资源是否满足所述预期资源量;当所述本地资源不满足所述预期资源量时,发送资源量不够消息至事件通知操作;当所述本地资源满足所述预期资源量时,执行所述将所述pod容器中的容器资源量修改为预期资源量。
结合第二方面,在一种可能的实现方式中,所述装置还包括:判断模块,用于创建自定义资源定义;判断所述pod容器是否需要扩缩容,并在所述pod容器需要扩缩容时,发送扩缩容事件至所述自定义资源定义;当部署在各节点的扩缩容控制器监听到所述自定义资源定义中具有扩缩容事件时,通过每个所述扩缩容控制器判断是否为当前节点的所述pod容器需要扩缩容。
结合第二方面,在一种可能的实现方式中,所述装置还包括:通知模块,用于当完成对所述pod容器中的容器资源量修改后,发送成功通知至事件通知操作。
结合第二方面,在一种可能的实现方式中,所述判断模块具体用于:获取所述pod容器的指标信息,并根据所述指标信息确定预期资源量;比较所述pod容器的初始设定资源量与所述预期资源量;根据比较结果确定所述pod容器是否需要扩缩容。
第三方面,本申请实施例提供了一种基于容器资源的垂直扩缩容服务器,包括存储器和处理器;所述存储器用于存储计算机可执行指令;所述处理器用于执行所述计算机可执行指令,以实现第一方面或第一方面任一种可能的实现方式所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有可执行指令,计算机执行所述可执行指令时能够实现以实现第一方面或第一方面任一种可能的实现方式所述的方法。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果:
本申请实施例提供了一种基于容器资源的垂直扩缩容方法,该方法使用runc程序中的runc update命令控制cgroup中的参数,将pod容器中的容器资源量修改为预期资源量,使pod容器在不被删除重建的情况下实现对pod容器资源使用量进行修改,能够给pod容器进行扩容增加更多的资源量,也能够给pod容器进行缩容节约计算机内存,从而解决了pod容器因其资源量不足而被删除重建使在pod容器中运行了较长时间的程序也被删除的问题,也解决了在需要节约计算机内存时给pod容器进行缩容也需要被删除重建的问题,节省了计算机的资源并且节约了时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于容器资源的垂直扩缩容方法的流程图;
图2为本申请实施例提供的当pod容器需要扩容时对本地资源量进行判断的流程图;
图3为本申请实施例提供的通过判断对事件通知用户自定义资源进行通知的流程图;
图4为本申请实施例提供的判断pod容器是否需要扩缩容的流程图;
图5为本申请实施例提供的kubernetes集群架构图;
图6为本申请实施例提供的基于容器资源的垂直扩缩容装置的示意图;
图7为本申请实施例提供的基于容器资源的垂直扩缩容服务器的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对本申请实施例中涉及的相关技术或概念作简单介绍。
kubernetes,简称k8s,它是一个开源的并用于管理云平台中多个主机上的容器化的应用。kubernetes提供了应用部署、规划、更新和维护的一种机制,目标是让部署容器化的应用简单并且高效,具有自主地管理容器来保证云平台中的容器按照用户的期望状态运行的特点。
pod是kubernetes应用的最小管理单元,一个pod代表着集群中运行的一个进程。在kubernetes中,按照pod的创建方式可以将其分为两类:1.kubernetes直接创建出来的pod,这种pod删除后就没有了,也不会重建;2.kubernetes通过控制器创建的pod,这种pod删除了之后还会自动重建。
容器运行时,Container runtime是指管理和运行容器的工具,当前的容器工具很多,比如docker,rkt等,但是如果每个容器运行时所使用的工具都不同不利于容器领域的发展,因此,一些容器厂商就一起制定了容器镜像格式和容器运行时的标准,即容器OCI(英文:Open Container Initiative)标准也称为开放容器计划,此标准规范了容器的配置、执行环境和生命周期管理。容器OCI(英文:Open Container Initiative)标准维护runc(英文:runtime-spec)的标准协议和相关的开发工作,目前包含两部分内容:1.运行时标准(Runtime Specification,runtime-spec),该标准定义了如何根据相应的配置构建容器运行时;2.镜像标准(Image Specification,image-spec),该标准定义了容器运行时使用的镜像的打包规范。runc负责容器生命周期的管理,以及对容器状态的描述,符合OCI规范,这意味着runc可以使用OCI包并从中运行一个容器。
自定义资源定义(英文:Custom Resource Define,简称:CRD),是Kubernetes为提高可扩展性,让开发者去自定义资源的一种方式。CRD资源可以动态注册到集群中,注册完毕后,用户可以通过kubectl来创建访问这个自定义资源定义对象。
本申请提供了一种基于容器资源的垂直扩缩容方法,如图1所示,该方法包括步骤S101。
当pod容器需要扩缩容时,执行S101:通过OCI标准使用runc程序中的runc update命令控制cgroup中的参数,将pod容器中的容器资源量修改为预期资源量。
其中,cgroup中的参数为CPU和内存,cgroup可以控制CPU的底层,决定程序能使用多少内存,通过runc update命令可以修改容器程序的cgroup中的参数,从而能够将pod容器中的容器资源量修改为预期资源量。
本申请实施例中,对pod容器进行扩缩容是在kubernetes应用中进行,通过runc程序能够修改容器资源量的限制,在达到原始资源量的限制时不触发OOM(Out Of Memory)Killer机制,使得pod容器不被删除重建。其中,上述的OOM Killer机制允许开发者在超出资源量的情况下杀死指定进程。
当然,上述方法在其他基于容器OCI(英文:Open Container Initiative)标准的应用中也可实现,比如在containerd中。容器OCI标准可以理解为容器运行标准,是由多个组织共同成立,主要用于维护runc的标准协议和相关的开发工作。runc主要负责容器生命周期的管理,以及对容器状态的描述,是OCI标准的具体实现方式。
这里举例实现上述方法的一个实施例:比如将<容器1>的内存设置为1000bytes,所对应的程序为:runc update--memory 1000<容器1>,该程序的单位默认为bytes,使用其他存储单位时需要进行单位换算。此实施例仅为其中的一个例子,并不以此实施例为限制,可根据实际需求进行runc程序的编程。
图2为本申请实施例提供的当pod容器需要扩容时对资源量进行判断的流程图,包括在实现步骤S101之前的步骤S201至步骤S203。
S201:判断本地资源是否满足预期资源量。
当本地资源不满足预期资源量时,执行S202:发送资源量不够消息至事件通知操作。其中,本申请的事件通知所用到的资源定义为CRD,它是一种用户能够进行自定义的资源定义,CRD是一种无需编码就可以扩展原生kubenetes api接口的方式,适合扩展kubernetes的自定义接口和功能。当然,事件通知还可以使用其他资源进行定义,比如Service和Deployment等。
本申请实施例所用到的CRD用于保存需要扩缩容pod容器的信息,包括:pod所在主机地址、初始资源量、预期资源量和容器ID等。其中,容器ID是每个开发节点的属性,通过全局唯一标识符值指定。
当本地资源满足预期资源量时,执行S203:执行将pod容器中的容器资源量修改为预期资源量。
图3为本申请实施例提供的通过判断对事件通知用户自定义资源进行通知的流程图,包括在实现步骤S201之前的步骤S301至步骤S303。
S301:创建自定义资源定义。
S302:判断pod容器是否需要扩缩容,并在pod容器需要扩缩容时,发送扩缩容事件至自定义资源定义。
S303:当部署在各节点的扩缩容控制器监听到自定义资源定义中具有扩缩容事件时,通过每个扩缩容控制器判断是否为当前节点的pod容器需要扩缩容。
其中,扩缩容控制器需要部署在kubernetes集群的每一个节点中,用于监听事件通知用户自定义资源,扩缩容控制器可通过DaemonSet来进行部署,实现上述步骤S301至步骤S303。扩缩容控制器在进行扩缩容时需要绕过容器运行时接口CRI标准,直接通过OCI标准使用runc程序来实现上述步骤S101。
图4为本申请实施例提供的判断pod容器是否需要扩缩容的具体执行步骤流程图,包括在实现步骤S302之前的步骤S401至步骤S403。
S401:获取pod容器的指标信息,并根据指标信息确定预期资源量。
S402:比较pod容器的初始设定资源量与预期资源量。
S403:根据比较结果确定pod容器是否需要扩缩容。
在实现上述步骤S401至步骤S403时,指标计算程序通过Metrics-Server来获取pod容器的指标信息。其中,Metrics-Server是集群核心监控数据的聚合器作为一个Deployment对象默认部署在Kubernetes集群中,存储了Kubernetes集群中每一个节点的监控数据并且提供api接口以供其分析和使用。pod容器的指标信息指的是在上述自定义资源定义CRD中所保存的需要扩缩容pod容器的信息,具体包括pod所在主机地址、初始资源量、预期资源量和容器ID等。
其中,步骤S401通过指标计算程序用于通过计算CPU和内存的使用量,来决定预期资源量应为多少,该指标计算程序是一种预设的规则,可由技术人员根据不同的需求进行不同的定义来实现。当完成对pod容器中的初始设定资源量修改后,发送成功通知至CRD。
下面列举两个实施例对上述部署的指标计算程序进行说明,当然,还有其他实施例,不以此实施例为限制。
1.缩容实施例:假设初始时给定pod容器资源量是内存100M,指标计算程序获取到pod容器在最近5分钟内峰值时所使用的最大内存是30M,平均使用的内存是20M,此时可以触发缩容机制,将内存从100M缩容到40M。
2.扩容实施例:假设初始时给定pod容器资源量是内存100M,指标计算程序获取到pod容器在最近5分钟内峰值时所使用的最大内存是90M,平均使用的内存是80M,此时可以触发扩容机制,将内存从100M扩容到130M。
图5为本申请实施例提供的kubernetes集群架构图,如图5所示,kubernetes集群中部署有一个指标计算程序,部署模式一般为Deployment模式部署。当然,还可以使用其他模式进行部署,比如使用kubeadmin通过离线镜像的方式和通过厂商集成的rancher方式等,并不以此模式的部署为限制。
指标计算程序可以出现在任意work节点中也可以出现在master节点中,可以从Metrics-Server中获取全部节点的数据,计算pod容器是否需要进行扩缩容,如果pod容器需要扩缩容,指标计算程序则发送通知至自定义资源定义,由扩缩容控制器在work节点中实现扩缩容。图5中的kubelet用于控制kubernetes中的所有pod容器,api-seiver用于连接kubernetes中的全部数据。
虽然本申请实施例提供了以上的方法步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。另外,本申请实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在该生成可执行动态链接库文件方法执行时,可以按照本实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本申请实施例还提供了一种基于容器资源的垂直扩缩容装置600,如图6所示,该装置包括:扩缩容模块601,用于当pod容器需要扩缩容时,通过OCI标准使用runc程序中的runc update命令控制cgroup中的参数,将pod容器中的容器资源量修改为预期资源量。具体用于:判断本地资源是否满足预期资源量;当本地资源不满足所述预期资源量时,发送资源量不够消息至事件通知操作;当本地资源满足预期资源量时,执行修改步骤。
本申请实施例提供的一种基于容器资源的垂直扩缩容装置600还包括:判断模块,用于创建自定义资源定义;判断pod容器是否需要扩缩容,并在pod容器需要扩缩容时,发送扩缩容事件至自定义资源定义;当部署在各节点的扩缩容控制器监听到自定义资源定义中具有扩缩容事件时,通过每个扩缩容控制器判断是否为当前节点的pod容器需要扩缩容。具体用于:当所述pod容器需要扩容时,获取pod容器的指标信息,并根据指标信息确定预期资源量;比较pod容器的初始设定资源量与预期资源量;根据比较结果确定pod容器是否需要扩缩容。
进一步地,本申请实施例提供的一种基于容器资源的垂直扩缩容装置600还包括:通知模块,用于当完成对pod容器中的容器资源量修改后,发送成功通知至事件通知操作。
如图7所示,本申请实施例还提供了一种基于容器资源的垂直扩缩容服务器,包括存储器701和处理器702;存储器701用于存储计算机可执行指令;处理器702用于执行计算机可执行指令,以实现本申请实施例以上所述的一种基于容器资源的垂直扩缩容方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有可执行指令,计算机执行所述可执行指令时能够实现以实现本申请实施例以上所述的一种基于容器资源的垂直扩缩容方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请实施例所述的方法。
本说明书中的各个实施方式采用递进的方式描述,各个实施方式之间相同或相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。本申请的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。
以上实施例仅用以说明本申请的技术方案,而非对本申请限制;尽管参照前述实施例对本申请进行了详细的说明,本领域普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请技术方案的范围。
Claims (7)
1.一种基于容器资源的垂直扩缩容方法,其特征在于,包括:
当pod容器需要扩缩容时,通过OCI标准使用runc程序中的runc update命令控制cgroup中的参数,将所述pod容器中的容器资源量修改为预期资源量;
当所述pod容器需要扩容时,判断本地资源是否满足所述预期资源量;
当所述本地资源不满足所述预期资源量时,发送资源量不够消息至事件通知操作;
当所述本地资源满足所述预期资源量时,执行所述将所述pod容器中的容器资源量修改为预期资源量。
2.根据权利要求1所述的方法,其特征在于,还包括:
创建自定义资源定义;
判断所述pod容器是否需要扩缩容,并在所述pod容器需要扩缩容时,发送扩缩容事件至所述自定义资源定义;
当部署在各节点的扩缩容控制器监听到所述自定义资源定义中具有扩缩容事件时,通过每个所述扩缩容控制器判断是否为当前节点的所述pod容器需要扩缩容。
3.根据权利要求2所述的方法,其特征在于,所述判断pod容器是否需要扩缩容,包括:
获取所述pod容器的指标信息,并根据所述指标信息确定所述预期资源量;
比较所述pod容器的初始设定资源量与所述预期资源量;
根据比较结果确定所述pod容器是否需要扩缩容。
4.根据权利要求1所述的方法,其特征在于,还包括:
当完成对所述pod容器中的容器资源量修改后,发送成功通知至事件通知操作。
5.一种基于容器资源的垂直扩缩容装置,其特征在于,包括:
扩缩容模块,用于当pod容器需要扩缩容时,通过OCI标准使用runc程序中的runcupdate命令控制cgroup中的参数,将pod容器中的容器资源量修改为预期资源量;所述扩缩容模块具体用于:当所述pod容器需要扩容时,判断本地资源是否满足所述预期资源量;当所述本地资源不满足所述预期资源量时,发送资源量不够消息至事件通知操作;当所述本地资源满足所述预期资源量时,执行所述将所述pod容器中的容器资源量修改为预期资源量。
6.一种基于容器资源的垂直扩缩容服务器,其特征在于,包括存储器和处理器;
所述存储器用于存储计算机可执行指令;
所述处理器用于执行所述计算机可执行指令,以实现权利要求1-4任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有可执行指令,计算机执行所述可执行指令时能够实现如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211366438.2A CN115426269A (zh) | 2022-11-03 | 2022-11-03 | 一种基于容器资源的垂直扩缩容方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211366438.2A CN115426269A (zh) | 2022-11-03 | 2022-11-03 | 一种基于容器资源的垂直扩缩容方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115426269A true CN115426269A (zh) | 2022-12-02 |
Family
ID=84208242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211366438.2A Pending CN115426269A (zh) | 2022-11-03 | 2022-11-03 | 一种基于容器资源的垂直扩缩容方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115426269A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116010030A (zh) * | 2022-12-30 | 2023-04-25 | 支付宝(杭州)信息技术有限公司 | 用于容器扩缩容的方法及装置 |
CN116302339A (zh) * | 2023-03-09 | 2023-06-23 | 上海道客网络科技有限公司 | 一种基于容器云平台的容器组原地扩缩容的方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849294A (zh) * | 2021-11-30 | 2021-12-28 | 武汉迈异信息科技有限公司 | 一种kubernetes pod扩缩容的系统及方法 |
CN114675935A (zh) * | 2022-03-30 | 2022-06-28 | 蚂蚁区块链科技(上海)有限公司 | 联盟链中部署链码的方法和系统 |
-
2022
- 2022-11-03 CN CN202211366438.2A patent/CN115426269A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849294A (zh) * | 2021-11-30 | 2021-12-28 | 武汉迈异信息科技有限公司 | 一种kubernetes pod扩缩容的系统及方法 |
CN114675935A (zh) * | 2022-03-30 | 2022-06-28 | 蚂蚁区块链科技(上海)有限公司 | 联盟链中部署链码的方法和系统 |
Non-Patent Citations (2)
Title |
---|
(哥斯)丹尼斯•萨拉曼卡,埃斯特班•弗洛雷斯: "《写给架构师的Linux实践 设计并实现基于Linux的IT解决方案》", 31 May 2020, 机械工业出版社 * |
MARSHALZXY: "如何在容器运行过程中对容器的资源限制进行调整", 《阿里云-开发者社区》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116010030A (zh) * | 2022-12-30 | 2023-04-25 | 支付宝(杭州)信息技术有限公司 | 用于容器扩缩容的方法及装置 |
CN116302339A (zh) * | 2023-03-09 | 2023-06-23 | 上海道客网络科技有限公司 | 一种基于容器云平台的容器组原地扩缩容的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11146453B2 (en) | Method and apparatus for creating network slice, and communications system | |
CN115426269A (zh) | 一种基于容器资源的垂直扩缩容方法、装置及存储介质 | |
WO2020207266A1 (zh) | 网络系统、实例管控方法、设备及存储介质 | |
US10993127B2 (en) | Network slice instance management method, apparatus, and system | |
CN111385114B (zh) | Vnf服务实例化方法及装置 | |
CN113037794B (zh) | 计算资源配置调度方法、装置及系统 | |
CN108347343B (zh) | 一种策略管理方法、装置和系统 | |
US11886905B2 (en) | Host upgrade method and device | |
US20220283846A1 (en) | Pod deployment method and apparatus | |
CN114489512B (zh) | 限定容器容量的方法及装置、电子设备、存储介质 | |
CN113296882A (zh) | 容器编排方法、设备、系统及存储介质 | |
CN108111559B (zh) | 一种应用软件部署系统及方法 | |
WO2021169618A1 (zh) | 一种虚拟机的迁移方法、装置、设备及介质 | |
CN111190719B (zh) | 优化集群资源分配的方法、装置、介质及电子设备 | |
CN111800285A (zh) | 实例迁移方法和装置以及电子设备 | |
CN115794337A (zh) | 资源调度方法、装置、云平台、设备及存储介质 | |
CN114518955A (zh) | 一种基于kubernetes的Flink云原生部署架构方法及系统 | |
CN110262893A (zh) | 配置镜像内存的方法、装置及计算机存储介质 | |
WO2023098614A1 (zh) | 一种云实例的扩缩容方法及其相关设备 | |
CN113382032B (zh) | 云节点变更、网络扩展、服务提供方法、设备及介质 | |
CN105208111A (zh) | 一种信息处理的方法及物理机 | |
CN112015515B (zh) | 一种虚拟网络功能的实例化方法及装置 | |
CN108089917A (zh) | 一种应用进程控制方法及装置 | |
CN114629958B (zh) | 资源分配方法、装置、电子设备及存储介质 | |
Kim et al. | T-DCORAL: A threshold-based dynamic controller resource allocation for elastic control plane in software-defined data center networks |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221202 |
|
RJ01 | Rejection of invention patent application after publication |