CN110275776A - 容器应用的缩容方法、装置、计算机设备及存储介质 - Google Patents
容器应用的缩容方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110275776A CN110275776A CN201910413906.9A CN201910413906A CN110275776A CN 110275776 A CN110275776 A CN 110275776A CN 201910413906 A CN201910413906 A CN 201910413906A CN 110275776 A CN110275776 A CN 110275776A
- Authority
- CN
- China
- Prior art keywords
- container
- capacity reducing
- application
- target
- load balancing
- 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 50
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 230000009467 reduction Effects 0.000 title claims abstract description 17
- 230000004048 modification Effects 0.000 claims abstract description 21
- 238000012986 modification Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 17
- 238000004064 recycling Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 238000011084 recovery Methods 0.000 description 5
- 230000036541 health Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/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/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种容器应用的缩容方法、装置、计算机设备及存储介质,其涉及云计算技术领域,可应用于PaaS平台中。所述方法包括:确定待缩容的容器应用以及容器应用待缩容的目标容器实例、目标容器实例的缩容方式;根据缩容方式缩容目标容器实例;根据所缩容的目标容器实例修改数据库中所述容器应用的信息;判断容器应用是否创建了负载均衡应用;若创建了负载均衡应用,根据所述负载均衡应用的类型修改负载均衡应用的配置文件,以在配置文件中删除所缩容的目标容器实例的信息。本申请实施例实现对容器应用的容器实例进行缩容,在保证负载均衡提供服务的同时降低成本,且具体的缩容过程自动进行,提高了缩容的效率。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种容器应用的缩容方法、装置、计算机设备及存储介质。
背景技术
在云平台中,如在PaaS(Platform-as-a-Service,平台即服务)平台中,当容器应用创建完成后,容器应用就会投入使用。只要容器应用的容器实例投入使用,就会产生费用。然而在容器应用提供服务的过程中,若用户流量减少,当前的容器应用已不需要较多的容器实例,那么过多的容器实例会造成成本浪费。
发明内容
本申请实施例提供一种容器应用的缩容方法、装置、计算机设备及存储介质,可缩容容器应用中的容器,提高缩容容器应用中的容器的速度和效率,减少成本的浪费。
第一方面,本申请实施例提供了一种容器应用的缩容方法,包括:
确定待缩容的容器应用以及所述容器应用待缩容的目标容器实例、目标容器实例的缩容方式;根据所述缩容方式缩容所述目标容器实例;根据所缩容的目标容器实例修改数据库中所述容器应用的信息;判断所述容器应用是否创建了负载均衡应用;若所述容器应用创建了负载均衡应用,根据所述负载均衡应用的类型修改所述负载均衡应用的配置文件,以在所述配置文件中删除所缩容的目标容器实例的信息。
第二方面,本发明实施例提供了一种容器应用的缩容装置,该容器应用的缩容装置包括用于执行上述第一方面所述的方法对应的单元。
第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序,所述处理器用于运行所述存储器中存储的计算机程序,以执行上述第一方面所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面所述的方法。
本申请实施例可实现对容器应用的容器实例按照缩容方式进行缩容,提高了容器应用的容器实例缩容的速度和效率,在保证容器应用能提供服务的同时降低成本。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的容器应用的缩容方法的流程示意图;
图2是本申请实施例提供的容器应用的缩容方法的子流程示意图;
图3是本申请实施例提供的容器应用的缩容方法的子流程示意图;
图4是本申请实施例提供的容器应用的缩容方法的子流程示意图;
图5是本申请实施例提供的容器应用的缩容装置的示意性框图;
图6是本申请实施例提供的缩容单元的示意性框图;
图7是本申请实施例提供的负载更新单元的示意性框图;
图8是本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要注意的是,以下提到的容器应用的容器和容器应用的容器实例的意义相同。
图1是本申请实施例提供的容器应用的缩容方法的流程示意图。如图1所示,该方法包括S101-S105。
S101,确定待缩容的容器应用以及所述容器应用待缩容的目标容器实例、目标容器实例的缩容方式。
可通过多种方式来确定待缩容的容器应用以及该容器应用待缩容的目标容器实例、目标容器实例的缩容方式。
在一实施例中,步骤S101,包括:若接收到缩容设置指令,获取所述缩容设置指令中的容器应用标识,并调用缩容设置接口,以接收通过所述缩容设置接口设置的容器实例以及容器实例的缩容方式;通过所述缩容设置指令中的容器应用标识获取所述容器应用的信息,并将所述容器应用确定为目标应用,将所设置的容器实例确定为目标容器实例,将所设置的容器实例的缩容方式确定为目标容器实例的缩容方式。
缩容设置指令可由多种方式触发,如由用户触摸或者点击相关按钮或者图像触发,如在容器应用的列表中,点击某一个容器应用所对应的缩容按钮,触发该容器应用的缩容设置指令;也可以接收用户的语音缩容信息来触发缩容设置指令等。在本实施例中,容器应用的缩容设置指令触发的方式不做限制。该缩容设置指令中包括容器应用的标识信息,容器应用的标识信息可以为容器应用的名称或者容器应用的编号等等可以确定具体是哪一个容器应用的信息。
缩容设置接口是由开发人员开发的,可以以一个设置界面的形式存在。通过缩容设置接口可以设置该容器应用待缩容的目标容器实例的信息、目标容器实例的缩容方式。其中,缩容方式包括并行方式和串行方式。并行方式意味着多个目标容器实例可以并行的缩容,串行方式意味着多个目标容器实例一个一个的进行缩容,一个目标容器实例缩容完毕紧接着下一个目标容器实例进行缩容。如在一实施例中,在缩容设置接口所对应的设置界面上显示容器应用的所有容器实例的信息、以及所有缩容方式的信息,以供用户从所显示的所有容器实例中输入/选择出待缩容的目标容器实例,从所有缩容方式中选择中目标容器实例的缩容方式;或者在缩容设置接口所对应的设置界面上默认显示待缩容的容器实例以及容器实例的缩容方式,将默认显示的所待缩容的容器实例以及容器实例的缩容方式作为目标容器实例以及目标容器实例的缩容方式。
该实施例中,目标容器实例以及目标容器实例的数量是由用户输入或者选择的,或者是默认的。
在一实施例中,步骤S101,包括:确定待缩容的容器应用;根据当前用户的总访问量以及所述容器应用的每个容器实例可以承担的用户访问量、所述容器应用总的容器实例数量来计算待缩容的容器实例数量;根据待缩容的容器实例数量确定待缩容的目标容器实例;确定待缩容的目标容器实例的缩容方式。
其中,确定待缩容的容器应用以及目标容器实例的缩容方式可以直接通过命令的方式实现,也可以在设置界面上接收用户所设置/选择/输入的容器应用。
根据当前用户的总访问量以及所述容器应用的每个容器实例可以承担的用户访问量、所述容器应用总的容器实例数量来计算待缩容的目标容器实例数量,具体地,计算出的待缩容的目标容器实例数量=该容器应用的总的容器实例数量-当前用户的总访问量/每个容器实例可以承担的用户访问量。在该实施例中,待缩容的目标容器实例数量根据用户访问量计算出来,即是自动计算出来的。
在一实施例中,计算出待缩容的目标容器实例数量后,检测是否接收到用户对所计算出的待缩容的目标容器实例数量的修改信息;若接收到用户对所计算出的待缩容的目标容器实例数量的修改信息,将修改后的目标容器实例数量确定为该容器应用的待缩容的目标容器实例数量;若未接收到用户对所计算出的待缩容的目标容器实例数量的修改信息,将计算出的待缩容的目标容器实例数量确定为该容器应用待缩容的目标容器实例数量。在一实施例中,将计算出的待缩容的目标容器实例数量设置为默认值,可接收用户设置的待缩容的目标容器实例数量,还可以直接使用默认值作为待缩容的目标容器实例数量。
根据待缩容的容器实例数量确定待缩容的目标容器实例,包括:根据待缩容的容器实例数量,按照所述容器应用的多个容器实例创建的顺序,从所述容器应用的多个容器实例确定相同数量的目标容器实例;或者根据待缩容的容器实例数量,按照所述容器应用的多个容器实例所在的宿主机上的资源使用情况来确定相同数量的目标容器实例,如宿主机的剩余使用资源越少,那么就缩容该宿主机上的容器实例。其中,从所述容器应用的多个容器实例确定相同数量的目标容器实例,如确定相同数量的目标容器实例的IP地址。在该实施例中,确定待缩容的目标容器实例是自动进行的。
在一实施例中,检测是否接收到用户对所确定的目标容器实例的修改信息,若接收到用户对所确定的目标容器实例的修改信息,将修改后的目标容器实例确定为该容器应用的待缩容的目标容器实例;若未接收到用户对所确定的目标容器实例的修改信息,将自动确定的目标容器实例数量确定为该容器应用需缩容的目标容器实例。
S102,根据所述缩容方式缩容所述目标容器实例。
若缩容方式为并行方式,则根据并行方式缩容所述目标容器实例;若缩容方式为串行方式,则根据串行方式缩容所述目标容器实例。
在一实施例中,如图2所示,步骤S102包括以下步骤S1021-1024。
S1021,获取所述当前容器实例的IP,并停用所述当前容器实例的IP。
可根据容器应用的标识信息、所设置的待缩容的容器应用的目标容器实例的信息在数据库中查询目标容器实例的信息以获取目标容器实例的IP,设置目标容器实例的IP的使用状态标识为停用状态,以停用所述目标容器实例的IP。
S1022,根据所述当前容器实例的信息确定所述当前容器实例的宿主机。
可根据容器应用的标识信息、所设置的待缩容的容器应用的目标容器实例的信息在数据库中查询目标容器实例的信息以获取目标容器实例所在的宿主机,或者根据容器应用的标识信息、所设置的待缩容的容器应用的目标容器实例的信息可获取所述目标容器实例的IP,根据目标容器实例的IP确定所述目标容器实例所在的宿主机。
S1023,销毁所述宿主机上的所述目标容器实例。
如通过容器编排工具下发销毁指令到目标容器实例所对应的宿主机,销毁指令如docker stop指令,在所对应的宿主机上将对应的目标容器实例进行销毁。销毁目标容器实例将会销毁目标容器实例所对应的环境信息、关闭文件输入输出流、关闭与数据库的连接、删除所记录的数据信息等以释放该目标容器实例所占用的所有资源,如包括监控资源、CPU资源、内存资源、IO资源等等。其中,容器编排工具可以是marathon编排工具,也可以是其他的容器编排工具。
需要注意的是,首先停用目标容器实例的IP再销毁目标容器实例,而不是先销毁目标容器实例再停用目标容器实例的IP,是为了以防目标容器实例的IP有效,而目标容器实例无效,用户访问请求分配到该目标容器实例,而实际上该目标容器实例已经无效了,那么会导致用户访问请求的失败。
S1024,回收所述目标容器实例的所有资源以及所述目标容器实例的IP。
目标容器实例的所有资源,包括监控资源、CPU资源、内存资源、IO资源等。将目标容器实例的所有资源进行回收,后续创建容器实例可直接使用回收的目标容器实例的资源。
其中,回收目标容器实例的IP,如图3所示,包括以下步骤S1024a-S1024c:
S1024a,判断目标容器实例的IP是否为预分配IP。
其中,预分配IP是在容器应用创建时,或者是创建后,预先为该容器应用需新增的容器实例分配的IP,该预分配IP在后来创建容器应用的容器实例时分配为了后来新创建的容器实例,通过预分配IP直接为后来新创建的容器实例分配IP,可以提高容器实例分配IP的速度,预分配IP有对应的预分配的标识信息,通过该IP的标识信息来确定该IP是否为预分配IP。
S1024b,若目标容器实例的IP为预分配IP,将目标容器实例的IP回收至预分配IP地址池。
S1024c,若目标容器实例的IP不为预分配IP,将目标容器实例的IP回收至普通IP地址池。
普通IP地址池为该容器应用所对应的应用环境和区域下预先分配的IP地址池,以供该多活容器应用所对应的应用环境和区域下所有其他的容器应用都可以使用的IP地址池。
需要注意的是,对每个容器实例的缩容都包括上述步骤S1021-S1024。若缩容方式为并行方式,则根据并行方式缩容每个容器实例,多个容器实例并行执行,提高了缩容的速度和效率;若缩容方式为串行方式,则根据串行方式缩容容器实例,多个容器实例一个一个的进行缩容。具体缩容自动化执行,进一步提高了缩容的速度和效率。另一方面,提供多种缩容方式供用户来确定以哪种缩容方式进行缩容,提高了用户的体验。
S103,根据所缩容的目标容器实例修改数据库中所述容器应用的信息。
其中,修改数据库中容器应用的信息包括:修改该容器应用的容器实例信息,如将数据库中该容器应用中所缩容的容器实例的IP、宿主机等信息删除等;修改该容器应用的容器实例的数量,具体地,根据所缩容的目标容器实例数量修改该容器应用的总的容器实例数量,修改后的容器实例数量为容器应用的原容器实例数量减去目标容器实例数量。
S104,判断所述容器应用是否创建了负载均衡应用。
在数据库中保存有该容器应用是否创建负载均衡应用的信息,查询数据库中的信息以确定该容器应用是否创建了负载均衡应用。若所述容器应用创建了负载均衡应用,则执行步骤S105;若所述容器应用未创建负载均衡应用,结束。
S105,若所述容器应用创建了负载均衡应用,根据所述负载均衡应用的类型修改所述负载均衡应用的配置文件,以在所述配置文件中删除所缩容的目标容器实例的信息。
在容器应用的负载均衡应用的配置文件中记录了容器应用的容器实例的信息。缩容容器应用后,若想所缩容的容器应用的容器实例不再提供服务,需要在容器应用的负载均衡应用的配置文件中将所缩容的容器实例删除,以使得负载均衡应用在分配用户请求时不会将用户请求分配到所缩容的容器应用的容器实例上,以避免无法响应用户请求。
负载均衡应用包括F5、LVS(liunx Virtual Server)负载均衡应用、Haproxy负载均衡应用、Nginx负载均衡应用等。其中,因为F5负载均衡应用是硬负载均衡应用,是在具体的F5设备上创建的,而LVS(liunx Virtual Server)负载均衡应用、Haproxy负载均衡应用、Nginx负载均衡应用等是软负载均衡应用,因此,负载均衡应用的类型包括F5和非F5,其中,非F5包括LVS负载均衡应用、Haproxy负载均衡应用、Nginx负载均衡应用等。
在一实施例中,如图4所示,步骤S105包括以下步骤S1051-S1056。
S1051,判断所述容器应用的负载均衡应用的类型是否为F5。
S1052,若所述容器应用的负载均衡应用的类型为F5,根据所述容器应用确定F5负载均衡应用所在的F5设备。
S1053,在所述F5设备上获取所述F5负载均衡应用的配置文件,并在所述配置文件中删除所缩容的目标容器实例的信息。
具体地,根据所缩容的目标容器实例的IP确定目标容器实例的IP所对应的poolmember的信息,将所对应的pool member的信息删除;根据所缩容的目标容器实例的数量修改F5负载均衡应用的pool信息中的pool member的数量,其中,修改后的pool member的数量=修改前的pool member的数量-所缩容的目标容器实例的数量。
S1054,若所述负载均衡应用的类型为非F5,根据所述容器应用确定对应的负载均衡应用的容器,并从对应的负载均衡应用的容器中获取配置文件,将所获取的配置文件下载到本地。
其中,若所述负载均衡应用的类型为非F5,根据所述容器应用确定所对应的负载均衡应用的容器,并从所述负载均衡应用的容器中获取所述负载均衡应用的配置文件;将所获取的配置文件下载到本地的一个预设目录。需要注意的是,将所获取的配置文件下载到本地,以对配置文件进行修改,而不是直接远程在所述负载均衡应用的容器上进行修改,是考虑到若在对配置文件进行修改的过程中,网络出现中断,那么改写的过程也会出现中断,即排除远程改写的过程中出现的意外情况对改写造成的影响,另一方面,在本地改写配置文件比在远程改写配置文件的速度要快。
S1055,在所述配置文件中删除所缩容的目标容器实例的信息。
如若负载均衡应用为LVS负载均衡应用,那么在LVS负载均衡应用的配置文件(该处所指的配置文件包括keepalived.conf)中删除所缩容的目标容器实例的信息,包括:根据目标容器实例的IP在LVS负载均衡应用的配置文件中定位目标容器实例的IP所对应的配置(配置代码);将目标容器实例的IP所对应的配置删除。其中,一个目标容器实例的IP所对应的配置中包括目标容器实例的IP、目标容器实例提供服务的端口、目标容器实例所对应的健康检查参数等。
如若负载均衡应用为Haproxy负载均衡应用,那么在Haproxy负载均衡应的配置文件(该处所指的配置文件包括Haproxy.conf)中删除所缩容的容器实例信息,包括:定位配置文件中的listen节点中的option forward节点;根据目标容器实例的IP在optionforward节点中定位目标容器实例的IP所对应的配置;将目标容器实例的IP所对应的配置删除。其中,一个目标容器实例包括容器实例的IP、容器实例提供服务的端口(即容器应用的端口)、健康检查参数等。一个目标容器实例的信息对应一个server段,多个容器实例的信息对应多个server段。
如若负载均衡应用为Nginx负载均衡应用,那么那么在LVS负载均衡应的配置文件(该处所指的配置文件包括Nginx.conf)中添加所创建的容器实例信息,包括:定位配置文件中的upstream节点;根据目标容器实例的IP在upstream节点中定位目标容器实例的IP所对应的配置;将目标容器实例的IP所对应的配置删除。其中,一个目标容器实例所对应的配置包括容器实例的IP、容器实例提供服务的端口(即容器应用的端口)、健康检查参数等。一个目标容器实例的信息对应一个server段,多个容器实例的信息对应多个server段。
S1056,将删除了目标容器实例的信息的配置文件推送至对应的负载均衡应用的容器中,并重启对应的负载均衡应用的容器的负载均衡服务,以使得配置文件的修改生效。
以上步骤S1051-S1056限定了如何修改容器应用的负载均衡应用的配置文件,步骤S1051-S1056中修改容器应用的负载均衡应用的配置文件的过程自动化执行,提高了修改配置文件的效率和效率,也进一步提高缩容的速度和效率。
上述方法实施例可实现对容器应用的容器实例进行缩容,在保证负载均衡提供服务的同时降低成本,且除了相应的设置(如确定待缩容的容器应用、待缩容的目标容器实例、缩容方式)外,具体的缩容过程是自动进行的,提高了缩容的效率,节约了时间成本和人工成本;另一方面,缩容过程自动进行,无需用户有较高的专业知识即可进行缩容,减少了人工成本。
图5是本申请实施例提供的容器应用的缩容装置的示意性框图。该装置包括用于执行上述容器应用的缩容方法所对应的单元。如图5所示,该容器应用的缩容装置100包括信息确定单元101、缩容单元102、信息更新单元103、负载判断单元104、负载更新单元105。
信息确定单元101,用于确定待缩容的容器应用以及所述容器应用待缩容的目标容器实例、目标容器实例的缩容方式。
在一实施例中,信息确定单元101包括:缩容设置单元、缩容信息确定单元。其中,缩容设置单元,用于若接收到缩容设置指令,获取所述缩容设置指令中的容器应用标识,并调用缩容设置接口,以接收通过所述缩容设置接口设置的容器实例以及容器实例的缩容方式。缩容信息确定单元,用于通过所述缩容设置指令中的容器应用标识获取所述容器应用的信息,并将所述容器应用确定为目标应用,将所设置的容器实例确定为目标容器实例,将所设置的容器实例的缩容方式确定为目标容器实例的缩容方式。
在一实施例中,信息确定单元101包括:应用确定单元、数量确定单元、实例确定单元、方式确定单元。其中,应用确定单元,用于确定待缩容的容器应用。数量确定单元,用于根据当前用户的总访问量以及所述容器应用的每个容器实例可以承担的用户访问量、所述容器应用总的容器实例数量来计算待缩容的容器实例数量。实例确定单元,用于根据待缩容的容器实例数量确定待缩容的目标容器实例。方式确定单元,用于确定待缩容的目标容器实例的缩容方式。在一实施例中,实例确定单元,具体用于根据待缩容的容器实例数量,按照所述容器应用的多个容器实例创建的顺序,从所述容器应用的多个容器实例确定相同数量的目标容器实例;或者根据待缩容的容器实例数量,按照所述容器应用的多个容器实例所在的宿主机上的资源使用情况来确定相同数量的目标容器实例。
缩容单元102,用于根据所述缩容方式缩容所述目标容器实例。
在一实施例中,如图6所示,缩容单元102包括:IP停用单元1021、宿主机确定单元1022、销毁单元1023、回收单元1024。其中,IP停用单元1021,用于获取所述当前容器实例的IP,并停用所述当前容器实例的IP。宿主机确定单元1022,用于根据所述当前容器实例的信息确定所述当前容器实例的宿主机。销毁单元1023,用于销毁所述宿主机上的所述当前容器实例。回收单元1024,用于回收所述当前容器实例的所有资源以及所述当前容器实例的IP。
在一实施例中,回收单元1024包括IP回收单元。其中,IP回收单元,包括:预分配判断单元、IP池确定单元。其中,预分配判断单元,用于判断所述当前容器实例的IP是否为预分配IP,其中,所述预分配IP包括预分配IP的标识信息。IP池确定单元,用于若所述当前容器实例的IP为预分配IP,将所述当前容器实例的IP回收至预分配IP地址池。IP池确定单元,还用于若所述当前容器实例的IP为非预分配IP,将所述当前容器实例的IP回收至普通IP地址池。
信息更新单元103,用于根据所缩容的目标容器实例修改数据库中所述容器应用的信息。
负载判断单元104,用于判断所述容器应用是否创建了负载均衡应用。
负载更新单元105,用于若所述容器应用创建了负载均衡应用,根据所述负载均衡应用的类型修改所述负载均衡应用的配置文件,以在所述配置文件中删除所缩容的目标容器实例的信息。
在一实施例中,如图7所示,负载更新单元105包括类型判断单元1051、设备确定单元1052、配置删除单元1053、配置下载单元1054、推送重启单元1055。其中,类型判断单元1051,用于判断所述负载均衡应用的类型是否为F5。设备确定单元1052,用于若所述负载均衡应用的类型为F5,根据所述容器应用的信息确定F5负载均衡应用所在的F5设备。配置删除单元1053,用于在所述F5设备上获取所述F5负载均衡应用的配置文件,并在所述配置文件中删除所缩容的目标容器实例的信息。配置下载单元1054,用于若所述负载均衡应用的类型为非F5,根据所述容器应用的信息确定对应的负载均衡应用的容器,并从对应的负载均衡应用的容器中获取配置文件,将所获取的配置文件下载到本地。配置删除单元1053,还用于在所述配置文件中删除所缩容的目标容器实例的信息。推送重启单元1055,用于将删除了目标容器实例的信息的配置文件推送至对应的负载均衡应用的容器中,并重启对应的负载均衡应用的容器的负载均衡服务,以使得配置文件的修改生效。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图8所示的计算机设备上运行。
图8为本申请实施例提供的一种计算机设备的示意性框图。该设备为终端等设备,如PaaS平台中的服务器等。该设备100包括通过***总线101连接的处理器102、存储器和网络接口103,其中,存储器可以包括非易失性存储介质104和内存储器105。
该非易失性存储介质104可存储操作***1041和计算机程序1042。该非易失性存储介质中所存储的计算机程序1042被处理器102执行时,可实现上述服务器中所述的容器应用的缩容方法。该处理器102用于提供计算和控制能力,支撑整个设备100的运行。该内存储器105为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器102执行时,可使得处理器102执行上述服务器中所述的容器应用的缩容方法。该网络接口103用于进行网络通信。本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器102用于运行存储在存储器中的计算机程序,以实现上述容器应用的缩容方法的任一实施例。
应当理解,在本申请实施例中,所称处理器102可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(应用程序lication Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质可以为计算机可读存储介质。该计算机程序被该计算机***中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本申请还提供了一种存储介质。该存储介质可以为计算机可读存储介质,该计算机可读存储介质包括非易失性计算机可读存储介质。该存储介质存储有计算机程序,该计算机程序当被处理器执行时实现上述容器应用的缩容方法的任一实施例。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种容器应用的缩容方法,其特征在于,所述方法包括:
确定待缩容的容器应用以及所述容器应用待缩容的目标容器实例、目标容器实例的缩容方式;
根据所述缩容方式缩容所述目标容器实例;
根据所缩容的目标容器实例修改数据库中所述容器应用的信息;
判断所述容器应用是否创建了负载均衡应用;
若所述容器应用创建了负载均衡应用,根据所述负载均衡应用的类型修改所述负载均衡应用的配置文件,以在所述配置文件中删除所缩容的目标容器实例的信息。
2.根据权利要求1所述的方法,其特征在于,所述缩容方式包括串行方式和并行方式,所述根据所述缩容方式缩容所述目标容器实例,包括:
根据串行方式或者并行方式执行以下步骤:
获取所述当前容器实例的IP,并停用所述当前容器实例的IP;
根据所述当前容器实例的信息确定所述当前容器实例的宿主机;
销毁所述宿主机上的所述当前容器实例;
回收所述当前容器实例的所有资源以及所述当前容器实例的IP。
3.根据权利要求2所述的方法,其特征在于,回收所述当前容器实例的IP,包括:
判断所述当前容器实例的IP是否为预分配IP,其中,所述预分配IP包括预分配IP的标识信息;
若所述当前容器实例的IP为预分配IP,将所述当前容器实例的IP回收至预分配IP地址池;
若所述当前容器实例的IP为非预分配IP,将所述当前容器实例的IP回收至普通IP地址池。
4.根据权利要求1所述的方法,其特征在于,所述根据所述负载均衡应用的类型修改所述负载均衡应用的配置文件,以在所述配置文件中删除所缩容的目标容器实例的信息,包括:
判断所述负载均衡应用的类型是否为F5;
若所述负载均衡应用的类型为F5,根据所述容器应用的信息确定F5负载均衡应用所在的F5设备;
在所述F5设备上获取所述F5负载均衡应用的配置文件,并在所述配置文件中删除所缩容的目标容器实例的信息;
若所述负载均衡应用的类型为非F5,根据所述容器应用的信息确定对应的负载均衡应用的容器,并从对应的负载均衡应用的容器中获取配置文件,将所获取的配置文件下载到本地;
在所述配置文件中删除所缩容的目标容器实例的信息;
将删除了目标容器实例的信息的配置文件推送至对应的负载均衡应用的容器中,并重启对应的负载均衡应用的容器的负载均衡服务,以使得配置文件的修改生效。
5.根据权利要求1所述的方法,其特征在于,所述确定待缩容的容器应用以及所述容器应用待缩容的目标容器实例、目标容器实例的缩容方式,包括:
若接收到缩容设置指令,获取所述缩容设置指令中的容器应用标识,并调用缩容设置接口,以接收通过所述缩容设置接口设置的容器实例以及容器实例的缩容方式;
通过所述缩容设置指令中的容器应用标识获取所述容器应用的信息,并将所述容器应用确定为目标应用,将所设置的容器实例确定为目标容器实例,将所设置的容器实例的缩容方式确定为目标容器实例的缩容方式。
6.根据权利要求1所述的方法,其特征在于,所述确定待缩容的容器应用以及所述容器应用待缩容的目标容器实例、目标容器实例的缩容方式,包括:
确定待缩容的容器应用;
根据当前用户的总访问量以及所述容器应用的每个容器实例可以承担的用户访问量、所述容器应用总的容器实例数量来计算待缩容的容器实例数量;
根据待缩容的容器实例数量确定待缩容的目标容器实例;
确定待缩容的目标容器实例的缩容方式。
7.根据权利要求6所述的方法,其特征在于,所述根据待缩容的容器实例数量确定待缩容的目标容器实例,包括:
根据待缩容的容器实例数量,按照所述容器应用的多个容器实例创建的顺序,从所述容器应用的多个容器实例确定相同数量的目标容器实例;或者
根据待缩容的容器实例数量,按照所述容器应用的多个容器实例所在的宿主机上的资源使用情况来确定相同数量的目标容器实例。
8.一种容器应用的缩容装置,其特征在于,所述容器应用的缩容装置包括:
信息确定单元,用于确定待缩容的容器应用以及所述容器应用待缩容的目标容器实例、目标容器实例的缩容方式;
缩容单元,用于根据所述缩容方式缩容所述目标容器实例;
信息更新单元,用于根据所缩容的目标容器实例修改数据库中所述容器应用的信息;
负载判断单元,用于判断所述容器应用是否创建了负载均衡应用;
负载更新单元,用于若所述容器应用创建了负载均衡应用,根据所述负载均衡应用的类型修改所述负载均衡应用的配置文件,以在所述配置文件中删除所缩容的目标容器实例的信息。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910413906.9A CN110275776B (zh) | 2019-05-17 | 容器应用的缩容方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910413906.9A CN110275776B (zh) | 2019-05-17 | 容器应用的缩容方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110275776A true CN110275776A (zh) | 2019-09-24 |
CN110275776B CN110275776B (zh) | 2024-05-31 |
Family
ID=
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111491040A (zh) * | 2020-04-09 | 2020-08-04 | 北京城市网邻信息技术有限公司 | 一种ip分配方法以及ip分配装置 |
CN113918093A (zh) * | 2021-09-26 | 2022-01-11 | 福建天泉教育科技有限公司 | 一种缩容的优化方法及终端 |
CN116094804A (zh) * | 2023-01-10 | 2023-05-09 | 广东红餐科技有限公司 | 基于Lvs服务器集群避免用户重复登录的方法 |
CN116132366A (zh) * | 2022-07-01 | 2023-05-16 | 马上消费金融股份有限公司 | 流量管理方法、装置、电子设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9122712B1 (en) * | 2013-06-28 | 2015-09-01 | Emc Corporation | Compressing container files |
CN105979009A (zh) * | 2016-07-06 | 2016-09-28 | 乾云众创(北京)信息科技研究院有限公司 | 一种针对云应用容器的增加负载自动均衡方法 |
WO2016183832A1 (zh) * | 2015-05-20 | 2016-11-24 | 华为技术有限公司 | 一种网络业务实例化的方法及设备 |
CN106992887A (zh) * | 2017-04-05 | 2017-07-28 | 国家电网公司 | 基于容器的应用实例弹性伸缩的实现方法、装置及*** |
CN107766157A (zh) * | 2017-11-02 | 2018-03-06 | 山东浪潮云服务信息科技有限公司 | 基于国产cpu和os的分布式容器集群框架实现方法 |
WO2018072708A1 (zh) * | 2016-10-21 | 2018-04-26 | 中兴通讯股份有限公司 | 一种云平台业务的缩容方法、装置及云平台 |
CN108234215A (zh) * | 2018-01-12 | 2018-06-29 | 平安科技(深圳)有限公司 | 一种网关的创建方法、装置、计算机设备及存储介质 |
CN108616398A (zh) * | 2018-05-08 | 2018-10-02 | 深圳大学 | 一种基于dns负载均衡技术的容器动态缩容方法 |
CN109002263A (zh) * | 2018-07-20 | 2018-12-14 | 腾讯科技(深圳)有限公司 | 存储容量的调整方法及装置 |
CN109343963A (zh) * | 2018-10-30 | 2019-02-15 | 杭州数梦工场科技有限公司 | 一种容器集群的应用访问方法、装置及相关设备 |
CN109582441A (zh) * | 2018-11-30 | 2019-04-05 | 北京百度网讯科技有限公司 | 用于提供容器服务的***、方法和装置 |
CN109669758A (zh) * | 2018-09-11 | 2019-04-23 | 深圳平安财富宝投资咨询有限公司 | 服务器资源的调配方法、装置、设备及存储介质 |
CN109756366A (zh) * | 2018-12-24 | 2019-05-14 | 上海欣方智能***有限公司 | 基于caas的智能网scp云服务实现*** |
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9122712B1 (en) * | 2013-06-28 | 2015-09-01 | Emc Corporation | Compressing container files |
WO2016183832A1 (zh) * | 2015-05-20 | 2016-11-24 | 华为技术有限公司 | 一种网络业务实例化的方法及设备 |
CN105979009A (zh) * | 2016-07-06 | 2016-09-28 | 乾云众创(北京)信息科技研究院有限公司 | 一种针对云应用容器的增加负载自动均衡方法 |
WO2018072708A1 (zh) * | 2016-10-21 | 2018-04-26 | 中兴通讯股份有限公司 | 一种云平台业务的缩容方法、装置及云平台 |
CN106992887A (zh) * | 2017-04-05 | 2017-07-28 | 国家电网公司 | 基于容器的应用实例弹性伸缩的实现方法、装置及*** |
CN107766157A (zh) * | 2017-11-02 | 2018-03-06 | 山东浪潮云服务信息科技有限公司 | 基于国产cpu和os的分布式容器集群框架实现方法 |
CN108234215A (zh) * | 2018-01-12 | 2018-06-29 | 平安科技(深圳)有限公司 | 一种网关的创建方法、装置、计算机设备及存储介质 |
CN108616398A (zh) * | 2018-05-08 | 2018-10-02 | 深圳大学 | 一种基于dns负载均衡技术的容器动态缩容方法 |
CN109002263A (zh) * | 2018-07-20 | 2018-12-14 | 腾讯科技(深圳)有限公司 | 存储容量的调整方法及装置 |
CN109669758A (zh) * | 2018-09-11 | 2019-04-23 | 深圳平安财富宝投资咨询有限公司 | 服务器资源的调配方法、装置、设备及存储介质 |
CN109343963A (zh) * | 2018-10-30 | 2019-02-15 | 杭州数梦工场科技有限公司 | 一种容器集群的应用访问方法、装置及相关设备 |
CN109582441A (zh) * | 2018-11-30 | 2019-04-05 | 北京百度网讯科技有限公司 | 用于提供容器服务的***、方法和装置 |
CN109756366A (zh) * | 2018-12-24 | 2019-05-14 | 上海欣方智能***有限公司 | 基于caas的智能网scp云服务实现*** |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111491040A (zh) * | 2020-04-09 | 2020-08-04 | 北京城市网邻信息技术有限公司 | 一种ip分配方法以及ip分配装置 |
CN113918093A (zh) * | 2021-09-26 | 2022-01-11 | 福建天泉教育科技有限公司 | 一种缩容的优化方法及终端 |
CN113918093B (zh) * | 2021-09-26 | 2023-11-03 | 福建天泉教育科技有限公司 | 一种缩容的优化方法及终端 |
CN116132366A (zh) * | 2022-07-01 | 2023-05-16 | 马上消费金融股份有限公司 | 流量管理方法、装置、电子设备及存储介质 |
CN116094804A (zh) * | 2023-01-10 | 2023-05-09 | 广东红餐科技有限公司 | 基于Lvs服务器集群避免用户重复登录的方法 |
CN116094804B (zh) * | 2023-01-10 | 2023-09-08 | 广东红餐科技有限公司 | 基于Lvs服务器集群避免用户重复登录的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110289982B (zh) | 容器应用的扩容方法、装置、计算机设备及存储介质 | |
CN108572795B (zh) | 基于搭建存储虚拟化的扩容方法、装置、设备和存储介质 | |
CN107247619B (zh) | 虚拟机热迁移方法、装置、***、存储介质及设备 | |
CN108268271A (zh) | 微服务的升级方法与升级装置 | |
CN110225094A (zh) | 负载均衡应用虚拟ip切换方法、装置、计算机设备及存储介质 | |
CN110007978A (zh) | 一种预加载页面的方法、装置及设备 | |
CN110275775A (zh) | 容器应用的资源配置方法、***及存储介质 | |
CN109857612A (zh) | 一种数据写入操作的监控方法及其终端 | |
CN110262872B (zh) | 负载均衡应用管理方法、装置、计算机设备及存储介质 | |
CN105867962A (zh) | ***升级的方法和装置 | |
CN109033466A (zh) | 页面分享方法、计算设备及计算机存储介质 | |
CN110262873A (zh) | 容器应用的配置修改方法、装置、计算机设备及存储介质 | |
CN110209420A (zh) | 一种更新引导加载程序的方法及装置 | |
CN108153594A (zh) | 一种人工智能云平台的资源碎片整理方法及电子设备 | |
US8533303B2 (en) | Network management system node and method for use in a network management system node for re-configuring a set of data network nodes in a data network | |
US10783073B2 (en) | Chronologically ordered out-of-place update key-value storage system | |
CN114443332A (zh) | 一种存储池的检测方法、装置、电子设备及存储介质 | |
CN105094811A (zh) | 一种事件处理的方法和装置 | |
CN110275717B (zh) | 私有镜像克隆方法、装置、计算机设备及存储介质 | |
CN111245645A (zh) | SAN交换机的zone自动配置方法、***、设备和介质 | |
US20220141088A1 (en) | Batch Manager For Complex Workflows | |
CN110417856B (zh) | 多活负载均衡应用的扩容方法、装置、设备及存储介质 | |
CN110275776A (zh) | 容器应用的缩容方法、装置、计算机设备及存储介质 | |
CN115061813A (zh) | 集群资源的管理方法、装置、设备及介质 | |
CN110290172B (zh) | 容器应用克隆方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |