CN113032153A - 容器服务资源动态扩容方法、系统、装置及存储介质 - Google Patents
容器服务资源动态扩容方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN113032153A CN113032153A CN202110389434.5A CN202110389434A CN113032153A CN 113032153 A CN113032153 A CN 113032153A CN 202110389434 A CN202110389434 A CN 202110389434A CN 113032153 A CN113032153 A CN 113032153A
- Authority
- CN
- China
- Prior art keywords
- container
- service resource
- service
- core group
- server
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000007726 management method Methods 0.000 claims abstract description 42
- 238000013468 resource allocation Methods 0.000 claims abstract description 30
- 238000004590 computer program Methods 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 5
- 230000007812 deficiency Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000012545 processing Methods 0.000 abstract description 5
- 238000012544 monitoring process Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012546 transfer Methods 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]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及大数据处理技术,揭露了一种容器服务资源动态扩容方法及系统,其中的方法包括通过容器服务资源控制器接收并存储容器服务资源不足预警信息;其中,容器服务资源不足预警信息在监控Docker容器的服务资源利用数据时生成并通过容器管理工具获取;根据容器服务资源不足预警信息调用API接口对当前服务器及外部资源服务器进行服务器资源检查,并根据当前服务器及外部资源服务器的服务资源的充足情况进行服务资源分配。本发明还涉及区块链技术,数据存储于区块链中,本发明能够实现容器服务资源利用效率高的技术效果。
Description
技术领域
本发明涉及大数据处理技术,尤其涉及一种容器服务资源动态扩容方法、系统、装置及存储介质。
背景技术
Docker容器的架构包括装有主机操作系统的物理机器。主机操作系统上面部署了Docker引擎,引擎有助于构建用来托管运行应用程序的虚拟容器。Docker引擎构建隔离的容器,应用程序就可以部署在这些容器上面。而JVM Docker容器服务是创建在服务器上的应用,在Docker容器创建时其JVM资源已确定,但是Docker容器服务在运行时,不同时间点,不同Docker容器的JVM服务对资源的要求是不同,如果使用固定资源配置,会造成服务资源无法充分利用的情况时有发生,现有的服务资源无法充分利用的场景包括:1)在服务器资源充足的情况下,容器资源发生告警;2)A容器资源告警,但是B容器却存在资源使用率低的状况。
因此,亟需一种服务资源利用率高的JVM Docker容器服务资源动态扩容方法。
发明内容
本发明提供一种容器服务资源动态扩容方法、系统、装置及计算机可读存储介质,其主要解决现有的服务资源无法充分利用的问题。
为实现上述目的,本发明提供一种容器服务资源动态扩容方法,应用于电子装置,所述方法包括:
通过容器服务资源控制器接收并存储容器服务资源不足预警信息;其中,所述容器服务资源不足预警信息在监控Docker容器的服务资源利用数据时生成并通过容器管理工具获取;
根据容器服务资源不足预警信息调用API接口对当前服务器及外部资源服务器进行服务器资源检查,并根据当前服务器及外部资源服务器的服务资源情况进行服务资源分配;其中,
当当前服务器的服务资源充足时,根据服务资源利用数据获取容器配置信息;将所述容器配置信息数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述容器配置信息数据调用API接口创建新的容器;
当外部资源服务器的服务资源充足时,根据服务资源利用数据获取待扩容的副本数量数据;将所述待扩容的副本数量数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述待扩容的副本数量数据调用API接口创建新的容器副本。
进一步,优选的,所述方法还包括:当当前服务器和外部资源服务器的服务资源均不充足时,根据预设的服务资源划分规则将当前容器划分为核心组容器和非核心组容器,并将核心组容器的服务资源配置优先级设置为最高级以进行服务资源分配。
进一步,优选的,将核心组容器的服务资源配置优先级设置为最高级以进行服务资源分配的步骤包括:
根据服务资源利用数据获取核心组容器和非核心组容器的配置信息;将所述核心组容器和非核心组容器的配置信息数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述核心组容器和非核心组容器的配置信息数据调用API接口升级核心组容器的配置文件,增大核心组容器的JVM资源配置。
进一步,优选的,将核心组容器的服务资源配置优先级设置为最高级以进行服务资源分配的步骤还包括:
根据服务资源利用数据获取核心组容器和非核心组容器的待扩容的副本数量数据;将所述核心组容器和非核心组容器的待扩容的副本数量数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述核心组容器和非核心组容器的待扩容的副本数量数据调用API接口减少非核心组容器副本,并增加核心组容器副本。
进一步,优选的,所述容器管理工具获取并监控Docker容器的服务资源利用数据时生成容器服务资源不足预警信息的方法包括:
容器管理工具获取并监控Docker容器的服务资源利用数据,当服务资源利用数据超过预设的服务资源利用阈值,触发容器服务资源不足预警,并生成容器服务资源不足预警信息。
进一步,优选的,所述容器管理工具为k8s容器管理工具或portainer容器管理工具。
进一步,优选的,所述服务资源利用数据包括Docker容器CPU负载信息、系统负载信息、内存使用率信息、硬盘使用量信息、网络IO信息。
为实现上述目的,本发明提供一种容器服务资源动态扩容系统,包括容器服务资源不足预警信息接收单元和服务资源分配单元;
所述容器服务资源不足预警信息接收单元,用于通过容器服务资源控制器接收并存储容器服务资源不足预警信息;其中,所述容器服务资源不足预警信息在监控Docker容器的服务资源利用数据时生成并通过容器管理工具获取;
所述服务资源分配单元,用于容器服务资源控制器根据容器服务资源不足预警信息调用API接口对当前服务器及外部资源服务器进行服务器资源检查;并根据当前服务器及外部资源服务器的服务资源情况进行服务资源分配;其中,
若当前容器的服务资源充足时,根据服务资源利用数据获取容器配置信息;将所述容器配置信息数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述容器配置信息数据调用API接口创建新的容器;
若外部资源服务器的服务资源充足时,根据服务资源利用数据获取待扩容的副本数量数据;将所述待扩容的副本数量数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述待扩容的副本数量数据调用API接口创建新的容器副本。
为实现上述目的,本发明还提供一种电子装置,该电子装置包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的容器服务资源动态扩容方法中步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,实现上述的容器服务资源动态扩容方法的步骤。
本发明提出的容器服务资源动态扩容方法、系统、电子装置及计算机可读存储介质,通过容器服务资源控制器接收并存储容器服务资源不足预警信息;根据容器服务资源不足预警信息调用API接口对当前服务器及外部资源服务器进行服务器资源检查,并根据当前服务器及外部资源服务器的服务资源的充足情况进行服务资源分配;有益效果如下:
1)本发明的容器服务资源动态扩容方法通过建立容器服务资源控制器,获取集群内所有机器的服务资源信息并进行资源利用率监控,对服务资源进行整体统筹调控,调整方式高效、快捷;
2)通过容器服务资源控制器将当前容器划分为核心组容器和非核心组容器,并将核心组容器的服务资源配置优先级设置为最高级以进行服务资源分配,解决了某容器资源告警,但是其他容器却存在资源使用率低的状况。
附图说明
图1为本发明的容器服务资源动态扩容方法的实施例的流程图;
图2本发明的容器服务资源动态扩容系统的逻辑结构示意图;
图3为本发明的电子装置的实施例的结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
Docker本身并不是容器,是创建容器的工具,是应用容器引擎。Docker技术的三大核心概念,分别是镜像Image、容器Container和仓库Repository。Docker镜像提供容器运行时所需的程序、库、资源、配置等文件外,还包含了运行的配置参数(例如环境变量)。通过Docker Registry服务对Docker镜像进行管理的;Docker容器技术,属于轻量级的虚拟化,不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境,启动时间很快,几秒钟就能完成。而且,有对资源的利用率很高(一台主机可以同时运行几千个Docker容器),占的空间很小(只需要MB级甚至KB级)的特点;但是,Docker容器服务在运行时,不同时间点,不同Docker容器的JVM服务对资源的要求是不同,如果使用固定资源配置,会造成服务资源无法充分利用的情况时有发生。
为了提高容器服务资源的整体使用效率,本发明提供一种容器服务资源动态扩容方法。图1示出了本发明容器服务资源动态扩容方法的实施例的流程。参照图1所示,该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
本发明提出的容器服务资源动态扩容方法、系统、电子装置及计算机可读存储介质,通过容器服务资源控制器接收并存储容器服务资源不足预警信息;根据容器服务资源不足预警信息调用API接口对当前服务器及外部资源服务器进行服务器资源检查,并根据当前服务器及外部资源服务器的服务资源的充足情况进行服务资源分配;实现了对各服务器资源以及服务器内各容器资源的整体调配,实现了服务资源使用率最大化。
容器服务资源动态扩容方法包括:步骤S110-步骤S120。
S110、通过容器服务资源控制器接收并存储容器服务资源不足预警信息;其中,所述容器服务资源不足预警信息基于监控的JVM Docker容器服务资源动态扩容系统通过容器管理工具获取。
具体地说,容器服务资源控制器以容器方式部署,可以获取集群内所有机器的信息;通过调用k8s或prometheus的API接口,实时获取服务资源利用数据,根据服务资源利用数据进行计算得出需要扩容的数据,然后进行服务资源调配即扩容操作;其中,扩容操作的逻辑有两种,修改单个服务容器的配置文件和修改服务容器的数量。
利用容器管理工具获取并监控Docker容器的服务资源利用数据时生成容器服务资源不足预警信息的方法包括:容器管理工具获取并监控Docker容器的服务资源利用数据,当服务资源利用数据超过预设的服务资源利用阈值,触发容器服务资源不足预警,并生成容器服务资源不足预警信息。其中,服务资源利用数据包括Docker容器CPU负载信息、系统负载信息、内存使用率信息、硬盘使用量信息、网络IO信息。
需要说明的是,所述容器管理工具为k8s容器管理工具或portainer容器管理工具。其中,基于k8s、portainer等管理工具进行创建容器时,同时启动其容器资源监控服务。对于容器资源监控的实现方式,K8s可以使用k8s自带服务监控,portainer可以使用prometheus等第三方监控工具。以通过普罗米修斯(Prometheus)监控获取Docker容器的服务资源利用数据为例,Prometheus收集资源利用的数据参数,并且暴露HTTP接口以便进行监控数据的访问查询。在实际的应用场景中,需要在监控服务器上安装Prometheus Server普罗米修斯监控主服务器,利用Node Exporter收集Host硬件和操作系统信息;利用Advisor收集Host上运行的容器信息;利用Grafana展示普罗米修斯监控界面。进一步的,在被监控服务器上安装用于收集Host硬件和操作系统信息的Node Exporter和用于负责收集Host上运行的容器信息的cAdvisor。Prometheus定时访问这些接口,以获取所有的服务器上node_exporter暴露出来的数据;通过Prometheus记录这些服务器的地址,以便进行增加或者修改这些接口的操作;Prometheus按照时间顺序存储获取到的指标和值,以便获取访问历史的某个时间点的数据。通过Prometheus查询、计算和渲染,可以将上述数据绘制成图,在发生容器服务资源不足预警时,将发生预警时的上述信息均作为容器服务资源不足预警信息发送至容器服务资源控制器。
具体地说,容器管理工具监控的内容包括容器CPU、内存等数据是否长期超过设定的安全值。比如说,检测接收Docker的运行数据,若运行数据超过设定阈值,则记录告警并对Docker容器进行检测并返回检测结果。比如,发送ICMP包到容器,判定所述容器的ICMP包是否有效,若该容器的ICMP包无效,则告警;进一步的,通过容器IP地址和端口执行TCP检查,若无法到达,则告警。如果超时时间内未接收到Docker容器进程发送的数据,则也会报警。
在一个具体的实施例中,假定容器CPU资源使用率阈值为80%,容器资源CPU一段时间内,持续超过设定阈值80%,判定为触发预警,需要扩容。即当容器资源使用率达到预设的服务资源利用阈值(预警值)时,触发容器服务资源不足预警,并生成容器服务资源不足预警信息。容器服务资源不足预警信息发送至容器服务资源控制器,容器服务资源控制器调用监控API进行服务器资源检查。如果发现外部资源充足,满足预先设定好的资源调配条件。
S120、根据容器服务资源不足预警信息调用API接口对当前服务器及外部资源服务器进行服务器资源检查,并根据当前服务器及外部资源服务器的服务资源情况进行服务资源分配;其中,当当前服务器的服务资源充足时,根据服务资源利用数据获取容器配置信息;将所述容器配置信息数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述容器配置信息数据调用API接口创建新的容器;当外部资源服务器的服务资源充足时,根据服务资源利用数据获取待扩容的副本数量数据;将所述待扩容的副本数量数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述待扩容的副本数量数据调用API接口创建新的容器副本。
也就是说,首先对容器外部的服务资源是否充足的情况进行判断,而容器外部的服务资源充足也分为两种情况,一是当前服务器的服务资源充足,另外的就是外部资源服务器的服务资源充足。
具体地说,服务器的服务资源是否充足以服务器资源利用率判定,而服务器资源利用率通过所述服务器资源利用率的评估值和时间参数确定。其中,自定义所述CPU和内存分别所占服务器资源利用率的比重,并根据所述比重进行加权计算以生成所述服务器的资源利用率。并根据实际应用场景设定高负载的阈值和低负载的阈值。当所述服务器资源利用率大于所述高负载阈值时确定所述服务器为高负载服务器;当所述服务器资源利用率小于所述低负载阈值时确定所述服务器为低负载服务器;当所述服务器资源利用率大于等于所述低负载阈值且小于等于高负载阈值时确定所述服务器为适中负载服务器。而当服务器被判定为高负载服务器时,该服务器的服务资源被判定为不充足;而当服务器被判定为低负载服务器或者适中负载服务器时,该服务器的服务资源被判定为充足。
当本服务器资源充足时,根据服务资源利用数据,通过服务资源控制器计算得出的容器配置信息,并通过容器管理工具的API接口,将新的容器配置信息传入容器服务资源控制器;容器服务资源控制器根据所述传入的包含新的配置信息的接口数据调用容器管理工具的API接口,创建新的容器信息。举例说明如下,当CPU配置为2,控制器按定长(步长为2)扩容,计算得出的配置信息为,新配置为2+2等于4,进而根据所获得的配置信息调用API接口扩容。具体地说,若当前的服务器资源充足,自动升级配置文件,增大JVM资源配置,容器服务资源控制器计算得出新的容器配置信息,调用k8s或者portainer等容器管理工具的API接口,传入新的容配置信息。容器服务资源控制器调用k8s或者portainer等容器管理工具根据接口数据,创建信息的容器信息。
当其他服务器资源充足时,根据服务资源利用数据,通过服务资源控制器计算得出需要扩容的数量(即待扩容的副本数量数据),并通过容器管理工具的API接口,将新的副本信息传入容器服务资源控制器;容器管理工具根据所述传入的包含新的副本信息的接口数据,创建新的容器副本;其中,副本信息就是副本个数数据。举例说明如下,当前副本数为2,计算后得出的配置信息为4,通过调用容器管理工具的API接口,容器管理工具就会新创建2个容器。举例说明如下,当其他服务器资源充足,容器服务资源控制器计算得出新的需要扩容的数量,调用k8s或者portainer等容器管理工具的api接口,传入新的副本信息。容器服务资源控制器调用k8s或者portainer等容器管理工具根据接口数据,修改容器副本数,增加容器副本数,在其他资源充足的服务器上启动新的容器。
在一个具体的应用场景中,A容器资源告警,B容器资源使用率低。A属于为核心服务组、B属于非核心服务组。当容器资源使用率达到预警值时(假定容器cpu资源使用率阈值为80%,容器资源cup一段时间内,持续超过设定阈值80%,判定为触发预警,需要扩容)),进行服务器资源检查。如果发现集群内服务器资源也处于较高水平,满足预先设定好的资源调配条件,增加核心服务组服务的资源、减少非核心服务组的资源。
在一个具体的实施例中,当当前服务器以及其他服务器的服务资源均不充足时,根据预设的服务资源划分规则将当前容器划分为核心组容器和非核心组容器,并将核心组容器的服务资源配置优先级设置为最高级以进行服务资源分配。具体地说,预设的服务资源划分规则根据实际的应用场景,将需要服务资源较多的容器作为核心组容器,将需要服务资源较少的容器作为非核心组容器。以淘宝客户端为例,在双十一等节点场景中,下单容器作为核心组容器需要分配更多的服务资源,退货容器作为非核心组容器分配较少的服务资源即可。
将核心组容器的服务资源配置优先级设置为最高级以进行服务资源分配的具体步骤包括:一方面,根据服务资源利用数据获取核心组容器和非核心组容器的配置信息;将所述核心组容器和非核心组容器的配置信息数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述核心组容器和非核心组容器的配置信息数据调用API接口升级核心组容器的配置文件,增大核心组容器的JVM资源配置;同时,降级非核心组容器的配置文件,减小非核心组容器的JVM资源配置。另一方面,根据服务资源利用数据获取核心组容器和非核心组容器的待扩容的副本数量数据;将所述核心组容器和非核心组容器的待扩容的副本数量数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述核心组容器和非核心组容器的待扩容的副本数量数据调用API接口减少非核心组容器副本,并增加核心组容器副本。
具体地说,服务资源控制器根据服务资源利用数据计算得出的容器配置信息,并通过容器管理工具的API接口,将新的配置信息传入服务资源控制器;服务资源控制器调用容器管理工具根据所述传入的包含新的配置信息的接口数据,创建新的容器配比;其中,创建新的核心组容器和非核心组容器,增大核心组容器的JVM资源配置;减少非核心组的JVM资源配置。以本服务器中的A容器和B容器为例,A容器为核心容器,B容器为非核心容器;服务资源控制器计算得出新的容器配置信息,自动降级B容器配置文件,减小JVM资源配置,同时升级A容器配置文件,增大JVM资源配置。服务资源控制器调用k8s或者portainer等容器管理工具的API接口,创建新的A容器和B容器。
通过服务资源控制器根据服务资源利用数据计算得出需要扩容的数量,并通过容器管理工具的API接口,将新的副本信息传入服务资源控制器;服务资源控制器调用容器管理工具根据所述传入的包含新的副本信息的接口数据,修改容器的副本数,其中,减少非核心组容器的副本数,增加核心组容器的副本数。以本服务器中的A容器和B容器为例,A容器为核心容器,B容器为非核心容器;服务资源控制器计算得出新的副本数信息,服务资源控制器调用k8s或者portainer等容器管理工具的API接口,修改容器副本数,减少B的容器副本数,增加A容器副本数。
综上,本发明的容器服务资源动态扩容方法通过建立容器服务资源控制器,获取集群内所有机器的服务资源信息并进行资源利用率监控;通过容器服务资源控制器将当前容器划分为核心组容器和非核心组容器,并将核心组容器的服务资源配置优先级设置为最高级以进行服务资源分配,达到了对服务资源进行整体统筹、高效快捷调控的技术效果。
图2为本发明的容器服务资源动态扩容系统的逻辑结构示意图;参照图2所示。
为实现上述目的,本发明提供一种容器服务资源动态扩容系统200,包括容器服务资源不足预警信息接收单元210和服务资源分配单元220。
所述容器服务资源不足预警信息接收单元210,用于通过容器服务资源控制器接收并存储容器服务资源不足预警信息;其中,所述器服务资源不足预警信息通过容器管理工具获取并监控Docker容器的服务资源利用数据时生成。
所述服务资源分配单元220,用于容器服务资源控制器根据容器服务资源不足预警信息调用API接口对当前服务器及外部资源服务器进行服务器资源检查;并根据当前服务器及外部资源服务器的服务资源的充足情况进行服务资源分配;其中,
若当前容器的服务资源充足时,根据服务资源利用数据获取容器配置信息;将所述容器配置信息数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述容器配置信息数据调用API接口创建新的容器。
若外部资源服务器的服务资源充足时,根据服务资源利用数据获取待扩容的副本数量数据;将所述待扩容的副本数量数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述待扩容的副本数量数据调用API接口创建新的容器副本。
所述服务资源分配单元220包括创建新容器子单元221、创建新容器副本子单元222和核心组容器划分子单元223;其中:
所述创建新容器子单元221,用于当当前服务器的服务资源充足时,根据服务资源利用数据获取容器配置信息;将所述容器配置信息数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述容器配置信息数据调用API接口创建新的容器。
所述创建新容器副本子单元222,用于当外部资源服务器的服务资源充足时,根据服务资源利用数据获取待扩容的副本数量数据;将所述待扩容的副本数量数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述待扩容的副本数量数据调用API接口创建新的容器副本。
所述核心组容器划分子单元223包括创建容器模块2231和创建容器副本模块2232;其中,所述创建容器模块2231,用于根据服务资源利用数据获取核心组容器和非核心组容器的配置信息;将所述核心组容器和非核心组容器的配置信息数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述核心组容器和非核心组容器的配置信息数据调用API接口升级核心组容器的配置文件,增大核心组容器的JVM资源配置;同时降级非核心组容器的配置文件,减小非核心组容器的JVM资源配置。
所述创建容器副本模块2232,用于根据服务资源利用数据获取核心组容器和非核心组容器的待扩容的副本数量数据;将所述核心组容器和非核心组容器的待扩容的副本数量数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述核心组容器和非核心组容器的待扩容的副本数量数据调用API接口减少非核心组容器副本,并增加核心组容器副本。
本发明的容器服务资源动态扩容系统通过容器服务资源控制器将容器根据各服务器的资源情况进行调整。具体的调整方式包括:若本服务器的资源充足,则修改本服务器的配置文件,增大JVM资源配置;也可以通过修改容器副本数,在其他资源充足的服务器上启动新的容器;若核心组资源告警,但是非核心组的资源使用率低;则降级非核心组的的配置文件,减小其JVM资源配置;同时升级核心组的的配置文件,增大JVM资源配置。以及,通过修改容器副本数,减少非核心组的容器副本数,并增加核心组的容器副本数。达到整体服务资源利用率高的技术效果。
本发明提供一种容器服务资源动态扩容方法,应用于一种电子装置3。
图3示出了根据本发明容器服务资源动态扩容方法较佳实施例的应用环境。
参照图3所示,在本实施例中,电子装置3可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子装置3包括:处理器32、存储器31、通信总线33及网络接口35。
存储器31包括至少一种类型的可读存储介质。所述可读存储介质可以是非易失性的,也可以是易失性的。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器31等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置3的内部存储单元,例如该电子装置3的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置3的外部存储器31,例如所述电子装置3上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,所述存储器31的可读存储介质通常用于存储安装于所述电子装置3的容器服务资源动态扩容程序30等。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
处理器32在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器31中存储的程序代码或处理数据,例如执行容器服务资源动态扩容程序30等。
通信总线33用于实现这些组件之间的连接通信。
网络接口34可选地可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置3与其他电子设备之间建立通信连接。
图3仅示出了具有组件31-34的电子装置3,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该电子装置3还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子装置3还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器用于显示在电子装置3中处理的信息以及用于显示可视化的用户界面。
可选地,该电子装置3还可以包括射频(Radio Frequency,RF)电路,传感器、音频电路等等,在此不再赘述。
在图3所示的装置实施例中,作为一种计算机存储介质的存储器31中可以包括操作系统、以及容器服务资源动态扩容程序30;处理器32执行存储器31中存储的容器服务资源动态扩容程序30时实现如下步骤:通过容器服务资源控制器接收并存储容器服务资源不足预警信息;其中,所述容器服务资源不足预警信息在监控Docker容器的服务资源利用数据时生成并通过容器管理工具获取;根据容器服务资源不足预警信息调用API接口对当前服务器及外部资源服务器进行服务器资源检查,并根据当前服务器及外部资源服务器的服务资源情况进行服务资源分配;其中,当当前服务器的服务资源充足时,根据服务资源利用数据获取容器配置信息;将所述容器配置信息数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述容器配置信息数据调用API接口创建新的容器;当外部资源服务器的服务资源充足时,根据服务资源利用数据获取待扩容的副本数量数据;将所述待扩容的副本数量数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述待扩容的副本数量数据调用API接口创建新的容器副本。
在其他实施例中,容器服务资源动态扩容程序30还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器31中,并由处理器32执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序程序段。容器服务资源动态扩容程序30可以分为包括容器服务资源不足预警信息接收单元210和服务资源分配单元220;所述容器服务资源不足预警信息接收单元210,用于通过容器服务资源控制器接收并存储容器服务资源不足预警信息;其中,所述容器服务资源不足预警信息在监控Docker容器的服务资源利用数据时生成并通过容器管理工具获取;所述服务资源分配单元220,用于容器服务资源控制器根据容器服务资源不足预警信息调用API接口对当前服务器及外部资源服务器进行服务器资源检查;并根据当前服务器及外部资源服务器的服务资源情况进行服务资源分配;其中,若当前容器的服务资源充足时,根据服务资源利用数据获取容器配置信息;将所述容器配置信息数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述容器配置信息数据调用API接口创建新的容器;若外部资源服务器的服务资源充足时,根据服务资源利用数据获取待扩容的副本数量数据;将所述待扩容的副本数量数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述待扩容的副本数量数据调用API接口创建新的容器副本。
此外,本发明还提出一种计算机可读存储介质,主要包括存储数据区和存储程序区,其中,存储数据区可存储根据区块链节点的使用所创建的数据等,存储程序区可存储操作系统、至少一个功能所需的应用程序,所述计算机可读存储介质中包括容器服务资源动态扩容程序,所述容器服务资源动态扩容程序被处理器执行时实现如容器服务资源动态扩容方法的操作。
本发明之计算机可读存储介质的具体实施方式与上述容器服务资源动态扩容方法、系统、电子装置的具体实施方式大致相同,在此不再赘述。
总的来说,本发明容器服务资源动态扩容方法、系统、电子装置及计算机可读存储介质,通过建立容器服务资源控制器,获取集群内所有机器的服务资源信息并进行资源利用率监控;通过容器服务资源控制器将当前容器划分为核心组容器和非核心组容器,并将核心组容器的服务资源配置优先级设置为最高级以进行服务资源分配,达到了对服务资源进行整体统筹、高效快捷调控的技术效果。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干程序用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种容器服务资源动态扩容方法,应用于电子装置,其特征在于,所述方法包括:
通过容器服务资源控制器接收并存储容器服务资源不足预警信息;其中,所述容器服务资源不足预警信息在监控容器的服务资源利用数据时生成并通过容器管理工具获取;
根据所述容器服务资源不足预警信息调用API接口对当前服务器及外部资源服务器进行服务器资源检查,并根据当前服务器及外部资源服务器的服务资源情况进行服务资源分配;其中,
当当前服务器的服务资源充足时,根据服务资源利用数据获取容器配置信息;将所述容器配置信息数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述容器配置信息数据调用API接口创建新的容器;
当外部资源服务器的服务资源充足时,根据服务资源利用数据获取待扩容的副本数量数据;将所述待扩容的副本数量数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述待扩容的副本数量数据调用API接口创建新的容器副本。
2.根据权利要求1所述的容器服务资源动态扩容方法,其特征在于,所述方法还包括:
当当前服务器和外部资源服务器的服务资源均不充足时,根据预设的服务资源划分规则将当前容器划分为核心组容器和非核心组容器,并将所述核心组容器的服务资源配置优先级设置为最高级以进行服务资源分配。
3.根据权利要求2所述的容器服务资源动态扩容方法,其特征在于,将核心组容器的服务资源配置优先级设置为最高级以进行服务资源分配的步骤包括:
根据服务资源利用数据获取核心组容器和非核心组容器的配置信息;将所述核心组容器和非核心组容器的配置信息数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述核心组容器和非核心组容器的配置信息数据调用API接口升级核心组容器的配置文件,增大核心组容器的JVM资源配置。
4.根据权利要求3所述的容器服务资源动态扩容方法,其特征在于,将核心组容器的服务资源配置优先级设置为最高级以进行服务资源分配的步骤还包括:
根据服务资源利用数据获取核心组容器和非核心组容器的待扩容的副本数量数据;将所述核心组容器和非核心组容器的待扩容的副本数量数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述核心组容器和非核心组容器的待扩容的副本数量数据调用API接口减少非核心组容器副本,并增加核心组容器副本。
5.根据权利要求1所述的容器服务资源动态扩容方法,其特征在于,所述容器管理工具获取并监控Docker容器的服务资源利用数据时生成容器服务资源不足预警信息的方法包括:
容器管理工具获取并监控Docker容器的服务资源利用数据,当服务资源利用数据超过预设的服务资源利用阈值,触发容器服务资源不足预警,并生成容器服务资源不足预警信息。
6.根据权利要求5所述的容器服务资源动态扩容方法,其特征在于,所述容器管理工具为k8s容器管理工具或portainer容器管理工具。
7.根据权利要求1所述的容器服务资源动态扩容方法,其特征在于,所述服务资源利用数据包括Docker容器CPU负载信息、系统负载信息、内存使用率信息、硬盘使用量信息、网络IO信息。
8.一种容器服务资源动态扩容系统,其特征在于,包括容器服务资源不足预警信息接收单元和服务资源分配单元;
所述容器服务资源不足预警信息接收单元,用于通过容器服务资源控制器接收并存储容器服务资源不足预警信息;其中,所述容器服务资源不足预警信息在监控Docker容器的服务资源利用数据时生成并通过容器管理工具获取;
所述服务资源分配单元,用于容器服务资源控制器根据所述容器服务资源不足预警信息调用API接口对当前服务器及外部资源服务器进行服务器资源检查;并根据当前服务器及外部资源服务器的服务资源情况进行服务资源分配;其中,
若当前容器的服务资源充足时,根据服务资源利用数据获取容器配置信息;将所述容器配置信息数据通过API接口输送至所述容器服务资源控制器,以便所述容器服务资源控制器根据所述容器配置信息数据调用API接口创建新的容器;
若外部资源服务器的服务资源充足时,根据服务资源利用数据获取待扩容的副本数量数据;将所述待扩容的副本数量数据通过API接口输送至所述容器服务资源控制器;所述容器服务资源控制器根据所述待扩容的副本数量数据调用API接口创建新的容器副本。
9.一种电子装置,其特征在于,该电子装置包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一所述的容器服务资源动态扩容方法中步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的容器服务资源动态扩容方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110389434.5A CN113032153B (zh) | 2021-04-12 | 2021-04-12 | 容器服务资源动态扩容方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110389434.5A CN113032153B (zh) | 2021-04-12 | 2021-04-12 | 容器服务资源动态扩容方法、系统、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113032153A true CN113032153A (zh) | 2021-06-25 |
CN113032153B CN113032153B (zh) | 2023-04-28 |
Family
ID=76456385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110389434.5A Active CN113032153B (zh) | 2021-04-12 | 2021-04-12 | 容器服务资源动态扩容方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032153B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114281475A (zh) * | 2021-12-16 | 2022-04-05 | 中国联合网络通信集团有限公司 | 应用程序部署方法、装置及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160378545A1 (en) * | 2015-05-10 | 2016-12-29 | Apl Software Inc. | Methods and architecture for enhanced computer performance |
CN106936882A (zh) * | 2015-12-31 | 2017-07-07 | 深圳先进技术研究院 | 一种商品电子交易系统 |
CN109873718A (zh) * | 2019-01-23 | 2019-06-11 | 平安科技(深圳)有限公司 | 一种容器自适应伸缩方法、服务器及存储介质 |
CN110262944A (zh) * | 2019-06-21 | 2019-09-20 | 四川长虹电器股份有限公司 | 一种对K8s集群容器资源进行监控并进行告警的方法 |
CN111045901A (zh) * | 2019-12-11 | 2020-04-21 | 东软集团股份有限公司 | 容器的监控方法、装置、存储介质和电子设备 |
CN112269640A (zh) * | 2020-11-02 | 2021-01-26 | 浪潮云信息技术股份公司 | 一种实现容器云组件的生命周期管理的方法 |
-
2021
- 2021-04-12 CN CN202110389434.5A patent/CN113032153B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160378545A1 (en) * | 2015-05-10 | 2016-12-29 | Apl Software Inc. | Methods and architecture for enhanced computer performance |
CN106936882A (zh) * | 2015-12-31 | 2017-07-07 | 深圳先进技术研究院 | 一种商品电子交易系统 |
CN109873718A (zh) * | 2019-01-23 | 2019-06-11 | 平安科技(深圳)有限公司 | 一种容器自适应伸缩方法、服务器及存储介质 |
CN110262944A (zh) * | 2019-06-21 | 2019-09-20 | 四川长虹电器股份有限公司 | 一种对K8s集群容器资源进行监控并进行告警的方法 |
CN111045901A (zh) * | 2019-12-11 | 2020-04-21 | 东软集团股份有限公司 | 容器的监控方法、装置、存储介质和电子设备 |
CN112269640A (zh) * | 2020-11-02 | 2021-01-26 | 浪潮云信息技术股份公司 | 一种实现容器云组件的生命周期管理的方法 |
Non-Patent Citations (1)
Title |
---|
单朋荣: "面向应用的容器集群弹性伸缩方法的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑(月刊)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114281475A (zh) * | 2021-12-16 | 2022-04-05 | 中国联合网络通信集团有限公司 | 应用程序部署方法、装置及计算机可读存储介质 |
CN114281475B (zh) * | 2021-12-16 | 2024-10-29 | 中国联合网络通信集团有限公司 | 应用程序部署方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113032153B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949237B2 (en) | Operating system customization in an on-demand network code execution system | |
US10725752B1 (en) | Dependency handling in an on-demand network code execution system | |
CN108462760B (zh) | 电子装置、集群访问域名自动生成方法及存储介质 | |
WO2018149221A1 (zh) | 一种设备管理方法及网管系统 | |
CN110933178B (zh) | 调整集群系统内的节点配置的方法及服务器 | |
US9990214B2 (en) | Dynamic agent delivery | |
WO2017167121A1 (zh) | 确定及运用应用程序之间的关系关联的方法及装置 | |
CN108021400B (zh) | 数据处理方法及装置、计算机存储介质及设备 | |
CN110764913B (zh) | 基于规则调用的数据计算方法、客户端及可读存储介质 | |
CN112579622A (zh) | 业务数据的处理方法、装置及设备 | |
CN112631680A (zh) | 微服务容器调度系统、方法、装置和计算机设备 | |
CN113485830A (zh) | 一种电网监控系统微服务自动扩容方法 | |
CN110569114B (zh) | 一种业务处理方法、装置、设备及存储介质 | |
CN113285886A (zh) | 一种带宽分配的方法、装置、电子设备及可读存储介质 | |
CN110336888B (zh) | 一种服务器分配方法、装置、系统及介质 | |
CN109561134B (zh) | 电子装置、分布式集群服务分配方法及存储介质 | |
CN112422450A (zh) | 计算机设备、服务请求的流量控制方法及装置 | |
CN113032153A (zh) | 容器服务资源动态扩容方法、系统、装置及存储介质 | |
CN112685157B (zh) | 任务处理方法、装置、计算机设备及存储介质 | |
WO2024148864A1 (zh) | 虚拟机内存的调整方法和装置、非易失性可读存储介质及电子装置 | |
CN111143033B (zh) | 基于可伸缩操作系统的操作执行方法及装置 | |
US9405603B2 (en) | Naming of nodes in net framework | |
EP3748493B1 (en) | Method and device for downloading installation-free application | |
CN110019372B (zh) | 数据监控方法、装置、服务器及存储介质 | |
CN116185578A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211018 Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.) Applicant after: Shenzhen saiante Technology Service Co.,Ltd. Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000 Applicant before: Ping An International Smart City Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |