删除容器的方法和相关设备技术

技术编号:18289274 阅读:33 留言:0更新日期:2018-06-24 03:53
本发明专利技术实施例提供一种删除容器的方法和主机。在该方法中,容器引擎确定待删除容器时,将容器状态库中的该待删除容器的状态信息修改为待删除状态;请求处理装置在检测到这一状态后,会将待删除容器的路由信息置为无效,从而后续的业务请求无法再路由到该待删除容器上。在所述待删除容器上所运行的所有业务请求都已完成时,再将该待删除容器删除。避免了容器强行退出而导致该容器正在运行的业务请求都被中断。

【技术实现步骤摘要】
删除容器的方法和相关设备
本专利技术涉及信息
,特别涉及一种删除容器的方法和相关设备。
技术介绍
容器作为一种新兴的虚拟化方式,跟传统的虚拟化方式相比具有众多的优势,其中一个特性是轻量级,可以实现更快速的启动和停止。容器的退出时间通常是秒级的,从而可大量地节约业务低谷时系统的资源。虽然容器可以做到秒级退出,但容器中的应用服务却无法做到秒级退出。因为,容器退出时,容器中运行的应用服务还未处理完毕,该应用服务会随着容器的退出而被强行中断。
技术实现思路
本专利技术实施例提供一种删除容器的方法和相关设备,对于待删除的容器不再发送业务请求,并且在容器中已运行的业务请求全部完成时再将该容器删除,避免了容器的强制退出而导致业务中断的问题。第一方面,本专利技术实施例提供了一种主机。所述主机包括主机操作系统、请求处理装置、容器状态库以及至少一个容器,所述主机操作系统包括容器引擎,所述至少一个容器运行在所述容器引擎之上,且所述至少一个容器包括第一容器,所述容器状态库中记录了所述至少一个容器的状态,所述状态包括待删除状态、可删除状态。其中,所述请求处理装置,用于在检测到所述容器状态库中记录的所述第一容器的状态变更为待删除状态时,将路由表中所述第一容器的路由信息置为无效。所述容器引擎,用于确定所述第一容器为待删除容器,向所述容器状态库发送第一状态更改指令,所述第一状态更改指令用于指示所述容器状态库将所述第一容器的状态更改为待删除状态,且,在检测到所述容器状态库中记录的所述第一容器的状态变更为可删除状态时,向所述第一容器发送删除容器命令。所述第一容器,用于监控所述第一容器上运行的所有业务请求的处理进展,确定所述所有业务请求已完成时,向所述容器状态库发送第二状态更改指令,所述第二状态更改指令用于指示所述容器状态库将所述第一容器的状态更改为可删除状态。可以理解的是,当第一容器接收到所述删除容器命令之后,释放占用的资源。在本实施例中,当要缩减容器时,首先是通过更新待删除容器的状态,指示请求处理装置不再发送新的业务请求。并且,在确定待删除容器中已经运行的业务请求均已处理完之后再将待删除容器删除,避免了容器强行退出而导致该容器正在运行的业务请求都被中断。可选地,所述第一容器每次接收到业务请求时,创建所述业务请求的处理日志,根据所述业务请求处理的当前进展更新所述处理日志,所述处理日志包括所述业务请求的流水号以及所述业务请求的处理进展。所述第一容器通过所述处理日志监控所述第一容器上运行的所有业务请求的处理进展。通过处理日志的方式将业务请求的处理过程记录下来,以此可以有效方便地判断容器中的业务请求的处理进展。可选地,所述请求处理装置将路由表中所述第一容器的路由信息置为无效为:删除所述路由表中所述第一容器的标识与所述第一容器所运行的应用服务的标识之间的对应关系。其中,所述路由表中记录所述至少一个容器的标识以及所述容器上运行的应用服务的标识之间的对应关系。这样,当后续有业务请求需要访问所述第一容器上曾经运行的应用服务时,根据路由表,该业务请求不会再被路由到所述第一容器中。根据路由表,该业务请求可能被路由到运行了同样应用服务的其他容器中。可选地,所述容器状态库用于根据接收到的第一状态更改指令以及第二状态更改指令更改所述第一容器的状态。正是由于容器状态库及时地更新了每个容器的状态,为所述请求处理装置及时阻断外界的业务请求提供了可靠的依据,也为所述容器引擎删除待删除容器提供了依据。第二方面,本专利技术实施例还提供了一种删除容器的方法。该方法应用于主机上,所述主机包括主机操作系统、请求处理装置、容器状态库以及至少一个容器,所述主机操作系统包括容器引擎,所述至少一个容器运行在所述容器引擎之上,且所述至少一个容器包括第一容器,所述容器状态库中记录了所述至少一个容器的状态,所述状态包括待删除状态、可删除状态。所述方法包括:所述容器引擎确定所述第一容器为待删除容器,向所述容器状态库发送第一状态更改指令,所述第一状态更改指令用于指示所述容器状态库将所述第一容器的状态更改为待删除状态。当所述请求处理装置检测到所述容器状态库中记录的所述第一容器的状态变更为待删除状态时,将路由表中所述第一容器的路由信息置为无效。所述第一容器监控所述第一容器上运行的所有业务请求的处理进展,当所述所有业务请求已完成时,向所述容器状态库发送第二状态更改指令,所述第二状态更改指令用于指示所述容器状态库将所述第一容器的状态更改为可删除状态。当所述容器引擎检测到所述容器状态库中记录的所述第一容器的状态变更为可删除状态时,向所述第一容器发送删除容器命令。可选地,所述第一容器每次接收到业务请求时,创建所述业务请求的处理日志,根据所述业务请求处理的当前进展更新所述处理日志,所述处理日志包括所述业务请求的流水号以及所述业务请求的处理进展。所述第一容器通过所述处理日志监控所述第一容器上运行的所有业务请求的处理进展。可选地,所述将路由表中所述第一容器的路由信息置为无效为:删除所述路由表中所述第一容器的标识与所述第一容器所运行的应用服务的标识之间的对应关系。其中,所述路由表中记录所述至少一个容器的标识以及所述容器上运行的应用服务的标识之间的对应关系。可选地,所述容器状态库根据接收到的第一状态更改指令以及第二状态更改指令更改所述第一容器的状态。可选地,在将路由表中所述第一容器的路由信息置为无效之前,所述方法还包括:所述请求处理装置接收业务请求,所述业务请求中包括应用服务的标识,根据所述路由表确定将所述业务请求发送至所述第一容器。其中,路由表中记录所述至少一个容器的标识以及所述容器上运行的应用服务的标识之间的对应关系。第三方面,本专利技术实施例还提供了一种删除容器的方法,所述方法由主机执行。其中,所述主机包括主机操作系统以及至少一个容器,所述主机操作系统包括容器引擎,所述至少一个容器运行在所述容器引擎之上,且所述至少一个容器包括第一容器。所述方法包括:确定所述第一容器为待删除容器时,所述主机将路由表中所述第一容器的路由信息置为无效;确定所述第一容器上的运行的业务请求已完成时,将所述第一容器删除。第四方面,本专利技术实施例还提供了一种主机。所述包括处理器和存储器,其特征在于,所述存储器存储有程序指令以及容器状态库、路由表,当处理器执行存储器中的程序指令时,实现上述第二方面和第三方面的方法。第五方面,本专利技术实施例还提供了一种存储介质。所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行上述第二方面或第二方面的方法。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的主机的结构示意图;图2是根据本专利技术实施例的删除容器方法流程示意图;图3根据本专利技术实施例的主机的又一装置结构示意图。具体实施方式图1为本专利技术实施例的主机的装置结构示意图,如图1所示,主机100包括硬件10、主机操作系统20、路由表201、请求处理装置203、容器状态库202、至少一个容器,所述至少一个容器包括第一容器。本实施本文档来自技高网...
删除容器的方法和相关设备

