CN111414229B - 一种应用容器异常处理方法及装置 - Google Patents
一种应用容器异常处理方法及装置 Download PDFInfo
- Publication number
- CN111414229B CN111414229B CN202010156801.2A CN202010156801A CN111414229B CN 111414229 B CN111414229 B CN 111414229B CN 202010156801 A CN202010156801 A CN 202010156801A CN 111414229 B CN111414229 B CN 111414229B
- Authority
- CN
- China
- Prior art keywords
- application container
- application
- daemon
- indication information
- host device
- 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.)
- Active
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/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)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种应用容器异常处理方法及装置,其中方法为:主机设备通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后,向管理设备发送处理命令;所述第一应用容器为所述主机设备上运行的应用容器;所述守护进程用于监控所述应用进程的运行状态;所述处理命令用于指示所述管理设备向流量分发控制器发送第一指示信息;所述第一指示信息用于指示所述流量分发控制器停止向所述第一应用容器分发流量;所述主机设备通过所述守护进程的存活态保留所述第一应用容器。
Description
技术领域
本发明涉及计算机应用领域,尤其涉及一种应用容器异常处理方法及装置。
背景技术
应用容器包含了应用运行所需的完整的资源,将一个应用、这个应用所需的全部依赖、类库、其他二进制文件、配置文件等运行的必要资源统一打包,便形成了一个应用容器。从而能让人更加的关注应用程序本身,方便移植到另外一套操作系统和依赖环境。
应用容器可在多种场景中应用,如云平台。目前也涌现出各种管理应用容器的工具,举例来说,Kubernetes是一个用于容器集群的自动化部署、扩容以及运维的开源平台。但是,现有的应用容器的管理工具遇到应用容器运行异常时,采用的策略是直接删除异常的应用容器。但是异常的应用容器在被删除后,应用容器的异常运行状态也随之消失,不能针对问题做进一步分析排查。因此,目前应用容器的管理工具在应用容器异常后,不能保留异常的应用容器,是一个亟待解决的问题。
发明内容
本申请提供一种应用容器异常处理方法及装置,解决了现有技术中不能保留异常的应用容器的问题。
第一方面,本申请提供一种应用容器异常处理方法,包括:主机设备通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后,向管理设备发送处理命令;所述第一应用容器为所述主机设备上运行的应用容器;所述守护进程用于监控所述应用进程的运行状态;所述处理命令用于指示所述管理设备向流量分发控制器发送第一指示信息;所述第一指示信息用于指示所述流量分发控制器停止向所述第一应用容器分发流量;所述主机设备通过所述守护进程的存活态保留所述第一应用容器。
上述方法中,在主机设备上运行的第一应用容器中设置了一个守护进程,守护进程能够监控所述应用进程的运行状态,从而主机设备可以通过所述守护进程,及时确定所述主机设备上运行的应用进程异常,即第一应用容器异常后,向管理设备发送处理命令,从而指示所述管理设备向流量分发控制器发送第一指示信息,进一步指示所述流量分发控制器停止向所述第一应用容器分发流量,使得所述第一应用容器停止服务,并且通过所述守护进程的存活态保留所述第一应容器,从而能在第一应用容器异常后,保留所述第一应用容器。
一种可选实施方式中,所述守护进程为所述第一应用容器的主进程;所述向管理设备发送处理命令之前,还包括:所述主机设备启动所述守护进程;所述主机设备通过所述守护进程,启动所述应用进程。
上述方法中,所述主机设备先启动所述守护进程,再通过所述守护进程,启动所述应用进程,从而保证了应用进程只要运行了就有守护进程在监控,从而实时获取应用进程的异常状态。
一种可选实施方式中,所述主机设备通过所述守护进程的存活态保留所述第一应用容器,包括:所述主机设备保持所述守护进程的执行状态不变或阻塞所述守护进程,从而保留所述第一应用容器。
上述方法中,可以选择保持所述守护进程的执行状态不变或阻塞所述守护进程,来保留所述第一应用容器,从而可以在不影响守护进程的执行状态的情况下,保留所述第一应用容器。
一种可选实施方式中,所述向管理设备发送处理命令之后,还包括:若所述主机设备接收到所述管理设备发送的第二指示信息,则创建第二应用容器,从而接替所述第一应用容器。
上述方式下,若所述主机设备接收到所述管理设备发送的第二指示信息,还可以则创建第二应用容器,从而接替所述第一应用容器,提供了一种恢复应用容器的方法。
一种可选实施方式中,所述向管理设备发送处理命令之后,还包括:若所述主机设备接收到所述管理设备发送的第三指示信息,则删除所述第一应用容器。
上述方式下,所述在接收到第三指示信息之前一直通过所述守护进程的存活态保留所述第一应用容器,主机设备等接收到所述管理设备发送的第三指示信息时,才删除所述第一应用容器,从而在未接收第三指示信息时一直保留着第一应用容器。
一种可选实施方式中,所述向管理设备发送处理命令之后,还包括:若所述主机设备接收到所述管理设备发送的第四指示信息,则重启所述第一应用容器中的所述应用进程。
上述方式下,所述主机设备接收到所述管理设备发送的第四指示信息后,会重启所述第一应用容器中的所述应用进程,从而提供了一种唤醒第一应用容器中的所述应用进程的方法,从而可以在不新建应用容器的情况下重启应用进程。
第二方面,本申请提供一种应用容器异常处理方法,包括:管理设备接收来自主机设备的处理命令;所述处理命令是所述主机设备通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后发送的;所述守护进程用于监控所述应用进程的运行状态并在所述应用进程运行异常后处于存活态从而保留所述第一应用容器;所述管理设备向流量分发控制器发送第一指示信息;所述第一指示信息用于指示所述流量分发控制器停止向所述第一应用容器分发流量。
一种可选实施方式中,所述管理设备向所述主机设备发送第二指示信息;所述第二指示信息用于指示所述主机设备创建第二应用容器,从而接替所述第一应用容器。
一种可选实施方式中,所述管理设备向流量分发控制器发送第一指示信息之后,还包括:所述管理设备向所述流量分发控制器发送第三指示信息;所述第三指示信息用于指示所述主机设备删除所述第一应用容器。
一种可选实施方式中,所述管理设备向流量分发控制器发送第一指示信息之后,还包括:所述管理设备向所述流量分发控制器发送第四指示信息;所述第四指示信息用于指示所述主机设备重启所述第一应用容器中的所述应用进程。
上述第二方面及第二方面各个实施方式的有益效果,可以参考上述第一方面及第一方面各个实施方式的有益效果,这里不再赘述。
第三方面,本申请提供一种应用容器异常处理方法,包括:流量分发控制器接收来自管理设备的第一指示信息;所述第一指示信息是所述管理设备接收到来自主机设备的处理命令后发送的;所述处理命令是所述主机设备通过第一应用容器的守护进程,确定所述第一应用容器的应用进程运行异常后发送的;所述守护进程用于监控所述应用进程的运行状态并在所述应用进程运行异常后处于存活态从而保留所述第一应用容器;所述流量分发控制器将所述第一应用容器确定为禁止分发流量的应用容器。
一种可选实施方式中,所述流量分发控制器将所述第一应用容器确定为禁止分发流量的应用容器之后,还包括:若所述流量分发控制器接收到所述管理设备发送的第五指示信息,所述流量分发控制器将第二应用容器确定为允许分发流量的应用容器;所述第二应用容器为所述主机设备创建的应用容器;所述第二应用容器用于接替所述第一应用容器。
上述第三方面及第三方面各个实施方式的有益效果,可以参考上述第一方面及第一方面各个实施方式的有益效果,这里不再赘述。
第四方面,本申请提供一种应用容器异常处理方法,包括:主机设备通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后,向管理设备发送处理命令;所述第一应用容器为所述主机设备上运行的应用容器;所述守护进程用于监控所述应用进程的运行状态;所述主机设备通过所述守护进程的存活态保留所述第一应用容器;所述管理设备接收来自所述主机设备的所述处理命令后,向流量分发控制器发送第一指示信息;所述流量分发控制器接收来自所述管理设备发送的所述第一指示信息后,将所述第一应用容器确定为禁止分发流量的应用容器,从而停止向所述第一应用容器分发流量,使得所述第一应用容器停止服务。
上述第四方面及第四方面各个实施方式的有益效果,可以参考上述第一方面及第一方面各个实施方式的有益效果,这里不再赘述。
第五方面,本申请提供一种应用容器异常处理装置,包括:发送模块,用于通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后,向管理设备发送处理命令;所述第一应用容器为所述装置上运行的应用容器;所述守护进程用于监控所述应用进程的运行状态;所述处理命令用于指示所述管理设备向流量分发控制器发送第一指示信息;所述第一指示信息用于指示所述流量分发控制器停止向所述第一应用容器分发流量;处理模块,用于通过所述守护进程的存活态保留所述第一应用容器。
一种可选实施方式中,所述处理模块还用于:启动所述守护进程;通过所述守护进程,启动所述应用进程。
一种可选实施方式中,所述处理模块具体用于:保持所述守护进程的执行状态不变或阻塞所述守护进程,从而保留所述第一应用容器。
一种可选实施方式中,所述发送模块还用于:接收所述管理设备发送的第二指示信息;所述处理模块还用于:在所述发送模块接收所述管理设备发送的第二指示信息后,创建第二应用容器,从而接替所述第一应用容器。
一种可选实施方式中,所述发送模块还用于:接收所述管理设备发送的第三指示信息;所述处理模块还用于:在所述发送模块接收所述管理设备发送的第三指示信息后,删除所述第一应用容器。
一种可选实施方式中,所述发送模块还用于:接收所述管理设备发送的第四指示信息;所述处理模块还用于:在所述发送模块接收所述管理设备发送的第四指示信息后,重启所述第一应用容器中的所述应用进程。
第六方面,本申请提供一种应用容器异常处理装置,包括:接收模块,用于接收来自主机设备的处理命令;所述处理命令是所述主机设备通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后发送的;所述守护进程用于监控所述应用进程的运行状态并在所述应用进程运行异常后处于存活态从而保留所述第一应用容器;发送模块,用于向流量分发控制器发送第一指示信息;所述第一指示信息用于指示所述流量分发控制器停止向所述第一应用容器分发流量。
一种可选实施方式中,所述发送模块还用于:向所述主机设备发送第二指示信息;所述第二指示信息用于指示所述主机设备创建第二应用容器,从而接替所述第一应用容器。
一种可选实施方式中,所述发送模块还用于:向所述流量分发控制器发送第三指示信息;所述第三指示信息用于指示所述主机设备删除所述第一应用容器。
一种可选实施方式中,所述发送模块还用于:向所述流量分发控制器发送第四指示信息;所述第四指示信息用于指示所述主机设备重启所述第一应用容器中的所述应用进程。
第七方面,本申请提供一种应用容器异常处理装置,包括:接收模块,用于接收来自管理设备的第一指示信息;所述第一指示信息是所述管理设备接收到来自主机设备的处理命令后发送的;所述处理命令是所述主机设备通过第一应用容器的守护进程,确定所述第一应用容器的应用进程运行异常后发送的;所述守护进程用于监控所述应用进程的运行状态并在所述应用进程运行异常后处于存活态从而保留所述第一应用容器;确定模块,用于将所述第一应用容器确定为禁止分发流量的应用容器。
一种可选实施方式中,所述接收模块还用于:接收所述管理设备发送的第五指示信息;所述确定模块还用于:在所述接收模块接收到所述管理设备发送的第五指示信息后,将第二应用容器确定为允许分发流量的应用容器;所述第二应用容器为所述主机设备创建的应用容器;所述第二应用容器用于接替所述第一应用容器。
第八方面,本申请提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面或第二方面或第三方面各个实施方式的方法。
第九方面,本申请提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面或第二方面或第三方面各个实施方式的方法。
附图说明
图1为本申请实施例提供的一种应用容器异常处理方法的步骤流程示意图;
图2为本申请实施例提供的一种应用容器异常处理方法的步骤流程示意图;
图3为本申请实施例提供的一种应用容器异常处理方法的步骤流程示意图;
图4为本申请实施例提供的一种应用容器异常处理方法可应用的架构示意图;
图5为本申请实施例提供的一种应用容器异常处理方法的时序示意图;
图6为本申请实施例提供的一种应用容器异常处理装置的结构示意图;
图7为本申请实施例提供的一种应用容器异常处理装置的结构示意图;
图8为本申请实施例提供的一种应用容器异常处理装置的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图及具体的实施方式对上述技术方案进行详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互结合。
应用容器能让人更加的关注应用程序本身,方便移植到另外一套操作系统和依赖环境。目前的方法中,当应用容器运行异常时,现有的应用容器管理工具是直接删除异常的应用容器,但是,这样却忽略了如何真正解决容器内的应用程序为什么异常退出的问题。异常容器在被删除后,异常应用容器的现场状态也随之消失,更无法针对问题做进一步分析排查。为此,如图1所示,本申请提供一种应用容器异常处理方法。
步骤101:主机设备通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后,向管理设备发送处理命令。
步骤102:所述主机设备通过所述守护进程的存活态保留所述第一应用容器。
步骤101之前,可以将守护进程作为第一应用容器的主进程,按照以下方式启动:
所述主机设备启动所述守护进程;所述主机设备通过所述守护进程,启动所述应用进程。
相对于直接用应用容器的启动命令的启动方式,将启动命令变为守护进程可以实时监控业务进程运行状态,因此,还可以在业务进程异常退出后重启业务进程。
步骤101中,所述第一应用容器为所述主机设备上运行的应用容器;所述守护进程用于监控所述应用进程的运行状态;所述处理命令用于指示所述管理设备向流量分发控制器发送第一指示信息;所述第一指示信息用于指示所述流量分发控制器停止向所述第一应用容器分发流量。
需要说明的是,步骤101中的处理命令可以包括第一应用容器的标识(ID),从而告知管理设备该标识对应的第一应用容器出现了异常。
具体来说,管理设备上可以运行着云平台管理程序,云平台管理程序可以提供一个处理应用进程异常退出事件的一个处理接口。可以通过各个应用容器的守护进程,向管理设备发送处理命令来调用处理接口。当第一应用容器的应用进程异常退出时,守护进程在收到第一应用容器的应用进程异常退出事件时,通过向管理设备发送处理命令,将容器的ID通过处理接口传递给云平台管理程序。
步骤101执行后,如图2所示,管理设备可以执行以下步骤:
步骤201:管理设备接收来自主机设备的处理命令。
步骤202:所述管理设备向流量分发控制器发送第一指示信息。
所述第一指示信息用于指示所述流量分发控制器停止向所述第一应用容器分发流量。
具体来说,步骤202可以为:管理设备上的云平台管理程序在收到第一应用容器的应用进程异常退出事件后,根据容器ID停止第一应用容器继续对外提供服务。
需要说明的是,步骤201~步骤202和步骤102为异步执行。
步骤202执行后,如图3所示,管理设备可以执行以下步骤:
步骤301:流量分发控制器接收来自管理设备的第一指示信息。
步骤302:所述流量分发控制器将所述第一应用容器确定为禁止分发流量的应用容器。
需要说明的是,上述流量分发控制器的作用是管理对应用容器流量的下发,因此只要能够管理对应用容器流量的下发的设备都可以,如负载均衡器(SLB)。流量分发控制器可以管理一到多个主机设备上的应用容器。各应用容器通过SLB对外提供服务,SLB具备停止和启动指定容器流量的能力,并接收外部的流量。
具体来说,第一指示信息是通过调用管理设备上运行的云平台管理程序的处理接口后发送的。SLB收到第一指示信息后,SLB将所述第一应用容器确定为禁止分发流量的应用容器,从而切断该异常的第一应用容器的流量。
步骤302执行后,第一应用容器也停止了继续对外服务。
需要说明的是,步骤303~步骤302和步骤202为异步执行。
步骤102中,应用容器由于内部运行的守护进程没有退出,所以应用容器仍然会存在,保留应用容器的异常现场,为问题定位提供便利性,从而为相关人员后继续进入异常的应用容器内部排查应用进程异常提供了可能。步骤102具体可以按照以下方式来执行:
所述主机设备保持所述守护进程的执行状态不变或阻塞所述守护进程,从而保留所述第一应用容器。
在步骤202之后,一种可选实施方式为:
所述管理设备向所述主机设备发送第二指示信息。
所述第二指示信息用于指示所述主机设备创建第二应用容器,从而接替所述第一应用容器。
需要说明的是,管理设备所管理的主机设备可以多个,接替第一应用容器的应用容器也可以不在第一应用容器原来运行的主机设备上创建,管理设备可以根据具体情况灵活选择创建新应用容器的主机设备。
对于主机设备而言,只要接收到了第二指示信息,就创建第二应用容器,因此,相应地,步骤102之后,一种可选实施方式可以如下:
若所述主机设备接收到所述管理设备发送的第二指示信息,则创建第二应用容器,从而接替所述第一应用容器。
具体来说,当管理设备上运行着云平台管理程序时,在收到第一应用容器的应用进程异常退出事件后,可以迅速切断了流量向第一应用容器流转的通路,并将流量引导到新重启的第二应用容器,那么对于应用容器的服务者而言,流量只是换了一个应用容器处理,对应用容器的异常无感知。
在步骤202之后,另一种可选实施方式为:
所述管理设备向所述主机设备发送第三指示信息。
所述第三指示信息用于指示所述主机设备删除所述第一应用容器。
相应地,在另一种实施方式下,步骤102之后可以执行以下步骤:
若所述主机设备接收到所述管理设备发送的第三指示信息,则删除所述第一应用容器。
也就是说,在管理设备接收到第三指示信息之前,主机设备是一直通过守护进程的存活态保留第一应用容器的,不会删除第一应用容器,得到管理设备的指示后才会删除第一应用容器。
在步骤202之后,另一种可选实施方式为:
所述管理设备向所述主机设备发送第四指示信息。
所述第四指示信息用于指示所述主机设备重启所述第一应用容器中的所述应用进程。
相应地,步骤102之后可以执行以下步骤:
若所述主机设备接收到所述管理设备发送的第四指示信息,则重启所述第一应用容器中的所述应用进程。
在步骤202之后,另一种可选实施方式为:
所述管理设备向所述流量分发控制器发送第五指示信息。
所述第五指示信息用于指示流量分发控制器将第二应用容器确定为允许分发流量的应用容器。
其中,所述第二应用容器为所述主机设备创建的应用容器;所述第二应用容器用于接替所述第一应用容器。另外,将第二应用容器确定为允许分发流量的应用容器后,第二应用容器也就开始对外提供服务了,能够处理流量了。
相应地,步骤302之后,一种可选实施方式如下:
若所述流量分发控制器接收到所述管理设备发送的第五指示信息,所述流量分发控制器将第二应用容器确定为允许分发流量的应用容器。
具体来说,当流量分发控制器为SLB时,当SLB收到了第五指示信息,便知悉了主机设备已经创建了新的第二应用容器,从而SLB将流量引导到第二应用容器。
步骤101~步骤102、步骤201~步骤202和步骤301~步骤302可应用在图4所示的架构中。
图4示出的架构中,管理设备管理着主机设备A、主机设备B和主机设备C,每个主机设备上运行着两个应用容器;需要说明的是,图4示出的架构仅作为举例说明,具体的架构可以根据场景灵活设置,如设置5个主机主机设备。流量分发控制器也负责向主机设备A、主机设备B和主机设备C的流量分发,流量的来源有多种,如外部的处理请求。管理设备可以向主机设备和\或流量分发控制器发送指示信息。下面结合图5,详细介绍本申请中异常容器处理方法的时序过程。
步骤501:主机设备A确定应用容器A1异常,向管理设备发送处理命令。
步骤502:管理设备向流量分发控制器发送第一指示信息。
第一指示信息用于指示流量分发控制器停止向应用容器A1分发流量。
步骤503:流量分发控制器将应用容器A1确定为禁止分发流量的应用容器。
步骤504:管理设备向主机设备发送第二指示信息。
第二指示信息用于指示主机设备创建应用容器A1’。
步骤505:主机设备创建应用容器A1’。
步骤506:管理设备向流量分发控制器发送第五指示信息。
第二指示信息用于指示流量分发控制器将应用容器A1’设置为允许分发流量的应用容器。
步骤507:流量分发控制器将应用容器A1’设置为允许分发流量的应用容器。
步骤508:主机设备通过应用容器A1的守护进程的存活态,从而保留应用容器A1。
需要说明的是,步骤508与步骤502~步骤507为异步执行。
如图6所示,本申请提供一种应用容器异常处理装置,包括:发送模块601,用于通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后,向管理设备发送处理命令;所述第一应用容器为所述装置上运行的应用容器;所述守护进程用于监控所述应用进程的运行状态;所述处理命令用于指示所述管理设备向流量分发控制器发送第一指示信息;所述第一指示信息用于指示所述流量分发控制器停止向所述第一应用容器分发流量;处理模块602,用于通过所述守护进程的存活态保留所述第一应用容器。
一种可选实施方式中,所述处理模块602还用于:启动所述守护进程;通过所述守护进程,启动所述应用进程。
一种可选实施方式中,所述处理模块602具体用于:保持所述守护进程的执行状态不变或阻塞所述守护进程,从而保留所述第一应用容器。
一种可选实施方式中,所述发送模块601还用于:接收所述管理设备发送的第二指示信息;所述处理模块602还用于:在所述发送模块601接收所述管理设备发送的第二指示信息后,创建第二应用容器,从而接替所述第一应用容器。
一种可选实施方式中,所述发送模块601还用于:接收所述管理设备发送的第三指示信息;所述处理模块602还用于:在所述发送模块601接收所述管理设备发送的第三指示信息后,删除所述第一应用容器。
一种可选实施方式中,所述发送模块601还用于:接收所述管理设备发送的第四指示信息;所述处理模块602还用于:在所述发送模块601接收所述管理设备发送的第四指示信息后,重启所述第一应用容器中的所述应用进程。
如图7所示,本申请提供一种应用容器异常处理装置,包括:接收模块701,用于接收来自主机设备的处理命令;所述处理命令是所述主机设备通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后发送的;所述守护进程用于监控所述应用进程的运行状态并在所述应用进程运行异常后处于存活态从而保留所述第一应用容器;发送模块702,用于向流量分发控制器发送第一指示信息;所述第一指示信息用于指示所述流量分发控制器停止向所述第一应用容器分发流量。
一种可选实施方式中,所述发送模块702还用于:向所述主机设备发送第二指示信息;所述第二指示信息用于指示所述主机设备创建第二应用容器,从而接替所述第一应用容器。
一种可选实施方式中,所述发送模块702还用于:向所述流量分发控制器发送第三指示信息;所述第三指示信息用于指示所述主机设备删除所述第一应用容器。
一种可选实施方式中,所述发送模块702还用于:向所述流量分发控制器发送第四指示信息;所述第四指示信息用于指示所述主机设备重启所述第一应用容器中的所述应用进程。
如图8所示,本申请提供一种应用容器异常处理装置,包括:接收模块801,用于接收来自管理设备的第一指示信息;所述第一指示信息是所述管理设备接收到来自主机设备的处理命令后发送的;所述处理命令是所述主机设备通过第一应用容器的守护进程,确定所述第一应用容器的应用进程运行异常后发送的;所述守护进程用于监控所述应用进程的运行状态并在所述应用进程运行异常后处于存活态从而保留所述第一应用容器;确定模块802,用于将所述第一应用容器确定为禁止分发流量的应用容器。
一种可选实施方式中,所述接收模块801还用于:接收所述管理设备发送的第五指示信息;所述确定模块802还用于:在所述接收模块801接收到所述管理设备发送的第五指示信息后,将第二应用容器确定为允许分发流量的应用容器;所述第二应用容器为所述主机设备创建的应用容器;所述第二应用容器用于接替所述第一应用容器。
本申请实施例提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种应用容器异常处理方法及任一可选方法。
本申请实施例提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种应用容器异常处理方法及任一可选方法。
最后应说明的是:本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (17)
1.一种应用容器异常处理方法,其特征在于,包括:
主机设备通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后,向管理设备发送处理命令;所述第一应用容器为所述主机设备上运行的应用容器;所述守护进程用于监控所述应用进程的运行状态;所述处理命令用于指示所述管理设备向流量分发控制器发送第一指示信息;所述第一指示信息用于指示所述流量分发控制器停止向所述第一应用容器分发流量;
所述主机设备通过所述守护进程的存活态保留所述第一应用容器;
其中,所述主机设备通过所述守护进程的存活态保留所述第一应用容器,包括:
所述主机设备保持所述守护进程的执行状态不变或阻塞所述守护进程,从而保留所述第一应用容器。
2.如权利要求1所述的方法,其特征在于,所述守护进程为所述第一应用容器的主进程;所述向管理设备发送处理命令之前,还包括:
所述主机设备启动所述守护进程;
所述主机设备通过所述守护进程,启动所述应用进程。
3.如权利要求1所述的方法,其特征在于,所述向管理设备发送处理命令之后,还包括:
若所述主机设备接收到所述管理设备发送的第二指示信息,则创建第二应用容器,从而接替所述第一应用容器。
4.如权利要求1-2任一所述的方法,其特征在于,所述向管理设备发送处理命令之后,还包括:
若所述主机设备接收到所述管理设备发送的第三指示信息,则删除所述第一应用容器。
5.如权利要求1-2任一所述的方法,其特征在于,所述向管理设备发送处理命令之后,还包括:
若所述主机设备接收到所述管理设备发送的第四指示信息,则重启所述第一应用容器中的所述应用进程。
6.一种应用容器异常处理方法,其特征在于,包括:
管理设备接收来自主机设备的处理命令;所述处理命令是所述主机设备通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后发送的;所述守护进程用于监控所述应用进程的运行状态并在所述应用进程运行异常后处于存活态从而保留所述第一应用容器,所述守护进程处于存活态是通过保持所述守护进程的执行状态不变或阻塞所述守护进程实现的;
所述管理设备向流量分发控制器发送第一指示信息;所述第一指示信息用于指示所述流量分发控制器停止向所述第一应用容器分发流量。
7.如权利要求6所述的方法,其特征在于,所述管理设备向流量分发控制器发送第一指示信息之后,还包括:
所述管理设备向所述主机设备发送第二指示信息;所述第二指示信息用于指示所述主机设备创建第二应用容器,从而接替所述第一应用容器。
8.如权利要求6或7所述的方法,其特征在于,所述管理设备向流量分发控制器发送第一指示信息之后,还包括:
所述管理设备向所述流量分发控制器发送第三指示信息;所述第三指示信息用于指示所述主机设备删除所述第一应用容器。
9.如权利要求6或7所述的方法,其特征在于,所述管理设备向流量分发控制器发送第一指示信息之后,还包括:
所述管理设备向所述流量分发控制器发送第四指示信息;所述第四指示信息用于指示所述主机设备重启所述第一应用容器中的所述应用进程。
10.一种应用容器异常处理方法,其特征在于,包括:
流量分发控制器接收来自管理设备的第一指示信息;所述第一指示信息是所述管理设备接收到来自主机设备的处理命令后发送的;所述处理命令是所述主机设备通过第一应用容器的守护进程,确定所述第一应用容器的应用进程运行异常后发送的;所述守护进程用于监控所述应用进程的运行状态并在所述应用进程运行异常后处于存活态从而保留所述第一应用容器,所述守护进程处于存活态是通过保持所述守护进程的执行状态不变或阻塞所述守护进程实现的;
所述流量分发控制器将所述第一应用容器确定为禁止分发流量的应用容器。
11.如权利要求10所述的方法,其特征在于,所述流量分发控制器将所述第一应用容器确定为禁止分发流量的应用容器之后,还包括:
若所述流量分发控制器接收到所述管理设备发送的第五指示信息,所述流量分发控制器将第二应用容器确定为允许分发流量的应用容器;所述第二应用容器为所述主机设备创建的应用容器;所述第二应用容器用于接替所述第一应用容器。
12.一种应用容器异常处理方法,其特征在于,包括:
主机设备通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后,向管理设备发送处理命令;所述第一应用容器为所述主机设备上运行的应用容器;所述守护进程用于监控所述应用进程的运行状态;
所述主机设备通过所述守护进程的存活态保留所述第一应用容器;
其中,所述主机设备通过所述守护进程的存活态保留所述第一应用容器,包括:
所述主机设备保持所述守护进程的执行状态不变或阻塞所述守护进程,从而保留所述第一应用容器;
所述管理设备接收来自所述主机设备的所述处理命令后,向流量分发控制器发送第一指示信息;
所述流量分发控制器接收来自所述管理设备发送的所述第一指示信息后,将所述第一应用容器确定为禁止分发流量的应用容器,从而停止向所述第一应用容器分发流量,使得所述第一应用容器停止服务。
13.一种应用容器异常处理装置,其特征在于,包括:
发送模块,用于通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后,向管理设备发送处理命令;所述第一应用容器为所述装置上运行的应用容器;所述守护进程用于监控所述应用进程的运行状态;所述处理命令用于指示所述管理设备向流量分发控制器发送第一指示信息;所述第一指示信息用于指示所述流量分发控制器停止向所述第一应用容器分发流量;
处理模块,用于通过所述守护进程的存活态保留所述第一应用容器,所述守护进程的存活态是通过保持所述守护进程的执行状态不变或阻塞所述守护进程实现的。
14.一种应用容器异常处理装置,其特征在于,包括:
接收模块,用于接收来自主机设备的处理命令;所述处理命令是所述主机设备通过第一应用容器中的守护进程,确定所述第一应用容器中的应用进程运行异常后发送的;所述守护进程用于监控所述应用进程的运行状态并在所述应用进程运行异常后处于存活态从而保留所述第一应用容器,所述守护进程处于存活态是通过保持所述守护进程的执行状态不变或阻塞所述守护进程实现的;
发送模块,用于向流量分发控制器发送第一指示信息;所述第一指示信息用于指示所述流量分发控制器停止向所述第一应用容器分发流量。
15.一种应用容器异常处理装置,其特征在于,包括:
接收模块,用于接收来自管理设备的第一指示信息;所述第一指示信息是所述管理设备接收到来自主机设备的处理命令后发送的;所述处理命令是所述主机设备通过第一应用容器的守护进程,确定所述第一应用容器的应用进程运行异常后发送的;所述守护进程用于监控所述应用进程的运行状态并在所述应用进程运行异常后处于存活态从而保留所述第一应用容器,所述守护进程处于存活态是通过保持所述守护进程的执行状态不变或阻塞所述守护进程实现的;
确定模块,用于将所述第一应用容器确定为禁止分发流量的应用容器。
16.一种计算机设备,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至5或6至9或10至11中任意一项所述的方法被执行。
17.一种存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至5或6至9或10至11中任意一项所述的方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010156801.2A CN111414229B (zh) | 2020-03-09 | 2020-03-09 | 一种应用容器异常处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010156801.2A CN111414229B (zh) | 2020-03-09 | 2020-03-09 | 一种应用容器异常处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414229A CN111414229A (zh) | 2020-07-14 |
CN111414229B true CN111414229B (zh) | 2023-08-18 |
Family
ID=71491001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010156801.2A Active CN111414229B (zh) | 2020-03-09 | 2020-03-09 | 一种应用容器异常处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111414229B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11997170B2 (en) * | 2021-07-21 | 2024-05-28 | VMware LLC | Automated migration of monolithic applications to container platforms |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650565A (zh) * | 2020-12-21 | 2021-04-13 | 中国银联股份有限公司 | 一种应用进程恢复方法及装置 |
CN112882793B (zh) * | 2021-02-19 | 2023-03-24 | 杭州谐云科技有限公司 | 一种容器资源共享的方法和系统 |
WO2023275984A1 (ja) * | 2021-06-29 | 2023-01-05 | 日本電信電話株式会社 | 仮想化システム復旧装置及び仮想化システム復旧方法 |
WO2023275985A1 (ja) * | 2021-06-29 | 2023-01-05 | 日本電信電話株式会社 | 仮想化システム障害分離装置及び仮想化システム障害分離方法 |
WO2023275983A1 (ja) * | 2021-06-29 | 2023-01-05 | 日本電信電話株式会社 | 仮想化システム障害分離装置及び仮想化システム障害分離方法 |
CN116132366A (zh) * | 2022-07-01 | 2023-05-16 | 马上消费金融股份有限公司 | 流量管理方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708643A (zh) * | 2016-11-14 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 异常信息处理方法及装置 |
CN107741876A (zh) * | 2017-10-27 | 2018-02-27 | 郑州云海信息技术有限公司 | 一种虚拟机进程监控系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170371693A1 (en) * | 2016-06-23 | 2017-12-28 | Vmware, Inc. | Managing containers and container hosts in a virtualized computer system |
US10310841B2 (en) * | 2016-09-16 | 2019-06-04 | Oracle International Corporation | System and method for handling lazy deserialization exceptions in an application server environment |
-
2020
- 2020-03-09 CN CN202010156801.2A patent/CN111414229B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708643A (zh) * | 2016-11-14 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 异常信息处理方法及装置 |
CN107741876A (zh) * | 2017-10-27 | 2018-02-27 | 郑州云海信息技术有限公司 | 一种虚拟机进程监控系统及方法 |
Non-Patent Citations (1)
Title |
---|
王伯天 ; 廖建新 ; 王纯 ; 朱晓民 ; .UNIX环境下两种进程守护机制的比较分析.计算机系统应用.2007,(10),全文. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11997170B2 (en) * | 2021-07-21 | 2024-05-28 | VMware LLC | Automated migration of monolithic applications to container platforms |
Also Published As
Publication number | Publication date |
---|---|
CN111414229A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111414229B (zh) | 一种应用容器异常处理方法及装置 | |
CN106156939B (zh) | 基于作业流的分布式调度系统及应用方法 | |
CN108717379B (zh) | 电子装置、分布式任务调度方法及存储介质 | |
US20180143854A1 (en) | Methods, systems and apparatus to perform a workflow in a software defined data center | |
US10331521B2 (en) | Method and apparatus for monitoring robot operating system | |
CN107168777B (zh) | 分布式系统中资源的调度方法以及装置 | |
CN113849264A (zh) | 用于编排终端设备上的基于容器的应用的方法 | |
CN110611707A (zh) | 一种任务调度的方法及装置 | |
CN109558260A (zh) | Kubernetes故障排除系统、方法、设备及介质 | |
CN113312161A (zh) | 一种应用调度方法、平台及存储介质 | |
CN109697112B (zh) | 分布式集约化一站式作业系统和实现方法 | |
CN110569115B (zh) | 多点部署的进程管理方法及进程的争夺方法 | |
JP2006252189A (ja) | アプリケーション運用管理システム及び方法 | |
US20090083747A1 (en) | Method for managing application programs by utilizing redundancy and load balance | |
CN113746676B (zh) | 基于容器集群的网卡管理方法、装置、设备、介质及产品 | |
CN105868957A (zh) | 一种持续集成方法及装置 | |
CN114816866A (zh) | 故障处理方法、装置、电子设备和存储介质 | |
CN113419921A (zh) | 一种任务监控方法、装置、设备以及存储介质 | |
CN113778527A (zh) | 用于控制流水线任务的状态的方法和装置 | |
CN105677515A (zh) | 一种数据库联机备份方法及系统 | |
CN112486502A (zh) | 分布式任务的部署方法、装置、计算机设备和存储介质 | |
CN110716876A (zh) | 自动化验证可编程逻辑代码的测试平台及测试方法 | |
CN113094053A (zh) | 产品的交付方法及装置、计算机存储介质 | |
CN110677497A (zh) | 一种网络介质分发方法及装置 | |
CN114356214B (zh) | 一种针对kubernetes系统提供本地存储卷的方法及系统 |
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 | ||
GR01 | Patent grant |