CN108958882A - 一种容器调整方法、装置和*** - Google Patents
一种容器调整方法、装置和*** Download PDFInfo
- Publication number
- CN108958882A CN108958882A CN201810573786.4A CN201810573786A CN108958882A CN 108958882 A CN108958882 A CN 108958882A CN 201810573786 A CN201810573786 A CN 201810573786A CN 108958882 A CN108958882 A CN 108958882A
- Authority
- CN
- China
- Prior art keywords
- container
- terminal side
- adjusted
- configuration information
- side gusset
- 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
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/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/5083—Techniques for rebalancing the load in a distributed system
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种容器调整方法,应用于服务端侧,包括:确定第一配置信息;接收终端侧节点基于第二配置信息上报的运行信息;根据运行信息和第一配置信息,确定是否对在终端侧节点中运行的第一容器进行调整;当确定对在终端侧节点中运行的第一容器进行调整时,确定对第一容器的调整方案,供终端侧节点对第一容器的运行进行调整。本申请实施例提供的技术方案,终端侧节点能够自动的监控并上报容器的资源使用率等运行信息,服务端侧能够根据实际运行情况和预设的调整阈值自动的对容器的运行进行调整,从而解决了相关技术中手动启动或者停止容器所带来的效率低下问题,并且有利于有效的管理容器和终端侧节点(宿主机)的资源。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种容器调整方法、装置和***。
背景技术
容器Docker是利用Linux(Linux是一种操作***)内核提供的资源限制及隔离功能,以及Linux内核命名空间,来创建独立软件容器的一种技术。容器Docker技术,使得部署在容器下的应用程序可以自动化的进行工作,并可以在任何地方正常运行。
目前,容器部署通常是单机部署或多机部署。每台部署有容器的计算机可以称之为一个终端侧节点,又可称为节点或宿主机。每台节点上可以部署相同或者不同的多个容器。当容器在节点上所占用的CPU增大,或者容器所使用的内存增大,或者容器应用自定义的指标metrics(例如,每秒查询率QPS)增大时,需要手动调整容器应用的部署,把新启动的容器添加到负载均衡列表里面,或者把新停止的容器从负载均衡列表里删除。
但是,现有的容器部署调整模式需要手动启动或者停止容器应用,效率低下,而且不利于管理容器应用和节点的资源。
发明内容
本申请实施例提供一种容器调整方法、装置和***,以解决手动调整容器所带来的效率低下等问题。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供一种容器调整方法,应用于服务端侧,所述方法包括:
确定第一配置信息,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
接收终端侧节点基于第二配置信息上报的运行信息,所述运行信息中包括在所述终端侧节点中运行的第一容器的第一资源使用率,所述第二配置信息中包括对所述运行信息进行监控的监控参数;
根据所述运行信息和所述第一配置信息,确定是否对在终端侧节点中运行的所述第一容器进行调整;
当确定对在终端侧节点中运行的所述第一容器进行调整时,基于所述运行信息和所述第一配置信息,确定对所述第一容器的调整方案,供所述终端侧节点对所述第一容器的运行进行调整。
第二方面,本申请实施例提供一种容器调整方法,应用于终端侧节点,所述方法包括:
确定第二配置信息,所述第二配置信息中包括对运行信息进行监控的监控参数,所述运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率;
基于所述第二配置信息,向服务端侧上报所述运行信息,供所述服务端侧根据所述运行信息和第一配置信息,确定是否对在所述终端侧节点中运行的所述第一容器进行调整以及对所述第一容器的调整方案;其中,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
当所述服务端侧确定对在所述终端侧节点中运行的所述第一容器进行调整后,根据对所述第一容器的调整方案,对所述第一容器的运行进行调整。
第三方面,本申请实施例提供一种容器调整装置,应用于服务端侧,所述装置包括:
第一配置信息确定模块,用于确定第一配置信息,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
运行信息接收模块,用于接收终端侧节点基于第二配置信息上报的运行信息,所述运行信息中包括在所述终端侧节点中运行的第一容器的第一资源使用率,所述第二配置信息中包括对所述运行信息进行监控的监控参数;
判断模块,用于根据所述运行信息和所述第一配置信息,确定是否对在终端侧节点中运行的所述第一容器进行调整;
调整方案确定模块,用于当确定对在终端侧节点中运行的所述第一容器进行调整时,基于所述运行信息和所述第一配置信息,确定对所述第一容器的调整方案,供所述终端侧节点对所述第一容器的运行进行调整。
第四方面,本申请实施例提供一种容器调整装置,应用于终端侧节点,所述装置包括:
第二配置信息确定模块,用于确定第二配置信息,所述第二配置信息中包括对运行信息进行监控的监控参数,所述运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率;
运行信息上报模块,用于基于所述第二配置信息,向服务端侧上报所述运行信息,供所述服务端侧根据所述运行信息和第一配置信息,确定是否对在所述终端侧节点中运行的所述第一容器进行调整以及对所述第一容器的调整方案;其中,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
容器调整模块,用于当所述服务端侧确定对在所述终端侧节点中运行的所述第一容器进行调整后,根据对所述第一容器的调整方案,对所述第一容器的运行进行调整。
第五方面,本申请实施例提供一种容器调整***,所述***中包括服务端侧和至少一个终端侧节点,其中,
所述服务端侧,用于确定第一配置信息,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;还用于接收终端侧节点基于第二配置信息上报的运行信息,所述运行信息中包括在所述终端侧节点中运行的第一容器的第一资源使用率,所述第二配置信息中包括对所述运行信息进行监控的监控参数;还用于根据所述运行信息和所述第一配置信息,确定是否对在终端侧节点中运行的所述第一容器进行调整;还用于当确定对在终端侧节点中运行的所述第一容器进行调整时,基于所述运行信息和所述第一配置信息,确定对所述第一容器的调整方案,供所述终端侧节点对所述第一容器的运行进行调整;
所述终端侧节点,用于确定第二配置信息,所述第二配置信息中包括对运行信息进行监控的监控参数,所述运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率;还用于基于所述第二配置信息,向服务端侧上报所述运行信息,供所述服务端侧根据所述运行信息和第一配置信息,确定是否对在所述终端侧节点中运行的所述第一容器进行调整以及对所述第一容器的调整方案,其中,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;还用于当所述服务端侧确定对在所述终端侧节点中运行的所述第一容器进行调整后,根据对所述第一容器的调整方案,对所述第一容器的运行进行调整。
第六方面,本申请实施例提供一种电子设备,包括处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述第一方面所述的方法的步骤。
第七方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述第一方面所述的方法的步骤。
第八方面,本申请实施例提供一种电子设备,包括处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述第二方面所述的方法的步骤。
第九方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述第二方面所述的方法的步骤。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例提供的容器调整方法中,容器所运行的终端侧节点基于第二配置信息向服务端侧上报运行信息,运行信息中包括在终端侧节点中运行的容器的资源使用率;服务端侧在接收到终端侧节点上报的运行信息后,将运行信息与第一配置信息中的调整阈值进行比对,判断是否对终端侧节点中运行的第一容器进行调整。在此基础上,服务端侧进一步根据运行信息和第一配置信息中的调整阈值,确定对第一容器的调整方案,使得终端侧节点可以根据该调整方案对在终端侧节点中运行的第一容器的运行进行调整。例如,可以启动新的第一容器,以增加运行中的第一容器的数量;又例如,可以停止已运行的第一容器,以减少运行中的第一容器的数量。因此,本申请实施例提供的技术方案,终端侧节点能够自动的监控并上报容器的资源使用率等运行信息,服务端侧能够根据实际运行情况和预设的调整阈值自动的对容器的运行进行调整,从而解决了相关技术中手动启动或者停止容器所带来的效率低下问题,并且有利于有效的管理容器和终端侧节点(宿主机)的资源。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的容器调整***的结构示意图;
图2为本申请实施例中服务端侧执行的容器调整方法的流程示意图;
图3为本申请实施例中终端侧节点执行的容器调整方法的流程示意图;
图4为本申请实施例中确定调整阈值区间的实施示意图;
图5为本申请实施例中服务端侧执行的第二种容器调整方法的流程示意图;
图6为本申请实施例中服务端侧与终端侧节点之间的交互流程示意图;
图7为本申请实施例中适用于服务端侧的容器调整装置的结构示意图;
图8为本申请实施例中适用于终端侧节点的容器调整装置的结构示意图;
图9为本申请实施例中包括服务端侧容器调整装置的电子设备的结构示意图;
图10为本申请实施例中包括终端侧节点容器调整装置的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,本申请实施例提供了一种容器调整***,该***中包括服务端侧100和至少一个终端侧节点200(又可称为宿主机节点,节点,宿主机)。其中,服务端侧100可具体包括主机(Master)、协调中心、监控数据库(又可称为时间序列数据库,时序数据库)、以及负载均衡数据库(可以具体化为负载均衡列表)。
可选的,服务端侧中的主机(Master)用于运行服务器程序(server程序),以控制服务端侧中各部分的运行。在本申请实施例提供的容器调整方法中,主机的功能可以包括以下一项或多项:
(1)接收用户在主机上配置的第一配置信息和/或第二配置信息,和/或,用户在终端侧节点中配置的第一配置信息和/或第二配置信息;并进而将第一配置信息上传至协调中心保存,将第二配置信息推送到终端侧节点中保存。
(2)在监控容器运行情况的过程中,按照预设的频率读取协调中心中保存的节点标识和第一配置信息。
(3)根据节点标识,从监控数据库中抓取终端侧节点上报的运行信息。
(4)根据终端侧节点上报的运行信息和第一配置信息中的调整阈值,判断是否对在终端侧节点中运行的容器进行调整,并在确定对在终端侧节点中运行的第一容器进行调整时,确定对容器的调整方案。
(5)基于调整方案生成调整任务,调整任务中包括任务标识和任务信息,任务信息可以包括:终端侧节点的节点标识(用以确定在哪个终端侧节点中调整容器),容器的标识(用以确定调整哪种容器的运行),对容器的调整方式(用以确定是启动容器,还是停止容器),待调整数量(用以确定启动或停止的容器的具体数量)。
(6)接收终端侧节点在基于任务信息进行容器调整后返回的任务执行结果,并将任务执行结果与任务标识相对应的存储。
(7)周期性或非周期性扫描与任务标识相对应的任务执行结果,并根据任务执行结果,动态生成负载均衡列表。
可选的,服务端侧中的协调中心用于提供协调服务,协调服务是指为分布式应用提供的一种一致***,包括配置服务、服务发现、服务注册、自动同步数据等,并通过冗余服务实现高可用性。可选的,本申请实施例中,可以采用zookeeper,ETCD等协调服务软件实现协调中心的功能。具体的,在本申请实施例中提供的容器调整方法中,协调中心的功能可以包括以下一项或多项:
(1)存储并更新存储第一配置信息,供主机Master在判断是否进行容器调整前查询调整阈值。
(2)在接收到终端侧节点上报的节点标识后,创建监控数据条目,以供主机Master根据监控数据条目中的节点标识,抓取相对应的终端侧节点上报到监控数据库的运行信息。
(3)接收终端侧节点发送的心跳信息,以便确认终端侧节点的运行状态是否正常。
可选的,服务端侧中的监控数据库(又可称为时间序列数据库,时序数据库),可以用来存储时间序列历史。这种时间序列数据库具有不变性、唯一性及可排序性,数据到达服务端侧的顺序并不影响正确性,根据数据本身可以直接进行排序和去重,常用来存储监控数据。可选的,本申请实施例中,可以采用Graphite,InfluxDB,OpenTSDB等时间序列数据库来实现监控数据库的功能。具体的,在本申请实施例中提供的容器调整方法中,监控数据库的主要功能在于:接收并保存终端侧节点上报的运行信息,并供主机基于终端侧节点的节点标识抓取。
需要说明的是,监控数据库中创建的监控数据条目,可以用来记录多种类型的信息:
例如,监控数据库中可以创建用于记录终端侧节点的节点标识的数据条目,以便服务端侧确定需要监控的终端侧节点。
又例如,监控数据库中可以创建用于记录配置信息(包括第一配置信息和/或第二配置信息)的数据条目,以便服务端侧和/或终端侧节点获取最新的配置信息。
再例如,监控数据库中可以创建用于记录调整任务的任务标识和任务信息的数据条目,以便终端侧节点获取对容器进行调整的任务信息,完成对容器的调整。
还例如,监控数据库中可以创建用于记录对容器的调整结果的数据条目,以便及时将调整后的容器的相关信息更新至负载均衡数据库中,若增加了容器,则需将新增容器的路径信息补充入负载均衡数据库,若减少了容器,则需将停止运行的容器的路径信息从负载均衡数据库中删除。
可选的,服务端侧中的负载均衡数据库(可以具体化为负载均衡列表)中,存储有供用户访问容器的路径信息。例如,对于以宿主机方式启动的容器,负载均衡列表中存储有容器对应的宿主机的IP地址和容器对外的端口号。又例如,对于以桥接方式启动的容器,负载均衡列表中存储有容器的IP地址和容器对外的端口号。
需要说明的是,上述服务端侧中所包含的主机、协调中心、监控数据库以及负载均衡数据库,可以部署在相同的实体计算机上,也可以部署在不同的实体计算机上,只要各部分之间能够正常通信即可,本申请实施例对此不做限定。
在上述容器调整***中,终端侧300可包含一个或多个终端侧节点200(又可称为宿主机,宿主机节点,节点,Node等),每一终端侧节点中可以运行一种或多种容器(也可称为容器应用,容器Docker),每一终端侧节点中运行的某种容器应用,可以启动一个或多个。
在本申请实施例中所称的终端侧节点中,部署有监控模块Agent。监控模块Agent实现的功能可以包括:
(1)Agent在启动后,将终端侧节点的节点标识(可以是宿主机的ID,宿主机的计算机名称等,只要能够唯一标识终端侧节点即可)上报到服务端侧的协调中心,并监控协调中心中创建的、与终端侧节点的节点标识相对应的监控数据条目。
(2)Agent在启动后,向协调中心发送心跳信息。
(3)基于第二配置信息中所包含的监控项(可以是需监控的容器名称等)、监控频率等信息,实时获取终端侧节点中运行的容器的运行信息,例如容器运行的资源使用率等,可以还获取终端侧节点的运行信息,例如终端侧节点的资源使用率等。在此基础上,Agent还将获取的运行信息上报至服务端侧的监控数据库。
(4)Agent通过对协调中心中监控数据条目的监控,获取用于调整容器的调整任务,并按照调整任务中的任务信息启动或者停止对应的容器;并返回调整任务的执行结果,包括调整成功的结果和/或调整失败的结果。
可选的,对于部署在终端侧节点中的容器应用的运行数量,可以预先配置数量范围。这一数量范围表示,在所有终端侧节点上运行的某类型容器的总数量,应大于或等于预先配置的最小容器数量,并且,小于或者等于预先配置的最大容器数量。可以理解到,在对容器进行调整时,调整前后的容器数量均应满足这一数量范围的要求。
可选的,上述预先配置的数量范围,既可以广泛适用于在该终端侧节点中部署的所有容器应用,也可以仅针对部署在该终端侧节点的所有容器应用中的部分容器应用,对不同类型的容器应用(即实现不同功能的容器应用)可以配置不同的数量范围。
在本申请实施例提供的容器调整***中,为实现对容器的调整,服务端侧可具体用于:
确定第一配置信息,第一配置信息中包括调整阈值,调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
还用于接收终端侧节点基于第二配置信息上报的运行信息,运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率,第二配置信息中包括对运行信息进行监控的监控参数;
还用于根据运行信息和第一配置信息,确定是否对在终端侧节点中运行的第一容器进行调整;
还用于当确定对在终端侧节点中运行的第一容器进行调整时,基于运行信息和第一配置信息,确定对第一容器的调整方案,供终端侧节点对第一容器的运行进行调整。
在本申请实施例提供的容器调整***中,为实现对容器的调整,终端侧节点可具体用于:
确定第二配置信息,第二配置信息中包括对运行信息进行监控的监控参数,运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率;
还用于基于第二配置信息,向服务端侧上报运行信息,供服务端侧根据运行信息和第一配置信息,确定是否对在终端侧节点中运行的第一容器进行调整以及对第一容器的调整方案,其中,第一配置信息中包括调整阈值,调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
还用于当服务端侧确定对在终端侧节点中运行的第一容器进行调整时,根据对第一容器的调整方案,对第一容器的运行进行调整。
本申请实施例提供的容器调整***中,容器所运行的终端侧节点基于第二配置信息向服务端侧上报运行信息,运行信息中包括在终端侧节点中运行的容器的资源使用率;服务端侧在接收到终端侧节点上报的运行信息后,将运行信息与第一配置信息中的调整阈值进行比对,判断是否对终端侧节点中运行的第一容器进行调整。在此基础上,服务端侧进一步根据运行信息和第一配置信息中的调整阈值,确定对第一容器的调整方案,使得终端侧节点可以根据该调整方案对在终端侧节点中运行的第一容器的运行进行调整。例如,可以启动新的第一容器,以增加运行中的第一容器的数量;又例如,可以停止已运行的第一容器,以减少运行中的第一容器的数量。因此,本申请实施例提供的技术方案,终端侧节点能够自动的监控并上报容器的资源使用率等运行信息,服务端侧能够根据实际运行情况和预设的调整阈值自动的对容器的运行进行调整,从而解决了相关技术中手动启动或者停止容器所带来的效率低下问题,并且有利于有效的管理容器和终端侧节点(宿主机)的资源。
以下将进一步结合附图,分别从服务端侧和终端侧节点详细举例说明本申请各实施例提供的技术方案。
参见图2所示,本申请实施例提供的由服务端侧执行的容器调整方法可以具体包括:
S101:确定第一配置信息,第一配置信息中包括调整阈值,调整阈值用于判断是否对在终端侧节点中运行的容器进行调整。
可选的,服务端侧执行步骤S101确定的第一配置信息,可以由用户直接在服务端侧进行配置,也可以由用户在终端侧节点上进行配置、进而同步到服务端侧。
可选的,执行步骤S101确定第一配置信息的过程,在服务端侧中可以多次实施,而在不同情况下,确定第一配置信息的具体过程和内涵可以不同。例如,在用户对第一配置信息进行初始设置或者进行变更时,确定第一配置信息的步骤可以理解为主机Master直接从用户处获取第一配置信息,也可以理解为主机Master从终端侧节点处间接获取用户配置的第一配置信息。又例如,在主机Master中的服务器server程序刚启动时,确定第一配置信息的步骤可以理解为协调中心接收主机Master上传的第一配置信息。再例如,在需判断是否对在终端侧节点中运行的容器进行调整之前,确定第一配置信息的步骤可以理解为主机Master按照一定的预设频率,从协调中心中读取最新的第一配置信息。
可选的,第一配置信息中包含用于判断是否对在终端侧节点中运行的容器进行调整的调整阈值。可以理解到,调整阈值能够反映容器调整***所允许的容器的资源使用率范围。例如,调整阈值中可以包括第一使用率阈值,用于判断是否增加在终端侧节点中运行的容器的数量,当运行中容器的第一资源使用率大于或等于第一使用率阈值时,表示需要增加在终端侧节点中运行的第一容器的数量。又例如,调整阈值中可以包括第二使用率阈值,用于判断是否减少在终端侧节点中运行的容器的数量,当运行中容器的第一资源使用率小于或等于第二使用率阈值时,表示需要减少在终端侧节点中运行的第一容器的数量。可以理解到,当运行中容器的第一资源使用率介于第一使用率阈值和第二使用率阈值之间时(通常,第一使用率阈值大于第二使用率阈值),表示在终端侧节点中运行的容器数量适中,无需进行扩容(增加容器数量)或缩容(减少容器数量)调整。
需要说明的是,根据容器应用的具体类型以及对容器进行调整的具体需求,可以对用于增加容器数量的第一调整阈值(具体化为第一使用率阈值)和用于减少容器数量的第二调整阈值(具体化为第二使用率阈值)中一项或多项进行配置。
可选的,用于判断是否对在终端侧节点中运行的容器进行调整的调整阈值,通常与容器的资源使用率有关,还可以与终端侧节点的资源使用率有关。进一步的,根据对容器资源和/或节点资源的考察,可以从内存使用率和CPU使用率中一项或多项进行。也就是说,调整阈值可以包括以下至少一项:
运行有容器的终端侧节点(宿主机)的内存使用率;
运行有容器的终端侧节点(宿主机)的CPU使用率;
容器自身在终端侧节点中运行时的内存使用率;
容器自身在终端侧节点中运行时的CPU使用率。
可以理解到,可以根据容器和/或终端侧节点在资源占用方面的主要关注点,选择配置不同的调整阈值,以便根据不同的资源占用情况进行容器的调整。例如,若容器应用的运行需要的内存资源更重要,则第一配置信息中可以配置与容器自身的内存使用率相关的调整阈值。又例如,若终端侧节点的CPU使用率对宿主机的运行性能影响较大,则第一配置信息中可以配置与终端侧节点的CPU使用率相关的调整阈值,以避免在节点的CPU使用率已经过高的情况下,继续增加容器的数量,带来过高的负载,导致***无法稳定持久的运行。
可选的,本申请实施例中的第一配置信息可以与容器相关联。可以理解为,对于不同的容器的运行特点和资源需求,可以配置不同的调整阈值,第一配置信息可以与容器的标识信息建立对应关系。除此之外,第一配置信息也可以与终端侧节点相关联。可以理解为,宿主机(即终端侧节点)的机器配置不同,可以提供给容器应用运行的资源不同,可以承担的负载也不同,因此,对于不同的终端侧节点,可以配置不同的调整阈值(与终端侧节点的内存使用率和/或CPU使用率有关)。
S103:接收终端侧节点基于第二配置信息上报的运行信息,运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率,第二配置信息中包括对运行信息进行监控的监控参数。
可以理解到,上述步骤S103可以具体由服务端侧中的监控数据库(又可称为时序数据库)执行,接收到的运行信息也保存在监控数据库中。可选的,保存在监控数据库中的数据,能够反映终端侧节点的节点标识、容器标识以及容器的第一资源使用率之间的对应关系。若运行信息中还包括终端侧节点的第二资源使用率,则监控数据库中的数据,能够反映终端侧节点的节点标识、容器标识以及容器的第一资源使用率、以及终端侧节点的第二资源使用率之间的对应关系。
可以理解到,与服务端侧执行步骤S103相对应的,终端侧节点需要执行步骤203,基于第二配置信息,向服务端侧上报运行信息,参见图3所示。而在上报运行信息之前,终端侧节点还需要先执行步骤S201,确定第二配置信息,第二配置信息中包括对运行信息进行监控的监控参数,运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率。
可选的,终端侧节点执行步骤S201确定的第二配置信息,可以是用户在服务端侧配置、由服务端侧推送至终端侧节点的,也可以是用户直接在终端侧节点上配置的。
可选的,上述第二配置信息,可以是适用于终端侧所有终端侧节点的,也可以是仅适用于部分终端侧节点的。
可选的,上述第二配置信息中的监控参数,可以包括需要监控的监控项(例如,需监控的容器名称等)、监控频率、被监控的容器的统一资源定位符URL(Uniform ResourceLocator)、上报运行信息的频率、监控容器调整任务的频率等信息中的一项或多项。
可选的,运行信息中包含的在终端侧节点中运行的第一容器的第一资源使用率,反映第一容器(某一类容器)在上报运行信息的终端侧节点中运行时的资源使用率。可以理解到,同一终端侧节点中运行的同类或不同类的容器,其容器运行的资源使用率可以不同,同一类容器在不同的终端侧节点中运行的资源使用率也可以不同。需要说明的是,运行信息中可同时包含容器的标识信息(例如,标识为第一容器的标识信息),与上报的容器的第一资源使用率相对应,以便区分不同容器的资源使用率。
可选的,运行信息中还可以包括终端侧节点的第二资源使用率,以便服务端侧获知终端侧节点的资源占用情况,进而在确定需要增加容器或者减少容器后,进一步确定在哪一台终端侧节点上执行增加容器或者减少容器的任务。需要说明的是,运行信息中可同时包含终端侧节点的节点标识,与上报的终端侧节点的第二资源使用率相对应,以便区分不同终端侧节点的资源使用率。
可选的,终端侧节点在执行步骤203向服务端侧上报运行信息之前,还可以在终端侧节点启动运行时,可以具体化为部署在终端侧节点上的监控模块Agent启动时,将终端侧节点的节点标识上报至服务端侧。相对应的,服务端侧在执行步骤S103接收终端侧节点基于第二配置信息上报的运行信息之前,也将接收终端侧节点上报的节点标识,并基于节点标识,在服务端侧创建监控数据条目,其中,监控数据条目中包括节点标识的信息。可以理解到,可以具体为在协调中心中创建上述监控数据条目(可称之为key)。
在以上基础上,服务端侧执行步骤S103接收终端侧节点基于第二配置信息上报的运行信息之后,服务端侧还可以进一步根据监控数据条目中的节点标识,抓取与节点标识相对应的终端侧节点上报的运行信息。在服务端侧中,主机(通过部署在主机上的服务器Server程序)可以从协调中心中读取监控数据条目中的节点标识,以便获知需要监控哪个终端侧节点的运行信息;进而,主机(通过部署在主机上的服务器Server程序)根据节点标识,从监控数据库中抓取终端侧节点(通过部署在终端侧节点上的Agent监控程序)上报的运行信息。
S105:根据运行信息和第一配置信息,确定是否对在终端侧节点中运行的第一容器进行调整。
可以理解到,对容器的调整,可以是对容器数量进行增加(相当于启动新的容器),也可以是对容器数量进行减少(相当于停止运行中的容器)。
可选的,当调整阈值中包括第一使用率阈值,第一使用率阈值用于判断是否增加在终端侧节点中运行的容器的数量时,若运行信息中的第一资源使用率(例如,80%)大于或等于第一使用率阈值(例如,60%),表示运行中的容器的资源使用率已经超出了预设的资源使用率上限(具体体现为第一使用率阈值),运行中的容器已处于超负荷运行状态。因此,可以通过增加在终端侧节点中运行的第一容器的数量的方式,启动新的容器分担已运行容器的处理负荷,使得运行中的容器的资源使用率下降到第一使用率阈值以下。
可选的,当调整阈值中包括第二使用率阈值,第二使用率阈值用于判断是否减少在终端侧节点中运行的容器的数量时,若运行信息中的第一资源使用率(例如,20%)小于或等于第二使用率阈值(例如,40%),表示运行中的容器的资源使用率并未达到预设的资源使用率下限(具体体现为第二使用率阈值),运行中的容器已处于超空闲运行状态。因此,可以通过减少在终端侧节点中运行的第一容器的数量的方式,停止部分运行中的容器,使得仍继续运行的容器的资源使用率提高到第二使用率阈值以上,从而保证容器资源能够被有效利用。
能够理解到,上述第一使用率阈值和第二使用率阈值可以相同,也可以不同。若第一使用率阈值和第二使用率阈值相同,表示当容器的当前资源使用率大于第一使用率阈值时,可以进行容器的扩容(即启动新的容器,增加容器的数量),当容器的当前资源使用率小于第二使用率阈值时,可以进行容器的缩容(即停止容器,减少容器的数量)。
在某些情况下,刚开始进行容器调整时,运行中的容器的资源使用率可能会出现波动。例如,启动了新的容器时,刚启动的容器的资源使用率可能会突然很高,其他容器的资源使用率也可能因负载被新启动的容器分担而突然很低。为避免这种波动所导致的频繁调整(即容器数量的频繁增减),可选的,可以预先设置一预设偏差(这一设置信息可以作为第一配置信息的一部分,存入协调中心),则在执行步骤105时,可以先根据预设偏差和第一配置信息中的调整阈值,确定调整阈值区间。然后,可以根据运行信息中第一容器的第一资源使用率所对应的调整阈值区间,确定是否对终端侧节点中运行的第一容器进行调整。
例如,预设偏差为10%,调整阈值中的第一使用率阈值和第二使用率阈值均为50%,则调整阈值区间可确定为小于45%的第一区间、大于45%小于55%的第二区间、以及大于55%的第三区间,参见图4所示。此时,若容器的第一资源使用率落入第一区间,可以减少容器的数量;若容器的第一资源使用率落入第二区间,可以不对容器进行调整;若容器的第一资源使用率落入第三区间,可以增加容器的数量。
采用上述方式确定是否对容器进行调整,可以有效避免容器运行状态的抖动,有利于提高***稳定性。与此同时,可以仅对用于判断是否缩容的第二使用率阈值设置预设偏差,相当于当出现新的负载,容器的当前使用率高于第一使用率阈值时,服务端侧仍然能够快速响应进行扩容;而当负载降低,容器的当前使用率低于第二使用率阈值时,服务段侧并不急于进行缩容,仅当容器的当前使用率低于依据预设偏差确定的调整阈值区间的下限值时,才进行缩容,因而能够避免负载的短期下降导致的抖动,有利于提高容器运行的稳定性。
S107:当确定对在终端侧节点中运行的第一容器进行调整时,基于运行信息和第一配置信息,确定对第一容器的调整方案,供终端侧节点对第一容器的运行进行调整。
可选的,当确定需要对在终端侧节点中运行的容器进行调整时,需要基于终端侧节点上报的容器的当前运行信息和第一配置信息(即调整阈值),确定第一容器的待调整数量,待调整数量包括待增加数量或者待减少数量。
可以理解到,对于在一个或多个终端侧节点中运行的容器,不同类型的容器的资源使用率(运行信息)往往不尽相同,各类型容器所对应的调整阈值也可以不同。因此,在对容器进行调整时的方式(扩容还是缩容)也可能不同,待调整数量也不尽相同。
对于进行单机部署的容器(即容器仅在单个宿主机上运行),确定了对容器进行调整的方式以及待调整的容器的数量即可进行容器的调整。而对于多机部署的容器(即容器可以在多个宿主机上运行),确定调整方案时,还需要确定待调整的第一容器所运行的终端侧节点的节点标识,即确定在哪个终端侧节点上进行容器的增加或减少。
可选的,在确定待调整的第一容器所运行的终端侧节点的节点标识时,可以根据终端侧节点上报到服务端侧(可以是服务端侧的监控数据库)的第二资源使用率(可以是宿主机本身的CPU使用率和/或内存使用率)确定。例如,若需增加容器的数量,则优选在第二资源使用率较低的终端侧节点上进行;若需减少容器的数量,则优选在第二资源使用率较高的终端侧节点上进行。
可选的,在确定待调整的第一容器所运行的终端侧节点的节点标识时,除考虑终端侧节点上报的当前第二资源使用率以外,也可以同时考虑第一配置信息中关于终端侧节点的调整阈值(可以理解为终端侧节点的节点使用率阈值)。例如,若需增加容器的数量,则优选在小于节点使用率阈值的终端侧节点中选取,可以从满足条件的节点中随机选取,也可以直接选取最小的;若需减少容器的数量,则优选在大于节点使用了阈值的终端侧节点中选取,可以从满足条件的节点中随机选取,也可以直接选取最大的。在某些情况下,对容器进行调整(增加或者减少)的待调整数量可能大于1,则可以在满足条件的终端侧节点中分别进行容器的调整,各节点中增加/减少的容器数量之和与待调整数量相同即可,也可以全部在第二资源使用率最小(对应增加容器的调整方式)或者最大(对应减少容器的调整方式)的终端侧节点上进行容器的调整。
可选的,在基于运行信息和第一配置信息,确定第一容器的待调整数量时,可以采用以下方式:
首先,基于运行信息(包括各终端侧节点上报的第一容器的第一资源使用率),确定第一容器的第一资源使用率之和的平均值,得到第一数值S1。S1的计算可采用以下公式:
其中,Ki表示第i个终端侧节点上第一容器的第一资源使用率;N表示终端侧中部署有第一容器的终端侧节点的总数。
其次,计算第一数值S1与配置阈值S2的比值,得到第二数值S3。
最后,对第二数值进行向上取整,得到第一容器的待调整数量M。M的计算可采用以下函数:
M=ceil(S3)=ceil(S1/S2)
其中,ceil函数用于返回大于或等于表达式的最小整数。
可以理解到,在服务端侧确定对第一容器的调整方案后,相对应的终端侧节点可执行步骤S205,根据对第一容器的调整方案,对第一容器的运行进行调整。
可选的,服务端侧在执行步骤S107,基于运行信息和第一配置信息,确定对第一容器的调整方案之后,可以进一步执行以下步骤,参见图5所示:
S109:基于对第一容器的调整方案,生成与调整方案相对应的调整任务,其中,调整任务中包括对应的终端侧节点的节点标识、第一容器的标识、对第一容器的调整方式以及待调整数量。
可选的,步骤S109可以有服务端侧的主机(通过服务器server程序)执行,生成的调整任务可以包含任务标识(ID)和任务信息,任务信息中可进一步包含对应的终端侧节点(也就是确定出执行容器调整的终端侧节点)的节点标识(记为节点标识1)、第一容器的标识、对第一容器的调整方式以及待调整数量。主机可以在监控数据库中生成用于记录调整任务的监控数据条目key,以调整任务的任务标识命名,并将任务信息写入该条监控数据条目中。
相对应的,终端侧节点通过监控上述用于记录调整任务的监控数据条目,可以调取与终端侧节点的节点标识相对应的调整任务中具体的任务信息,进而可按照调整任务中第一容器的标识、对第一容器的调整方式以及待调整数量,执行调整任务,对第一容器的运行进行调整。
在此基础上,终端侧节点在根据对第一容器的调整方案,对第一容器的运行进行调整之后,可以进一步向服务端侧返回对调整任务的任务执行结果。相对应的,服务端侧可执行步骤S111,接收终端侧节点返回的任务执行结果,并进而执行步骤S113,根据任务执行结果更新服务端侧的负载均衡数据库。
与服务端侧执行的容器调整方法相对应的,本申请实施例还提供了一种容器调整方法,应用于终端侧节点,参见图3所示,该方法可以包括:
S201:确定第二配置信息,第二配置信息中包括对运行信息进行监控的监控参数,运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率;
S203:基于第二配置信息,向服务端侧上报运行信息,供服务端侧根据运行信息和第一配置信息,确定是否对在终端侧节点中运行的第一容器进行调整以及对第一容器的调整方案;其中,第一配置信息中包括调整阈值,调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
S205:当服务端侧确定对在终端侧节点中运行的第一容器进行调整时,根据对第一容器的调整方案,对第一容器的运行进行调整。
优选的,运行信息中还包括终端侧节点的第二资源使用率,以便服务端根据终端侧节点的资源使用确定,确定在哪个终端侧节点进行扩容或缩容。
优选的,在基于第二配置信息,向服务端侧上报运行信息之前,该方法还可包括:
在终端侧节点启动运行时,将终端侧节点的节点标识上报至服务端侧,供服务端侧基于节点标识创建监控数据条目,并根据监控数据条目中的节点标识,抓取与节点标识相对应的终端侧节点上报的运行信息,监控数据条目中包括节点标识的信息。
优选的,在终端侧节点启动运行后,终端侧节点还可以向服务端侧发送心跳信息,以便服务端侧监控终端侧节点是否处于正常运行状态。
优选的,根据对第一容器的调整方案,对第一容器的运行进行调整,可以包括:
调取与终端侧节点的节点标识相对应的调整任务,调整任务由服务端侧基于对第一容器的调整方案生成,调整任务中包括对应的终端侧节点的节点标识、第一容器的标识、对第一容器的调整方式以及待调整数量;
按照调整任务中第一容器的标识、对第一容器的调整方式以及待调整数量,执行调整任务,对第一容器的运行进行调整。
优选的,在根据对第一容器的调整方案,对第一容器的运行进行调整之后,方法还可包括:
向服务端侧返回对调整任务的任务执行结果,以供服务端侧根据任务执行结果更新服务端侧的负载均衡数据库。
能够理解,终端侧节点执行的容器调整方法与服务端侧执行的容器调整方法相对应,此处不再赘述。
本申请实施例提供的容器调整方法中,容器所运行的终端侧节点基于第二配置信息向服务端侧上报运行信息,运行信息中包括在终端侧节点中运行的容器的资源使用率;服务端侧在接收到终端侧节点上报的运行信息后,将运行信息与第一配置信息中的调整阈值进行比对,判断是否对终端侧节点中运行的第一容器进行调整。在此基础上,服务端侧进一步根据运行信息和第一配置信息中的调整阈值,确定对第一容器的调整方案,使得终端侧节点可以根据该调整方案对在终端侧节点中运行的第一容器的运行进行调整。例如,可以启动新的第一容器,以增加运行中的第一容器的数量;又例如,可以停止已运行的第一容器,以减少运行中的第一容器的数量。因此,本申请实施例提供的技术方案,终端侧节点能够自动的监控并上报容器的资源使用率等运行信息,服务端侧能够根据实际运行情况和预设的调整阈值自动的对容器的运行进行调整,从而解决了相关技术中手动启动或者停止容器所带来的效率低下问题,并且有利于有效的管理容器和终端侧节点(宿主机)的资源。
以下以采用ETCD作为服务端侧的协调中心,采用influxDB作为服务端侧的监控数据库为例,结合前述实施例中提供的容器调整***和方法,结合图6示意的交互流程图,进一步举例说明本申请实施例的实施。
本示例采用的ETCD是一款分布式的高性能的键值存储软件,具有服务发现等功能。在ETCD中,键值可表示为:
键值:/test/a/b
其中,“/test/a”称为key,“b”称为“/test/a”的值。
本示例采用的influxDB是一个开源分布式时序、事件和指标数据库。
为实现对容器的自动调整,可以按以下方式进行:
步骤1:部署协调中心ETCD集群及监控数据库(influxDB)。
步骤2:创建监控配置,即创建包括第一配置信息和第二配置信息的配置信息。配置信息中的配置项可以包括CPU使用率、内存使用率,每秒查询率QPS(Query Per Second),监控频率等。配置文件的格式为yaml,具体为以下形式:
ContainerName:
TestContainer:
Interval:30s
CPU:50%
mem:200M
custom:
qps:500
url:http://127.0.0.1/healthz
从以上配置文件中可以看出,配置信息中,“Interval:30s”可理解为每30秒进行一次监控,“CPU:50%”可理解为与CPU使用率有关的调整阈值设定为50%(此例中,第一使用率阈值与第二使用率阈值相同),“mem:200M”可理解为与内存使用有关的调整阈值设定为200兆。
与此同时,服务端中还可以创建服务器server本身的配置,配置格式也可以为yaml。例如,以以下方式进行配置:
InfluxDB:http://10.0.0.1:2200
Interval:30s
步骤3:server程序启动时,自动读取步骤2创建的配置信息,并创建key:/task/config(可以理解到,本条监控数据条目key用于记录配置信息)。配置信息上传到ETCD的这个key下,并开始监控/task/result(可以理解到,本条监控数据条目key用于记录对容器的调整结果)。
步骤4:每台节点启动agent,agent首先把自己的信息(节点标识,例如,计算机名称)写ETCD的key:/task/nodes/Test1(可以理解到,本条监控数据条目key用于记录终端侧节点的节点标识),agent每隔1分钟读取ETCD的key:/task/config,并进行解析。如果配置中配置的ContainerName(容器名称)不在当前的机器上,则不进行监控;如果存在,则开始监控,且每隔30秒获取一次数据。agent把监控到的数据通过influxDB的API发送到influxDB,接着agent开始监控ETCD的/task/Test1/taskid(可以理解到,本条监控数据条目key用于记录调整任务的任务标识ID)。
步骤5:server递归读取协调中心中以/task/nodes开头的key,获取所有的nodes(即终端侧节点)。server根据自己的配置,每隔30s连接influxDB,并依次读取每个node的监控数据,开始做比较。根据预设的算法计算是否需要进行扩容或缩容,并计算出每个node需要创建或删除的容器的具体数量。在此基础上,生成任务ID,把ID及任务的具体信息(可以理解为算法计算的结果)写入ETCD的key:/task/Test1/taskid/11111,其中11111为任务ID,具体的任务信息可以表达为以下形式:
若需增加1个容器,则任务信息可表达为:
{“container_name”:“TestContainer”,“action”:”add”,“num”:1}
若需减少1个容器,则任务信息可表达为:
{“container_name”:“TestContainer”,“action”:”sub”,“num”:1}
上述预设的算法,以根据容器应用的CPU使用率作为考察点为例,server收集各容器应用的CPU使用率,然后将CPU使用率的算术平均值与配置中定义的CPU阈值做比较,并根据结果调整容器应用的数量。调整过程可受以下条件的制约:
预设最小数量<=当前数量<=预设最大数量
上述预设算法中计算目标容器(即被调整数量的容器)的调整数量的计算公式可表示为:
目标容器数量=ceil(sum(当前容器CPU使用率)的平均值/配置阈值)
其中,ceil指返回大于或等于表达式的最小整数,sum指求数组元素和。
步骤6:agent通过监听ETCD的key:/task/Test1/taskid,获取到任务信息,并进行解析,根据任务信息进行相应的操作——增加或删除对应数量的容器。操作完毕后,把结果写入ETCD中的/task/result/11111,结果信息可以表示成以下形式:
若任务执行成功,则可表达为:
{“node”:”Test1”,“container_info”:[]“res”:true,“msg”:”succ”,“id”:“11111”}
若任务执行失败,则可表达为:
{“node”:”Test1”,“container_info”:[],“res”:false,“msg”:”failed”,“id”:“11111”}
步骤7:server通过监听ETCD的key:/task/result,读取相应的返回结果,并进行解析。如果任务执行成功,则生成负载均衡列表,如果执行失败,则不进行以上操作,但两种情况都会输出到日志中。
本申请实施例还提供了一种容器调整装置,应用于服务端侧100,参见图7所示,该装置包括:
第一配置信息确定模块101,用于确定第一配置信息,第一配置信息中包括调整阈值,调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
运行信息接收模块103,用于接收终端侧节点基于第二配置信息上报的运行信息,运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率,第二配置信息中包括对运行信息进行监控的监控参数;
判断模块105,用于根据运行信息和第一配置信息,确定是否对在终端侧节点中运行的第一容器进行调整;
调整方案确定模块107,用于当确定对在终端侧节点中运行的第一容器进行调整时,基于运行信息和第一配置信息,确定对第一容器的调整方案,供终端侧节点对第一容器的运行进行调整。
能够理解,本申请实施例提供的容器调整装置,能够实现前述服务端侧执行的容器调整方法的全部内容,前述相关内容均适用于本实施例,此处不再赘述。
本申请实施例还提供了一种容器调整装置,应用于终端侧节点200,参见图8所示,该装置包括:
第二配置信息确定模块201,用于确定第二配置信息,第二配置信息中包括对运行信息进行监控的监控参数,运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率;
运行信息上报模块203,用于基于第二配置信息,向服务端侧上报运行信息,供服务端侧根据运行信息和第一配置信息,确定是否对在终端侧节点中运行的第一容器进行调整以及对第一容器的调整方案;其中,第一配置信息中包括调整阈值,调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
容器调整模块205,用于当服务端侧确定对在终端侧节点中运行的第一容器进行调整时,根据对第一容器的调整方案,对第一容器的运行进行调整。
能够理解,本申请实施例提供的容器调整装置,能够实现前述终端侧节点执行的容器调整方法的全部内容,前述相关内容均适用于本实施例,此处不再赘述。
图9是本申请的一个实施例电子设备的结构示意图。请参考图9,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成服务端侧容器调整装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
确定第一配置信息,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
接收终端侧节点基于第二配置信息上报的运行信息,所述运行信息中包括在所述终端侧节点中运行的第一容器的第一资源使用率,所述第二配置信息中包括对所述运行信息进行监控的监控参数;
根据所述运行信息和所述第一配置信息,确定是否对在终端侧节点中运行的所述第一容器进行调整;
当确定对在终端侧节点中运行的所述第一容器进行调整时,基于所述运行信息和所述第一配置信息,确定对所述第一容器的调整方案,供所述终端侧节点对所述第一容器的运行进行调整。
上述如本申请图2所示实施例揭示的服务端侧容器调整装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2中服务端侧容器调整装置执行的方法,并实现服务端侧容器调整装置在图2所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图2所示实施例中服务端侧容器调整装置执行的方法,并具体用于执行:
确定第一配置信息,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
接收终端侧节点基于第二配置信息上报的运行信息,所述运行信息中包括在所述终端侧节点中运行的第一容器的第一资源使用率,所述第二配置信息中包括对所述运行信息进行监控的监控参数;
根据所述运行信息和所述第一配置信息,确定是否对在终端侧节点中运行的所述第一容器进行调整;
当确定对在终端侧节点中运行的所述第一容器进行调整时,基于所述运行信息和所述第一配置信息,确定对所述第一容器的调整方案,供所述终端侧节点对所述第一容器的运行进行调整。
图10是本申请的一个实施例电子设备的结构示意图。请参考图10,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成终端侧节点容器调整装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
确定第二配置信息,所述第二配置信息中包括对运行信息进行监控的监控参数,所述运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率;
基于所述第二配置信息,向服务端侧上报所述运行信息,供所述服务端侧根据所述运行信息和第一配置信息,确定是否对在所述终端侧节点中运行的所述第一容器进行调整以及对所述第一容器的调整方案;其中,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
当所述服务端侧确定对在所述终端侧节点中运行的所述第一容器进行调整后,根据对所述第一容器的调整方案,对所述第一容器的运行进行调整。
上述如本申请图3所示实施例揭示的终端侧节点容器调整装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图3中终端侧节点容器调整装置执行的方法,并实现终端侧节点容器调整装置在图3所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图3所示实施例中终端侧节点容器调整装置执行的方法,并具体用于执行:
确定第二配置信息,所述第二配置信息中包括对运行信息进行监控的监控参数,所述运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率;
基于所述第二配置信息,向服务端侧上报所述运行信息,供所述服务端侧根据所述运行信息和第一配置信息,确定是否对在所述终端侧节点中运行的所述第一容器进行调整以及对所述第一容器的调整方案;其中,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
当所述服务端侧确定对在所述终端侧节点中运行的所述第一容器进行调整后,根据对所述第一容器的调整方案,对所述第一容器的运行进行调整。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种容器调整方法,应用于服务端侧,其特征在于,所述方法包括:
确定第一配置信息,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
接收终端侧节点基于第二配置信息上报的运行信息,所述运行信息中包括在所述终端侧节点中运行的第一容器的第一资源使用率,所述第二配置信息中包括对所述运行信息进行监控的监控参数;
根据所述运行信息和所述第一配置信息,确定是否对在终端侧节点中运行的所述第一容器进行调整;
当确定对在终端侧节点中运行的所述第一容器进行调整时,基于所述运行信息和所述第一配置信息,确定对所述第一容器的调整方案,供所述终端侧节点对所述第一容器的运行进行调整。
2.根据权利要求1所述方法,其特征在于,根据所述运行信息和所述第一配置信息,确定是否对在终端侧节点中运行的所述第一容器进行调整,包括:
根据预设偏差和所述第一配置信息中的调整阈值,确定调整阈值区间;
根据所述运行信息中所述第一容器的第一资源使用率所对应的调整阈值区间,确定是否对终端侧节点中运行的所述第一容器进行调整。
3.根据权利要求1所述方法,其特征在于,所述调整阈值包括第一使用率阈值,所述第一使用率阈值用于判断是否增加在终端侧节点中运行的容器的数量;
则根据所述运行信息和所述第一配置信息,确定是否对在终端侧节点中运行的所述第一容器进行调整,包括:
当所述运行信息中的第一资源使用率大于或等于所述第一使用率阈值时,确定增加在终端侧节点中运行的所述第一容器的数量。
4.根据权利要求1所述方法,其特征在于,所述调整阈值包括第二使用率阈值,所述第二使用率阈值用于判断是否减少在终端侧节点中运行的容器的数量;
则根据所述运行信息和所述第一配置信息,确定是否对在终端侧节点中运行的所述第一容器进行调整,包括:
当所述运行信息中的第一资源使用率小于或等于所述第二使用率阈值时,确定减少在终端侧节点中运行的所述第一容器的数量。
5.根据权利要求1所述方法,其特征在于,基于所述运行信息和所述第一配置信息,确定对所述第一容器的调整方案,包括:
基于所述运行信息和所述第一配置信息,确定所述第一容器的待调整数量,所述待调整数量包括待增加数量或者待减少数量。
6.根据权利要求5所述方法,其特征在于,当所述第一容器在多个终端侧节点上运行时,基于所述运行信息和所述第一配置信息,确定对所述第一容器的调整方案,还包括:
确定待调整的所述第一容器所运行的终端侧节点的节点标识。
7.根据权利要求5或6所述方法,其特征在于,基于所述运行信息和所述第一配置信息,确定所述第一容器的待调整数量,包括:
基于所述运行信息,确定所述第一容器的第一资源使用率之和的平均值,得到第一数值;
计算所述第一数值与所述配置阈值的比值,得到第二数值;
对所述第二数值进行向上取整,得到所述第一容器的待调整数量。
8.一种容器调整方法,应用于终端侧节点,其特征在于,所述方法包括:
确定第二配置信息,所述第二配置信息中包括对运行信息进行监控的监控参数,所述运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率;
基于所述第二配置信息,向服务端侧上报所述运行信息,供所述服务端侧根据所述运行信息和第一配置信息,确定是否对在所述终端侧节点中运行的所述第一容器进行调整以及对所述第一容器的调整方案;其中,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
当所述服务端侧确定对在所述终端侧节点中运行的所述第一容器进行调整后,根据对所述第一容器的调整方案,对所述第一容器的运行进行调整。
9.根据权利要求8所述方法,其特征在于,在基于所述第二配置信息,向服务端侧上报所述运行信息之前,所述方法还包括:
在所述终端侧节点启动运行时,将所述终端侧节点的节点标识上报至所述服务端侧,供所述服务端侧基于所述节点标识创建监控数据条目,并根据所述监控数据条目中的节点标识,抓取与所述节点标识相对应的终端侧节点上报的运行信息,所述监控数据条目中包括所述节点标识的信息。
10.根据权利要求8所述方法,其特征在于,根据对所述第一容器的调整方案,对所述第一容器的运行进行调整,包括:
调取与所述终端侧节点的节点标识相对应的调整任务,所述调整任务由所述服务端侧基于对所述第一容器的调整方案生成,所述调整任务中包括对应的终端侧节点的节点标识、所述第一容器的标识、对所述第一容器的调整方式以及待调整数量;
按照所述调整任务中所述第一容器的标识、对所述第一容器的调整方式以及待调整数量,执行所述调整任务,对所述第一容器的运行进行调整。
11.根据权利要求10所述方法,其特征在于,在根据对所述第一容器的调整方案,对所述第一容器的运行进行调整之后,所述方法还包括:
向所述服务端侧返回对所述调整任务的任务执行结果,以供所述服务端侧根据所述任务执行结果更新所述服务端侧的负载均衡数据库。
12.一种容器调整装置,应用于服务端侧,其特征在于,所述装置包括:
第一配置信息确定模块,用于确定第一配置信息,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
运行信息接收模块,用于接收终端侧节点基于第二配置信息上报的运行信息,所述运行信息中包括在所述终端侧节点中运行的第一容器的第一资源使用率,所述第二配置信息中包括对所述运行信息进行监控的监控参数;
判断模块,用于根据所述运行信息和所述第一配置信息,确定是否对在终端侧节点中运行的所述第一容器进行调整;
调整方案确定模块,用于当确定对在终端侧节点中运行的所述第一容器进行调整时,基于所述运行信息和所述第一配置信息,确定对所述第一容器的调整方案,供所述终端侧节点对所述第一容器的运行进行调整。
13.一种容器调整装置,应用于终端侧节点,其特征在于,所述装置包括:
第二配置信息确定模块,用于确定第二配置信息,所述第二配置信息中包括对运行信息进行监控的监控参数,所述运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率;
运行信息上报模块,用于基于所述第二配置信息,向服务端侧上报所述运行信息,供所述服务端侧根据所述运行信息和第一配置信息,确定是否对在所述终端侧节点中运行的所述第一容器进行调整以及对所述第一容器的调整方案;其中,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;
容器调整模块,用于当所述服务端侧确定对在所述终端侧节点中运行的所述第一容器进行调整后,根据对所述第一容器的调整方案,对所述第一容器的运行进行调整。
14.一种容器调整***,其特征在于,所述***中包括服务端侧和至少一个终端侧节点,其中,
所述服务端侧,用于确定第一配置信息,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;还用于接收终端侧节点基于第二配置信息上报的运行信息,所述运行信息中包括在所述终端侧节点中运行的第一容器的第一资源使用率,所述第二配置信息中包括对所述运行信息进行监控的监控参数;还用于根据所述运行信息和所述第一配置信息,确定是否对在终端侧节点中运行的所述第一容器进行调整;还用于当确定对在终端侧节点中运行的所述第一容器进行调整时,基于所述运行信息和所述第一配置信息,确定对所述第一容器的调整方案,供所述终端侧节点对所述第一容器的运行进行调整;
所述终端侧节点,用于确定第二配置信息,所述第二配置信息中包括对运行信息进行监控的监控参数,所述运行信息中包括在终端侧节点中运行的第一容器的第一资源使用率;还用于基于所述第二配置信息,向服务端侧上报所述运行信息,供所述服务端侧根据所述运行信息和第一配置信息,确定是否对在所述终端侧节点中运行的所述第一容器进行调整以及对所述第一容器的调整方案,其中,所述第一配置信息中包括调整阈值,所述调整阈值用于判断是否对在终端侧节点中运行的容器进行调整;还用于当所述服务端侧确定对在所述终端侧节点中运行的所述第一容器进行调整后,根据对所述第一容器的调整方案,对所述第一容器的运行进行调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810573786.4A CN108958882A (zh) | 2018-06-06 | 2018-06-06 | 一种容器调整方法、装置和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810573786.4A CN108958882A (zh) | 2018-06-06 | 2018-06-06 | 一种容器调整方法、装置和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108958882A true CN108958882A (zh) | 2018-12-07 |
Family
ID=64493006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810573786.4A Pending CN108958882A (zh) | 2018-06-06 | 2018-06-06 | 一种容器调整方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108958882A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800079A (zh) * | 2018-12-13 | 2019-05-24 | 平安医疗健康管理股份有限公司 | 医保***中的节点调整方法及相关装置 |
CN109981396A (zh) * | 2019-01-22 | 2019-07-05 | 平安普惠企业管理有限公司 | docker服务容器集群的监控方法及装置、介质及电子设备 |
CN110096336A (zh) * | 2019-04-29 | 2019-08-06 | 江苏满运软件科技有限公司 | 数据监控方法、装置、设备和介质 |
CN110620673A (zh) * | 2019-10-18 | 2019-12-27 | 网易(杭州)网络有限公司 | 一种聊天室进程的数据处理方法及*** |
CN111130925A (zh) * | 2019-11-29 | 2020-05-08 | 广州文远知行科技有限公司 | 资源监控方法、装置、计算机设备和存储介质 |
CN111506358A (zh) * | 2020-03-23 | 2020-08-07 | 聚好看科技股份有限公司 | 更新容器配置的方法及装置 |
CN111666156A (zh) * | 2020-06-03 | 2020-09-15 | 科东(广州)软件科技有限公司 | 一种容器编排方法、装置、设备和存储介质 |
CN112181649A (zh) * | 2020-09-22 | 2021-01-05 | 广州品唯软件有限公司 | 一种容器资源调整方法、装置、计算机设备及存储介质 |
CN112306640A (zh) * | 2020-11-12 | 2021-02-02 | 广州方硅信息技术有限公司 | 容器分配方法及其装置、设备、介质 |
CN112506477A (zh) * | 2020-11-09 | 2021-03-16 | 麒麟软件有限公司 | 一种在Kubernetes集群中使用RESTful API添加计算节点的方法 |
CN112506618A (zh) * | 2020-12-18 | 2021-03-16 | 北银金融科技有限责任公司 | 一种在容器应用中动态匹配存储类的方法及*** |
CN112559142A (zh) * | 2019-09-26 | 2021-03-26 | 贵州白山云科技股份有限公司 | 容器的控制方法、装置、边缘计算***、介质及设备 |
CN113254224A (zh) * | 2021-07-15 | 2021-08-13 | 中电金信软件有限公司 | 计算资源扩容方法、装置、电子设备和可读存储介质 |
CN113254143A (zh) * | 2020-02-11 | 2021-08-13 | 中国电信股份有限公司 | 虚拟化网络功能网元编排调度方法、装置和*** |
CN114844794A (zh) * | 2022-03-25 | 2022-08-02 | 之江实验室 | 一种面向容器的资源监控方法、***及存储介质 |
CN112181649B (zh) * | 2020-09-22 | 2024-07-05 | 广州品唯软件有限公司 | 一种容器资源调整方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150309849A1 (en) * | 2014-04-29 | 2015-10-29 | Fixmo, Inc. | Method and system for managing and presenting multiple application containers as a single logical container |
CN105554102A (zh) * | 2015-12-14 | 2016-05-04 | 中电科华云信息技术有限公司 | 基于容器集群的弹性伸缩方法及其应用*** |
CN107426274A (zh) * | 2017-04-06 | 2017-12-01 | 云南小鹰科技有限公司 | 基于时序的业务应用及监控分析调度的方法和*** |
CN107948249A (zh) * | 2017-11-02 | 2018-04-20 | 华南理工大学 | 基于服务发现和容器技术的大数据平台弹性伸缩方法 |
-
2018
- 2018-06-06 CN CN201810573786.4A patent/CN108958882A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150309849A1 (en) * | 2014-04-29 | 2015-10-29 | Fixmo, Inc. | Method and system for managing and presenting multiple application containers as a single logical container |
CN105554102A (zh) * | 2015-12-14 | 2016-05-04 | 中电科华云信息技术有限公司 | 基于容器集群的弹性伸缩方法及其应用*** |
CN107426274A (zh) * | 2017-04-06 | 2017-12-01 | 云南小鹰科技有限公司 | 基于时序的业务应用及监控分析调度的方法和*** |
CN107948249A (zh) * | 2017-11-02 | 2018-04-20 | 华南理工大学 | 基于服务发现和容器技术的大数据平台弹性伸缩方法 |
Non-Patent Citations (1)
Title |
---|
蒋迪: "《私有云架构设计与实践》", 30 April 2017, 上海交通大学出版社 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800079B (zh) * | 2018-12-13 | 2023-03-31 | 深圳平安医疗健康科技服务有限公司 | 医保***中的节点调整方法及相关装置 |
CN109800079A (zh) * | 2018-12-13 | 2019-05-24 | 平安医疗健康管理股份有限公司 | 医保***中的节点调整方法及相关装置 |
CN109981396A (zh) * | 2019-01-22 | 2019-07-05 | 平安普惠企业管理有限公司 | docker服务容器集群的监控方法及装置、介质及电子设备 |
CN110096336A (zh) * | 2019-04-29 | 2019-08-06 | 江苏满运软件科技有限公司 | 数据监控方法、装置、设备和介质 |
CN110096336B (zh) * | 2019-04-29 | 2022-09-06 | 江苏满运软件科技有限公司 | 数据监控方法、装置、设备和介质 |
CN112559142B (zh) * | 2019-09-26 | 2023-12-19 | 贵州白山云科技股份有限公司 | 容器的控制方法、装置、边缘计算***、介质及设备 |
CN112559142A (zh) * | 2019-09-26 | 2021-03-26 | 贵州白山云科技股份有限公司 | 容器的控制方法、装置、边缘计算***、介质及设备 |
CN110620673A (zh) * | 2019-10-18 | 2019-12-27 | 网易(杭州)网络有限公司 | 一种聊天室进程的数据处理方法及*** |
CN110620673B (zh) * | 2019-10-18 | 2022-03-22 | 网易(杭州)网络有限公司 | 一种聊天室进程的数据处理方法及*** |
CN111130925A (zh) * | 2019-11-29 | 2020-05-08 | 广州文远知行科技有限公司 | 资源监控方法、装置、计算机设备和存储介质 |
CN113254143A (zh) * | 2020-02-11 | 2021-08-13 | 中国电信股份有限公司 | 虚拟化网络功能网元编排调度方法、装置和*** |
CN113254143B (zh) * | 2020-02-11 | 2023-11-21 | 中国电信股份有限公司 | 虚拟化网络功能网元编排调度方法、装置和*** |
CN111506358B (zh) * | 2020-03-23 | 2023-10-20 | 聚好看科技股份有限公司 | 更新容器配置的方法及装置 |
CN111506358A (zh) * | 2020-03-23 | 2020-08-07 | 聚好看科技股份有限公司 | 更新容器配置的方法及装置 |
CN111666156A (zh) * | 2020-06-03 | 2020-09-15 | 科东(广州)软件科技有限公司 | 一种容器编排方法、装置、设备和存储介质 |
CN112181649B (zh) * | 2020-09-22 | 2024-07-05 | 广州品唯软件有限公司 | 一种容器资源调整方法、装置、计算机设备及存储介质 |
CN112181649A (zh) * | 2020-09-22 | 2021-01-05 | 广州品唯软件有限公司 | 一种容器资源调整方法、装置、计算机设备及存储介质 |
CN112506477B (zh) * | 2020-11-09 | 2023-08-08 | 麒麟软件有限公司 | 一种在Kubernetes集群中使用RESTful API添加计算节点的方法 |
CN112506477A (zh) * | 2020-11-09 | 2021-03-16 | 麒麟软件有限公司 | 一种在Kubernetes集群中使用RESTful API添加计算节点的方法 |
CN112306640A (zh) * | 2020-11-12 | 2021-02-02 | 广州方硅信息技术有限公司 | 容器分配方法及其装置、设备、介质 |
CN112506618A (zh) * | 2020-12-18 | 2021-03-16 | 北银金融科技有限责任公司 | 一种在容器应用中动态匹配存储类的方法及*** |
CN113254224A (zh) * | 2021-07-15 | 2021-08-13 | 中电金信软件有限公司 | 计算资源扩容方法、装置、电子设备和可读存储介质 |
CN114844794A (zh) * | 2022-03-25 | 2022-08-02 | 之江实验室 | 一种面向容器的资源监控方法、***及存储介质 |
CN114844794B (zh) * | 2022-03-25 | 2024-06-04 | 之江实验室 | 一种面向容器的资源监控方法、***及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958882A (zh) | 一种容器调整方法、装置和*** | |
CN111371696B (zh) | 一种在Kubernetes中实现Pod网络流控的方法 | |
US9817703B1 (en) | Distributed lock management using conditional updates to a distributed key value data store | |
CN111475576B (zh) | 基于区块链的分布式数据库存储方法及*** | |
CN109117275B (zh) | 基于数据分片的对账方法、装置、计算机设备及存储介质 | |
CN107451147B (zh) | 一种kafka集群动态切换的方法和装置 | |
CN107395659A (zh) | 一种业务受理及共识的方法及装置 | |
CN107395665A (zh) | 一种区块链业务受理及业务共识方法及装置 | |
CN103607424B (zh) | 一种服务器连接方法及服务器*** | |
US20140074810A1 (en) | Managing a search index | |
CN110362381A (zh) | Hdfs集群高可用部署方法、***、设备及存储介质 | |
US20200329368A1 (en) | Systems and Methods for Distributing Internet-of-Things Messages | |
CN109840188A (zh) | 一种日志的获取方法及其终端 | |
WO2017118318A1 (zh) | 一种数据存储与业务处理的方法及装置 | |
CN111400041A (zh) | 服务器配置文件的管理方法、装置及计算机可读存储介质 | |
CN107203437B (zh) | 防止内存数据丢失的方法、装置和*** | |
CN109840051A (zh) | 一种存储***的数据存储方法及装置 | |
CN116980281A (zh) | 节点选取方法、装置、第一节点、存储介质及程序产品 | |
CN109948994A (zh) | 一种即时通信方法、装置、计算机***及可读存储介质 | |
CN115208900A (zh) | 基于区块链与博弈模型的多云架构云服务资源调度方法 | |
CN112258184B (zh) | 冻结区块链网络的方法、装置、电子设备及可读存储介质 | |
CN116074331A (zh) | 区块数据同步方法及相关产品 | |
CN108243225A (zh) | 一种分布式***、管理方法及访问方法 | |
CA3141696C (en) | Actor-based data processing | |
US20240179018A1 (en) | Node selection method and apparatus, first node, storage medium, and program product |
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: 20181207 |
|
RJ01 | Rejection of invention patent application after publication |