CN110427194A - 容器应用删除方法、装置、计算机设备及存储介质 - Google Patents
容器应用删除方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110427194A CN110427194A CN201910527325.8A CN201910527325A CN110427194A CN 110427194 A CN110427194 A CN 110427194A CN 201910527325 A CN201910527325 A CN 201910527325A CN 110427194 A CN110427194 A CN 110427194A
- Authority
- CN
- China
- Prior art keywords
- container
- application
- load balancing
- lvs
- nginx
- 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 58
- 238000003860 storage Methods 0.000 title claims abstract description 24
- 238000012217 deletion Methods 0.000 claims abstract description 27
- 230000037430 deletion Effects 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004321 preservation Methods 0.000 claims description 13
- 238000005303 weighing Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 230000006378 damage Effects 0.000 description 10
- 238000005538 encapsulation Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004064 recycling Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000000151 deposition Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
Abstract
本申请实施例提供一种容器应用删除方法、装置、计算机设备及存储介质,其涉及云计算技术领域,可应用于PaaS平台中。所述方法包括:若接收到容器应用的删除请求,获取删除请求中的容器应用的标识信息;根据容器应用的标识信息获取容器应用的信息;根据容器应用的信息删除容器应用;判断容器应用是否创建了负载均衡应用;若容器应用创建了负载均衡应用,根据负载均衡应用的类型删除负载均衡应用。本申请实施例能删除该容器应用以及该容器应用的负载均衡应用,删除的过程自动完成,提高了删除应用的速度和效率,节约了时间成本和人工成本。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种容器应用删除方法、装置、计算机设备及存储介质。
背景技术
市场上的PaaS平台(Platform-as-a-Service,平台即服务)中对应有多种应用,如多种负载均衡应用、负载均衡应用所对应的容器应用等。需要注意的是,该处的容器应用指的是负载均衡应用的后端应用,可以理解地,负载均衡应用为该容器应用提供负载均衡服务。若该容器应用已经确定不再使用,那么该容器应用的容器实例、该负载均衡应用的容器实例还是会占用资源,同时也需要成本付出,如此造成资源浪费、成本增加。
发明内容
本申请实施例提供一种容器应用删除方法、装置、计算机设备及存储介质,可提高应用删除的速度和效率。
第一方面,本申请实施例提供了一种容器应用删除方法,包括:
若接收到容器应用的删除请求,获取所述删除请求中的容器应用的标识信息;根据所述容器应用的标识信息获取所述容器应用的信息;根据所述容器应用的信息删除所述容器应用;判断所述容器应用是否创建了负载均衡应用;若所述容器应用创建了负载均衡应用,根据负载均衡应用的类型删除所述负载均衡应用。
第二方面,本发明实施例提供了一种容器应用删除装置,该容器应用删除装置包括用于执行上述第一方面所述的方法对应的单元。
第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序,所述处理器用于运行所述存储器中存储的计算机程序,以执行上述第一方面所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面所述的方法。
本申请实施例当容器应用(后端应用)不再使用时,删除该容器应用以及该容器应用的负载均衡应用,如此以避免需要为容器应用以及负载均衡应用所对应的容器实例付费而造成的成本浪费;删除的过程自动完成,提高了删除应用的速度和效率,节约了时间成本和人工成本。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的容器应用删除方法的流程示意图;
图2是本申请实施例提供的容器应用删除方法的子流程示意图;
图3是本申请实施例提供的容器应用删除方法的子流程示意图;
图4是图3实施例提供的容器应用删除方法的子流程示意图;
图5是图3实施例提供的容器应用删除方法的另一子流程示意图;
图6是本申请实施例提供的容器应用删除装置的示意性框图;
图7是本申请实施例提供的应用删除单元的示意性框图;
图8是本申请实施例提供的负载删除单元的示意性框图;
图9是本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例提供的容器应用删除方法的流程示意图。如图1所示,该方法包括S101-S105。
S101,若接收到容器应用的删除请求,获取所述删除请求中的容器应用的标识信息。
容器应用的删除请求可由多种方式触发,如由用户触摸或者点击相关按钮或者图像触发容器应用的删除请求,如在容器应用的列表中,点击某一个容器应用所对应的删除按钮或者图像等触发该容器应用的删除请求;也可以接收用户的语音删除信息来触发,如若接收到用户的删除某个容器应用等语音以触发相应的容器应用的删除请求。在该删除请求中包括有容器应用的信息,如容器应用的标识信息。其中,容器应用的标识信息可以为容器应用的名称或者容器应用的编号等等可以确定具体是哪一个容器应用的信息。
其中,容器应用可以是任一个提供服务的应用,在本实施例中,容器应用即理解为负载均衡应用的后端应用,是真正提供服务以供用户访问的应用,负载均衡应用为后端应用提供负载均衡服务。
S102,根据所述容器应用的标识信息获取所述容器应用的信息。
根据容器应用的标识信息可以确定是哪一个容器应用。在数据库中保存有容器应用的所有信息,如此,可根据容器应用的标识信息从数据库中获取该容器应用的所有信息。如容器应用的容器实例相关信息、容器应用所对应的负载均衡应用的相关信息等。
S103,根据所述容器应用的信息删除所述容器应用。
从数据库中获取容器应用的信息,如容器应用的容器实例所在的宿主机、容器实例的IP等,再根据容器应用的信息删除容器应用。
在一实施例中,如图2所示,步骤S103包括S1031-S1035。
S1031,根据所述容器应用的信息确定所述容器应用的容器实例所在的宿主机和容器实例的IP。
容器应用的信息包括容器应用的容器实例的信息,如容器应用的容器实例所在的宿主机、容器实例的IP等信息。从容器应用的信息中获取容器应用的容器实例所在的宿主机和容器实例的IP等信息。
S1032,控制所述宿主机上的所述容器应用的容器实例停止运行。
在销毁宿主机上的容器应用的容器实例之前,先控制容器应用的容器实例停止运行。可通过多种方式来控制容器应用的容器实例停止运行,如可通过执行指令的方式来控制宿主机上的容器应用的容器实例停止运行,如docker stop指令等。如可通过容器编排工具来控制宿主机上的容器应用的容器实例停止运行,具体地,将要停止的容器应用的容器实例封装成对象;将封装后的对象上传至容器编排工具,以调用容器编排工具的停止接口,以通过容器编排工具的停止接口将对象中的容器实例进行停止,如此来实现容器应用的容器实例的停止。调用容器编排工具提供的该停止接口时,会调用容器编排工具预先封装好的停止函数,通过该停止函数来将对象中的容器实例进行停止。其中,容器编排工具可以为Marathon工具,还可以为其他可以实现相同功能的工具。
S1033,解除所述宿主机上所述容器应用的容器实例与所述容器实例的IP之间的绑定关系。
数据库中保存有容器应用的容器实例的IP等信息。容器应用的容器实例只有设置了IP后,才可以通过IP来访问容器实例,如此,容器应用的容器实例和容器实例的IP之间存在绑定关系。解除宿主机上的该容器应用的容器实例与容器实例的IP的绑定关系,可通过如下方式实现:通过自动化运维工具连接宿主机上的该容器应用的容器实例,并下发解除指令以解除该容器应用的容器实例与容器实例的IP的绑定关系。具体地,通过自动化运维工具连接该容器应用的容器实例,并下发删除网卡的指令将容器应用的容器实例的网卡删除,以解除该容器应用的容器实例与容器实例的IP的绑定关系。其中,自动化运维工具可以为ansible工具,还可以为其他的可以实现相同功能的工具。解除该容器应用的容器实例与该容器实例IP的绑定关系之后,该容器实例的IP状态也会发生改变,如从使用状态修改为停用状态等。在其他实施例中,还可以通过其他方式来解决宿主机上的该容器应用的容器实例与容器实例的IP的绑定关系。
S1034,销毁所述宿主机上所述容器应用的容器实例。
销毁所述宿主机上的容器应用的容器实例,如可通过容器编排工具下发销毁指令到该容器应用的容器实例所在的宿主机,以在宿主机上将该容器应用的容器实例销毁。具体地,将要销毁的容器应用的容器实例封装成对象;将封装后的对象发送至容器编排工具,以通过调用容器编排工具中的销毁接口,以调用对应的销毁函数,以在宿主机上将该容器应用的容器实例销毁。需要注意的是,除了销毁宿主机上容器应用的容器实例,还会销毁容器应用的容器实例共用的一些文件,如容器应用的配置文件等。
S1035,回收所述容器应用的容器实例在所述宿主机上占用的资源以及所述容器实例的IP。
回收该LVS容器在宿主机上所占用的所有资源,如包括CPU资源、内存资源、监控资源、容器实例所对应的环境信息、文件输入输出流(关闭)、与数据库的连接(关闭)等。具体地,可以理解为,将容器实例在对应宿主机上的进程进行杀死操作(kill操作)。一旦kill了该进程,则表示该容器实例在宿主机上已经不存在,也不会占用宿主机上的任何资源。可以理解地,一个LVS容器对应一个进程。
回收容器应用的容器实例的IP,包括:将容器应用的容器实例的IP回收到预先设置的空闲IP地址池。
该实施例自动实现删除容器应用的容器实例,无需用户参与删除容器应用的过程,相对于现有的用户一个一个登陆容器应用的容器实例,并人工进行删除,该实施例加快了删除容器应用的速度和效率。另外,也避免了人工进行删除时出现容器实例删除遗漏的情况,且同时无需用户需要较高的专业知识,即可进行删除,节省了时间成本和人工成本。
S104,判断所述容器应用是否创建了负载均衡应用。
数据库中的容器应用的信息中包括了该容器应用是否创建了负载均衡应用的信息,以及创建的负载均衡应用的相关信息。通过获取容器应用的信息中的是否创建了负载均衡应用的信息即可确定该容器应用是否创建了负载均衡应用。若该容器应用创建了负载均衡应用,则执行步骤S105;若该容器应用未创建负载均衡应用,则流程结束。
S105,根据负载均衡应用的类型删除所述负载均衡应用。
数据库中的容器应用的负载均衡应用的相关信息中保存有负载均衡应用的所有信息,如负载均衡应用的类型等。不同负载均衡应用的类型删除相应的负载均衡应用有所不同。
在一实施例中,若所述负载均衡应用的类型为多活负载均衡应用,该多活负载均衡应用包括LVS(Linux Virtual Server,Linux虚拟服务器)负载均衡应用和Nginx(enginex)负载均衡应用。如图3所示,所述步骤S105包括以下步骤S1051-S1054。
S1051,根据所述容器应用的信息确定多活负载均衡应用的信息。
在本实施例中,该多活负载均衡应用包括LVS负载均衡应用和Nginx负载均衡应用,Nginx负载均衡应用可以看做是LVS负载均衡应用的后端应用,以用来辅助LVS负载均衡应用。可以理解地,若LVS负载均衡应用单独存在时,该LVS负载均衡应用会为某一个后端应用提供负载均衡服务。在本实施例中,Nginx负载均衡应用可以看做是LVS负载均衡应用单独存在时的后端应用,而多活负载均衡应用的后端应用可以看做是Nginx负载均衡应用单独存在时的后端应用。需要注意的是,“可以看做”这种表述只是为了方便理解多活负载均衡应用中的LVS负载均衡应用和Nginx负载均衡应用之间的关系。其中,该多活负载均衡应用中的LVS负载均衡应用有多个LVS容器,该多活负载均衡应用中的Nginx负载均衡应用有多个Nginx容器。该多活负载均衡应用可应用于特定的一种网络架构,该网络架构中的路由协议需要使用OSPF协议,以使得用户请求通过OSPF协议所对应的路由器的分发策略分发到不同的LVS容器上,LVS容器接收到用户请求后,按照LVS负载均衡算法将用户请求发送到Nginx容器上,Nginx容器接收到用户请求后,按照Nginx负载均衡算法将用户请求发送到多活负载均衡应用的后端应用,由多活负载均衡应用的后端应用来响应用户请求。由于该多活负载均衡应用应用于该特殊的网络架构中,因此,无需为该LVS负载均衡应用配置路由信息。同时,LVS负载均衡应用和Nginx负载均衡应用在同一个网络中,而Nginx负载均衡应用和多活负载均衡应用的后端应用可以处于不同的网络中,如此,可满足更多场景的需求,适用性广,适用性更强。
从数据库中容器应用的信息中获取多活负载均衡应用的信息,具体地,获取多活负载均衡应用中的LVS负载均衡应用的相关信息和Nginx负载均衡应用的相关信息。
S1052,从所述多活负载均衡应用的信息中获取所述LVS负载均衡应用的LVS容器所在的宿主机、LVS容器的IP以及保存LVS负载均衡应用的共用文件的位置,以及获取所述Nginx负载均衡应用的Nginx容器所在的宿主机、Nginx容器的IP以及保存Nginx负载均衡应用的共用文件的位置。
获取的多活负载均衡应用的LVS负载均衡应用的信息,包括LVS容器所在的宿主机、LVS容器的IP、保存LVS负载均衡应用的共用文件的位置等。其中,共用文件包括LVS负载均衡应用的配置文件。需要注意的是,该处的LVS负载均衡应用的配置文件指的是keepalived.conf文件。该配置文件保存在某一个宿主机的数据卷上,当LVS容器启动时会从数据卷上拷贝该配置文件到LVS容器中。如此,保存LVS负载均衡应用的共用文件的位置指的是保存该共用文件的宿主机上的数据卷。
获取的多活负载均衡应用的Nginx负载均衡应用的信息,包括Nginx容器所在的宿主机、Nginx容器的IP、保存Nginx负载均衡应用的共用文件的位置等。需要注意的是,该处的Nginx负载均衡应用的共用文件指的是nginx.conf文件。保存Nginx负载均衡应用的共用文件的位置指的是保存该共用文件的宿主机上的数据卷。需要注意的是,保存LVS负载均衡应用的共用文件和保存Nginx负载均衡应用的共用文件的宿主机可以是同一个宿主机,也可以不是同一个宿主机。
S1053,根据所述LVS负载均衡应用的LVS容器所在的宿主机、LVS容器的IP以及保存LVS负载均衡应用的共用文件的位置删除所述LVS负载均衡应用。
删除所述LVS负载均衡应用意味着删除所述LVS负载均衡应用的所有信息。
在一实施例中,如图4所示,步骤S1053包括以下步骤S1053a-S1053d。
S1053a,控制所述宿主机上的LVS容器停止运行。
在销毁宿主机上的LVS负载均衡应用的LVS容器之前,先控制LVS负载均衡应用的LVS容器停止运行。可通过多种方式来控制LVS负载均衡应用的LVS容器停止运行,如可通过执行指令的方式来控制宿主机上的LVS负载均衡应用的LVS容器停止运行,如docker stop指令等。如可通过容器编排工具来控制宿主机上的LVS负载均衡应用的LVS容器停止运行,具体地,将要停止的LVS负载均衡应用的LVS容器封装成对象;将封装后的对象上传至容器编排工具,以调用容器编排工具的停止接口,以通过容器编排工具的停止接口将对象中的LVS容器进行停止,如此来实现LVS负载均衡应用的LVS容器的停止。调用容器编排工具提供的该停止接口时,会调用容器编排工具预先封装好的停止函数,通过该停止函数来将对象中的LVS容器进行停止。
S1053b,解除所述宿主机上LVS容器与LVS容器的IP之间的绑定关系。
可通过如下方式解除绑定关系:通过自动化运维工具连接宿主机上的该LVS负载均衡应用的LVS容器,并下发解除指令以解除该LVS负载均衡应用的LVS容器与LVS容器的IP的绑定关系。具体地,通过自动化运维工具连接该LVS负载均衡应用的LVS容器,并下发删除网卡的指令将LVS负载均衡应用的LVS容器的网卡删除,以解除该LVS负载均衡应用的LVS容器与LVS容器的IP的绑定关系。在其他实施例中,还可以通过其他方式来解决宿主机上的该LVS负载均衡应用的LVS容器与LVS容器的IP的绑定关系。
S1053c,销毁所述宿主机上的LVS容器,并从保存LVS负载均衡应用的共用文件的位置处删除所述LVS负载均衡应用的共用文件。
销毁所述宿主机上的LVS容器,如通过容器编排工具下发销毁指令到该LVS负载均衡应用的LVS容器所在的宿主机,以在宿主机上将该LVS负载均衡应用的LVS容器销毁。具体地,将要销毁的容器应用的容器实例封装成对象;将封装后的对象发送至容器编排工具,以通过调用容器编排工具中的销毁接口,以调用对应的销毁函数,以在宿主机上将该容器应用的容器实例销毁。
根据保存LVS负载均衡应用的共用文件的位置以及共用文件的名称来确定要删除的LVS负载均衡应用的具体共用文件,并将该具体共用文件从对应位置处删除。如删除LVS容器共用的配置文件等。
S1053d,回收所述LVS容器在所述宿主机上占用的资源以及LVS容器的IP。
回收该LVS在宿主机上所占用的所有资源,如包括CPU资源、内存资源、监控资源、容器实例所对应的环境信息、文件输入输出流(关闭)、与数据库的连接(关闭)等。
回收LVS负载均衡应用的LVS容器的IP,包括:将LVS负载均衡应用的LVS容器的IP回收到预先设置的空闲IP地址池。
该实施例自动实现删除LVS负载均衡应用的LVS容器,无需用户参与删除LVS负载均衡应用的过程,相对于现有的用户一个一个登陆LVS负载均衡应用的LVS容器,并人工进行删除,本实施例加快了删除LVS负载均衡应用的速度和效率。另外,也避免了人工进行删除时出现LVS容器删除遗漏的情况,且同时无需用户需要较高的专业知识,即可进行删除,节省了时间成本和人工成本。
S1054,根据所述Nginx负载均衡应用的Nginx容器所在的宿主机、Nginx容器的IP以及保存Nginx负载均衡应用的配置文件的位置删除所述Nginx负载均衡应用。
删除所述Nginx负载均衡应用意味着删除所述Nginx负载均衡应用的所有信息。
在一实施例中,如图5所示,步骤S1054包括以下步骤S1054a-S1054d。
S1054a,控制所述宿主机上的Nginx容器停止运行。
可通过多种方式来控制Nginx负载均衡应用的Nginx容器停止运行,如可通过执行指令的方式来控制宿主机上的Nginx负载均衡应用的Nginx容器停止运行,如docker stop指令等。如可通过容器编排工具来控制宿主机上的Nginx负载均衡应用的Nginx容器停止运行,具体地,将要停止的Nginx负载均衡应用的Nginx容器封装成对象;将封装后的对象上传至容器编排工具,以调用容器编排工具的停止接口,以通过容器编排工具的停止接口将对象中的Nginx容器进行停止,如此来实现Nginx负载均衡应用的Nginx容器的停止。调用容器编排工具提供的该停止接口时,会调用容器编排工具预先封装好的停止函数,通过该停止函数来将对象中的Nginx容器进行停止。
S1054b,解除所述宿主机上Nginx容器与Nginx容器的IP之间的绑定关系。
可通过如下方式解除绑定关系:通过自动化运维工具连接宿主机上的该Nginx负载均衡应用的Nginx容器,并下发解除指令以解除该Nginx负载均衡应用的Nginx容器与Nginx容器的IP的绑定关系。具体地,通过自动化运维工具连接该Nginx负载均衡应用的Nginx容器,并下发删除网卡的指令将Nginx负载均衡应用的Nginx容器的网卡删除,以解除该Nginx负载均衡应用的Nginx容器与Nginx容器的IP的绑定关系。在其他实施例中,还可以通过其他方式来解决宿主机上的该Nginx负载均衡应用的Nginx容器与Nginx容器的IP的绑定关系。
S1054c,销毁所述宿主机上的Nginx容器,并从保存Nginx负载均衡应用的共用文件的位置处删除所述Nginx负载均衡应用的共用文件。
销毁所述宿主机上的Nginx容器,如通过容器编排工具下发销毁指令到该Nginx负载均衡应用的Nginx容器所在的宿主机,以在宿主机上将该Nginx负载均衡应用的Nginx容器销毁。具体地,将要销毁的容器应用的容器实例封装成对象;将封装后的对象发送至容器编排工具,以通过调用容器编排工具中的销毁接口,以调用对应的销毁函数,以在宿主机上将该容器应用的容器实例销毁。
根据保存Nginx负载均衡应用的共用文件的位置以及共用文件的名称来确定要删除的Nginx负载均衡应用的具体共用文件,并将该具体共用文件从对应位置处删除。如删除Nginx容器共用的配置文件等。
S1054d,回收所述Nginx容器在所述宿主机上占用的资源以及Nginx容器的IP。
回收该Nginx容器在宿主机上所占用的所有资源,如包括CPU资源、内存资源、监控资源、容器实例所对应的环境信息、文件输入输出流(关闭)、与数据库的连接(关闭)等。
回收Nginx负载均衡应用的Nginx容器的IP,包括:将Nginx负载均衡应用的Nginx容器的IP回收到预先设置的空闲IP地址池。
该实施例与图4所示的实施例达到的效果相同,具体请参看图4实施例的描述,在此不再赘述。
需要注意的是,步骤S1053和S1054的执行顺序不分先后,步骤S1053和S1054可并行执行,也可分开执行。
该多活负载均衡应用的方法实施例中实现了对多活负载均衡应用的删除,如此,在删除容器应用的同时,可删除该多活负载均衡应用。
在一实施例中,若负载均衡应用的类型为LVS负载均衡应用,步骤S105包括:根据所述容器应用的信息确定所述LVS负载均衡应用的信息;从所述LVS负载均衡应用的信息中获取所述LVS负载均衡应用的LVS容器所在的宿主机、LVS容器的IP以及保存LVS负载均衡应用的共用文件的位置;根据所述LVS负载均衡应用的LVS容器所在的宿主机、LVS容器的IP以及保存LVS负载均衡应用的共用文件的位置删除所述LVS负载均衡应用。其中,具体步骤的实现方式与上文中描述的一致,请参看上文中的相应描述,在此不再赘述。
在一实施例中,若负载均衡应用的类型为Nginx负载均衡应用,步骤S105包括:根据所述容器应用的信息确定所述Nginx负载均衡应用的信息;从所述Nginx负载均衡应用的信息中获取所述Nginx负载均衡应用的Nginx容器所在的宿主机、Nginx容器的IP以及保存Nginx负载均衡应用的共用文件的位置;根据所述Nginx负载均衡应用的Nginx容器所在的宿主机、Nginx容器的IP以及保存Nginx负载均衡应用的共用文件的位置删除所述Nginx负载均衡应用。其中,具体步骤的实现方式与上文中描述的一致,请参看上文中的相应描述,在此不再赘述。
在一实施例中,如图1所示,所述容器应用删除方法还包括:
S106,将所删除的容器应用信息和所删除的负载均衡应用的信息更新到数据库。
如将数据库中该容器应用的信息和该负载均衡应用的信息进行删除。即删除该容器应用和该负载均衡应用的各种信息,并记录删除的时间等。
上述方法实施例中,当容器应用无需使用时,删除该容器应用和该容器应用所对应的负载均衡应用,如此以避免为容器应用和负载均衡应用的容器实例付费而造成的成本浪费;删除容器应用和负载均衡应用的过程自动完成,无需用户登陆到具体的容器中进行手动删除,提高了删除容器应用和负载均衡应用的速度和效率;另外,也避免了人工进行删除时出现容器实例删除遗漏的情况,且同时无需用户需要较高的专业知识,即可进行删除,节省了时间成本和人工成本。
图6是本申请实施例提供的容器应用删除装置的示意性框图。该装置包括用于执行上述图1所述的容器应用删除方法所对应的单元。如图6所示,该容器应用删除装置100包括标识信息获取单元101、应用信息获取单元102、应用删除单元103、负载判断单元104、负载删除单元105。
标识信息获取单元101,用于若接收到容器应用的删除请求,获取所述删除请求中的容器应用的标识信息。
应用信息获取单元102,用于根据所述容器应用的标识信息获取所述容器应用的信息。
应用删除单元103,用于根据所述容器应用的信息删除所述容器应用。
在一实施例中,如图7所示,应用删除单元103包括应用信息确定单元1031、应用停止单元1032、应用解除单元1033、应用销毁单元1034、应用回收单元1035。其中,应用信息确定单元1031,用于根据所述容器应用的信息确定所述容器应用的容器实例所在的宿主机和容器实例的IP。应用停止单元1032,用于停止所述宿主机上的所述容器应用的容器实例的运行。应用解除单元1033,用于解除所述宿主机上所述容器应用的容器实例与所述容器实例的IP之间的绑定关系。应用销毁单元1034,用于销毁所述宿主机上所述容器应用的容器实例。应用回收单元1035,用于回收所述容器应用的容器实例在所述宿主机上占用的资源以及所述容器实例的IP。
负载判断单元104,用于判断所述容器应用是否创建了负载均衡应用。
负载删除单元105,用于若所述容器应用创建了负载均衡应用,根据负载均衡应用的类型删除所述负载均衡应用。
在一实施例中,若所述容器应用的类型为多活负载均衡应用,该多活负载均衡应用包括LVS负载均衡应用和Nginx负载均衡应用。如图8所示,负载删除单元105包括多活负载确定单元1051、多活信息获取单元1052、LVS负载删除单元1053、Nginx负载删除单元1054。多活负载确定单元1051,用于根据所述容器应用的信息确定多活负载均衡应用的信息。多活信息获取单元1052,用于从所述多活负载均衡应用的信息中获取所述LVS负载均衡应用的LVS容器所在的宿主机、LVS容器的IP以及保存LVS负载均衡应用的共用文件的位置,以及获取所述Nginx负载均衡应用的Nginx容器所在的宿主机、Nginx容器的IP以及保存Nginx负载均衡应用的共用文件的位置。LVS负载删除单元1053,用于根据所述LVS负载均衡应用的LVS容器所在的宿主机、LVS容器的IP以及保存LVS负载均衡应用的共用文件的位置删除所述LVS负载均衡应用。Nginx负载删除单元1054,用于根据所述Nginx负载均衡应用的Nginx容器所在的宿主机、Nginx容器的IP以及保存Nginx负载均衡应用的共用文件的位置删除所述Nginx负载均衡应用。
在一实施例中,LVS负载删除单元1053包括LVS停止单元、LVS解除单元、LVS销毁单元、LVS回收单元。其中,LVS停止单元,用于停止所述宿主机上的LVS容器的运行。LVS解除单元,用于解除所述宿主机上LVS容器与LVS容器的IP之间的绑定关系。LVS销毁单元,用于销毁所述宿主机上的LVS容器,并从保存LVS负载均衡应用的共用文件的位置处删除所述LVS负载均衡应用的共用文件。LVS回收单元,用于回收所述LVS容器在所述宿主机上占用的资源以及LVS容器的IP。
在一实施例中,Nginx负载删除单元1054包括Nginx停止单元、Nginx解除单元、Nginx销毁单元、Nginx回收单元。其中,Nginx停止单元,用于停止所述宿主机上的Nginx容器的运行。Nginx解除单元,用于解除所述宿主机上Nginx容器与Nginx容器的IP之间的绑定关系。Nginx销毁单元,用于销毁所述宿主机上的Nginx容器,并从保存Nginx负载均衡应用的共用文件的位置处删除所述Nginx负载均衡应用的共用文件。Nginx回收单元,用于回收所述Nginx容器在所述宿主机上占用的资源以及Nginx容器的IP。
在一实施例中,若所述容器应用的类型为LVS负载均衡应用,负载删除单元105包括LVS负载确定单元、LVS信息获取单元、LVS负载删除单元。其中,LVS负载确定单元,用于根据所述容器应用的信息确定所述LVS负载均衡应用的信息。LVS信息获取单元,用于从所述LVS负载均衡应用的信息中获取所述LVS负载均衡应用的LVS容器所在的宿主机、LVS容器的IP以及保存LVS负载均衡应用的共用文件的位置。LVS负载删除单元,用于根据所述LVS负载均衡应用的LVS容器所在的宿主机、LVS容器的IP以及保存LVS负载均衡应用的共用文件的位置删除所述LVS负载均衡应用。
在一实施例中,若所述容器应用的类型为Nginx负载均衡应用,负载删除单元105包括Nginx负载确定单元、Nginx信息获取单元、Nginx负载删除单元。其中,Nginx负载确定单元,用于根据所述容器应用的信息确定所述Nginx负载均衡应用的信息。Nginx信息获取单元,用于从所述Nginx负载均衡应用的信息中获取所述Nginx负载均衡应用的Nginx容器所在的宿主机、Nginx容器的IP以及保存Nginx负载均衡应用的共用文件的位置。Nginx负载删除单元,用于根据所述Nginx负载均衡应用的Nginx容器所在的宿主机、Nginx容器的IP以及保存Nginx负载均衡应用的共用文件的位置删除所述Nginx负载均衡应用。
在一实施例中,如图6所示,所述容器应用删除装置100还包括更新单元106,用于将所删除的容器应用信息和所删除的负载均衡应用的信息更新到数据库。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图9所示的计算机设备上运行。
图9为本申请实施例提供的一种计算机设备的示意性框图。该设备为终端等设备,如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.根据权利要求1所述的方法,其特征在于,所述负载均衡应用的类型为LVS负载均衡应用,所述根据负载均衡应用的类型删除所述负载均衡应用,包括:
根据所述容器应用的信息确定所述LVS负载均衡应用的信息;
从所述LVS负载均衡应用的信息中获取所述LVS负载均衡应用的LVS容器所在的宿主机、LVS容器的IP以及保存LVS负载均衡应用的共用文件的位置;
根据所述LVS负载均衡应用的LVS容器所在的宿主机、LVS容器的IP以及保存LVS负载均衡应用的共用文件的位置删除所述LVS负载均衡应用。
4.根据权利要求1所述的方法,其特征在于,所述负载均衡应用的类型为Nginx负载均衡应用,所述根据负载均衡应用的类型删除所述负载均衡应用,包括:
根据所述容器应用的信息确定所述Nginx负载均衡应用的信息;
从所述Nginx负载均衡应用的信息中获取所述Nginx负载均衡应用的Nginx容器所在的宿主机、Nginx容器的IP以及保存Nginx负载均衡应用的共用文件的位置;
根据所述Nginx负载均衡应用的Nginx容器所在的宿主机、Nginx容器的IP以及保存Nginx负载均衡应用的共用文件的位置删除所述Nginx负载均衡应用。
5.根据权利要求1所述的方法,其特征在于,所述负载均衡应用的类型为多活负载均衡应用,所述多活负载均衡应用包括LVS负载均衡应用和Nginx负载均衡应用,所述根据负载均衡应用的类型删除所述负载均衡应用,包括:
根据所述容器应用的信息确定多活负载均衡应用的信息;
从所述多活负载均衡应用的信息中获取所述LVS负载均衡应用的LVS容器所在的宿主机、LVS容器的IP以及保存LVS负载均衡应用的共用文件的位置,以及获取所述Nginx负载均衡应用的Nginx容器所在的宿主机、Nginx容器的IP以及保存Nginx负载均衡应用的共用文件的位置;
根据所述LVS负载均衡应用的LVS容器所在的宿主机、LVS容器的IP以及保存LVS负载均衡应用的共用文件的位置删除所述LVS负载均衡应用;
根据所述Nginx负载均衡应用的Nginx容器所在的宿主机、Nginx容器的IP以及保存Nginx负载均衡应用的共用文件的位置删除所述Nginx负载均衡应用;
其中,删除所述LVS负载均衡应用和删除所述Nginx负载均衡应用的顺序不分先后。
6.根据权利要求3或者5所述的方法,其特征在于,所述根据所述LVS负载均衡应用的LVS容器所在的宿主机、LVS容器的IP以及保存LVS负载均衡应用的共用文件的位置删除所述LVS负载均衡应用,包括:
控制所述宿主机上的LVS容器停止运行;
解除所述宿主机上LVS容器与LVS容器的IP之间的绑定关系;
销毁所述宿主机上的LVS容器,并从保存LVS负载均衡应用的共用文件的位置处删除所述LVS负载均衡应用的共用文件;
回收所述LVS容器在所述宿主机上占用的资源以及LVS容器的IP。
7.根据权利要求4或者5所述的方法,其特征在于,所述根据所述Nginx负载均衡应用的Nginx容器所在的宿主机、Nginx容器的IP以及保存Nginx负载均衡应用的共用文件的位置删除所述Nginx负载均衡应用,包括:
控制所述宿主机上的Nginx容器停止运行;
解除所述宿主机上Nginx容器与Nginx容器的IP之间的绑定关系;
销毁所述宿主机上的Nginx容器,并从保存Nginx负载均衡应用的共用文件的位置处删除所述Nginx负载均衡应用的共用文件;
回收所述Nginx容器在所述宿主机上占用的资源以及Nginx容器的IP。
8.一种容器应用删除装置,其特征在于,所述多活负载均衡应用包括LVS负载均衡应用和Nginx负载均衡应用,所述容器应用删除装置包括:
标识信息获取单元,用于若接收到容器应用的删除请求,获取所述删除请求中的容器应用的标识信息;
应用信息获取单元,用于根据所述容器应用的标识信息获取所述容器应用的信息;
应用删除单元,用于根据所述容器应用的信息删除所述容器应用;
负载判断单元,用于判断所述容器应用是否创建了负载均衡应用;
负载删除单元,用于若所述容器应用创建了负载均衡应用,根据负载均衡应用的类型删除所述负载均衡应用。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910527325.8A CN110427194B (zh) | 2019-06-18 | 容器应用删除方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910527325.8A CN110427194B (zh) | 2019-06-18 | 容器应用删除方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110427194A true CN110427194A (zh) | 2019-11-08 |
CN110427194B CN110427194B (zh) | 2024-05-14 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835836A (zh) * | 2021-09-23 | 2021-12-24 | 证通股份有限公司 | 动态发布容器服务的系统、方法、计算机设备及介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515864A (zh) * | 2015-12-11 | 2016-04-20 | 深圳市中润四方信息技术有限公司 | 容器资源自适应调整方法及系统 |
CN105979009A (zh) * | 2016-07-06 | 2016-09-28 | 乾云众创(北京)信息科技研究院有限公司 | 一种针对云应用容器的增加负载自动均衡方法 |
US20170070567A1 (en) * | 2015-09-07 | 2017-03-09 | Electronics And Telecommunications Research Institute | Load balancing apparatus and load balancing method |
CN107608757A (zh) * | 2017-08-29 | 2018-01-19 | 华为技术有限公司 | 一种基于容器的隔离处理方法及相关设备 |
CN108319872A (zh) * | 2018-01-16 | 2018-07-24 | 湖北省楚天云有限公司 | 一种封闭容器生成方法、装置及设备 |
CN108616599A (zh) * | 2018-05-11 | 2018-10-02 | 北京辰森世纪科技股份有限公司 | 应用服务注册、更新的方法及装置 |
CN108932153A (zh) * | 2018-07-06 | 2018-12-04 | 杭州涂鸦信息技术有限公司 | 一种多Docker实例动态分配宿主机端口的方法和装置 |
CN109343963A (zh) * | 2018-10-30 | 2019-02-15 | 杭州数梦工场科技有限公司 | 一种容器集群的应用访问方法、装置及相关设备 |
CN109561024A (zh) * | 2017-09-27 | 2019-04-02 | 南京中兴软件有限责任公司 | 容器调度处理方法及装置 |
CN109614226A (zh) * | 2018-11-20 | 2019-04-12 | 武汉烽火信息集成技术有限公司 | 一种基于Kubernetes的有状态应用存储管理方法 |
CN109660466A (zh) * | 2019-02-26 | 2019-04-19 | 浪潮软件集团有限公司 | 一种面向云数据中心租户的多活负载均衡实现方法 |
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170070567A1 (en) * | 2015-09-07 | 2017-03-09 | Electronics And Telecommunications Research Institute | Load balancing apparatus and load balancing method |
CN105515864A (zh) * | 2015-12-11 | 2016-04-20 | 深圳市中润四方信息技术有限公司 | 容器资源自适应调整方法及系统 |
CN105979009A (zh) * | 2016-07-06 | 2016-09-28 | 乾云众创(北京)信息科技研究院有限公司 | 一种针对云应用容器的增加负载自动均衡方法 |
CN107608757A (zh) * | 2017-08-29 | 2018-01-19 | 华为技术有限公司 | 一种基于容器的隔离处理方法及相关设备 |
CN109561024A (zh) * | 2017-09-27 | 2019-04-02 | 南京中兴软件有限责任公司 | 容器调度处理方法及装置 |
CN108319872A (zh) * | 2018-01-16 | 2018-07-24 | 湖北省楚天云有限公司 | 一种封闭容器生成方法、装置及设备 |
CN108616599A (zh) * | 2018-05-11 | 2018-10-02 | 北京辰森世纪科技股份有限公司 | 应用服务注册、更新的方法及装置 |
CN108932153A (zh) * | 2018-07-06 | 2018-12-04 | 杭州涂鸦信息技术有限公司 | 一种多Docker实例动态分配宿主机端口的方法和装置 |
CN109343963A (zh) * | 2018-10-30 | 2019-02-15 | 杭州数梦工场科技有限公司 | 一种容器集群的应用访问方法、装置及相关设备 |
CN109614226A (zh) * | 2018-11-20 | 2019-04-12 | 武汉烽火信息集成技术有限公司 | 一种基于Kubernetes的有状态应用存储管理方法 |
CN109660466A (zh) * | 2019-02-26 | 2019-04-19 | 浪潮软件集团有限公司 | 一种面向云数据中心租户的多活负载均衡实现方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835836A (zh) * | 2021-09-23 | 2021-12-24 | 证通股份有限公司 | 动态发布容器服务的系统、方法、计算机设备及介质 |
CN113835836B (zh) * | 2021-09-23 | 2024-01-30 | 证通股份有限公司 | 动态发布容器服务的系统、方法、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9621592B2 (en) | System and method for software defined deployment of security appliances using policy templates | |
CN110531987A (zh) | 基于Kubernetes集群的管理方法、装置及计算机可读存储介质 | |
CN103620606B (zh) | 存储检测装置、系统及存储检测方法 | |
CN108322325A (zh) | 一种虚拟机管理方法及装置 | |
CN108829384A (zh) | 容器的管理方法、装置、计算机设备及存储介质 | |
US10693963B2 (en) | On-demand workload management in cloud bursting | |
US11757977B2 (en) | Rule-based action triggering in a provider network | |
CN110865881A (zh) | 一种资源调度的方法及装置 | |
CN106817411A (zh) | 业务访问请求的处理方法和相关设备 | |
CN110275776A (zh) | 容器应用的缩容方法、装置、计算机设备及存储介质 | |
US20210203714A1 (en) | System and method for identifying capabilities and limitations of an orchestration based application integration | |
US20170093742A1 (en) | Managing a shared pool of configurable computing resources having an arrangement of a set of dynamically-assigned resources | |
CN108196940A (zh) | 删除容器的方法和相关设备 | |
CN108429754A (zh) | 一种云端分布式检测方法、系统及相关装置 | |
CN109479059A (zh) | 用于容器流量的传输层等级标识和隔离的系统和方法 | |
CN110262873A (zh) | 容器应用的配置修改方法、装置、计算机设备及存储介质 | |
CN108399331A (zh) | 应用进程试用方法和系统 | |
CN107797859A (zh) | 一种定时任务的调度方法及一种调度服务器 | |
CN109388485A (zh) | 一种任务执行线程的处理方法、装置、设备及存储介质 | |
CN110427194A (zh) | 容器应用删除方法、装置、计算机设备及存储介质 | |
US11917104B2 (en) | System and method for enhanced outbound campaign management | |
CN108319868A (zh) | 图片访问的保护方法、装置、存储介质及终端设备 | |
US9032326B2 (en) | Late instantiation of dependent objects | |
CN108459960A (zh) | 测试环境的自动配置方法、装置、设备及存储介质 | |
CN104811432A (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 |