【技术保护点】
1.一种主机,其特征在于,所述主机包括主机操作系统、请求处理装置、容器状态库以及至少一个容器,所述主机操作系统包括容器引擎,所述至少一个容器运行在所述容器引擎之上,且所述至少一个容器包括第一容器,所述容器状态库中记录了所述至少一个容器的状态,所述状态包括待删除状态、可删除状态,其中,所述请求处理装置,用于在检测到所述容器状态库中记录的所述第一容器的状态变更为待删除状态时,将路由表中所述第一容器的路由信息置为无效;所述容器引擎,用于确定所述第一容器为待删除容器,向所述容器状态库发送第一状态更改指令,所述第一状态更改指令用于指示所述容器状态库将所述第一容器的状态更改为待删除状态,且,在检测到所述容器状态库中记录的所述第一容器的状态变更为可删除状态时,向所述第一容器发送删除容器命令;所述第一容器,用于监控所述第一容器上运行的所有业务请求的处理进展,确定所述所有业务请求已完成时,向所述容器状态库发送第二状态更改指令,所述第二状态更改指令用于指示所述容器状态库将所述第一容器的状态更改为可删除状态。

【技术特征摘要】
1.一种主机,其特征在于,所述主机包括主机操作系统、请求处理装置、容器状态库以及至少一个容器,所述主机操作系统包括容器引擎,所述至少一个容器运行在所述容器引擎之上,且所述至少一个容器包括第一容器,所述容器状态库中记录了所述至少一个容器的状态,所述状态包括待删除状态、可删除状态,其中,所述请求处理装置,用于在检测到所述容器状态库中记录的所述第一容器的状态变更为待删除状态时,将路由表中所述第一容器的路由信息置为无效;所述容器引擎,用于确定所述第一容器为待删除容器,向所述容器状态库发送第一状态更改指令,所述第一状态更改指令用于指示所述容器状态库将所述第一容器的状态更改为待删除状态,且,在检测到所述容器状态库中记录的所述第一容器的状态变更为可删除状态时,向所述第一容器发送删除容器命令;所述第一容器,用于监控所述第一容器上运行的所有业务请求的处理进展,确定所述所有业务请求已完成时,向所述容器状态库发送第二状态更改指令,所述第二状态更改指令用于指示所述容器状态库将所述第一容器的状态更改为可删除状态。2.如权利要求1所述的主机,其特征在于,所述第一容器每次接收到业务请求时,创建所述业务请求的处理日志,根据所述业务请求处理的当前进展更新所述处理日志,所述处理日志包括所述业务请求的流水号以及所述业务请求的处理进展;所述第一容器通过所述处理日志监控所述第一容器上运行的所有业务请求的处理进展。3.如权利要求1-2任一项所述的主机,其特征在于,所述路由表中记录所述至少一个容器的标识以及所述容器上运行的应用服务的标识之间的对应关系,所述请求处理装置将路由表中所述第一容器的路由信息置为无效为:删除所述路由表中所述第一容器的标识与所述第一容器所运行的应用服务的标识之间的对应关系。4.如权利要求1-2任一项所述的主机,其特征在于,所述容器状态库用于根据接收到的第一状态更改指令以及第二状态更改指令更改所述第一容器的状态。5.一种删除容器的方法,其特征在于,所述方法应用于主机,所述主机包括主机操作系统、请求处理装置、容器状态库以及至少一个容器,所述主机操作系统包括容器引擎,所述至少一个容器运行在所述容器引擎之上,且所述至少一个容器包括第一容器,所述容器状态库中记录了所述至少一个容器的状态,所述状态包括待删除状态、可删除状态,所述方法包括:所述容器引擎确定所述第一容器为待...

【专利技术属性】
技术研发人员:刘洪宇
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1