一种异常容器的处理方法及装置制造方法及图纸

技术编号:38016070 阅读:8 留言:0更新日期:2023-06-30 10:41
本申请实施例提供了一种异常容器的处理方法及装置,用以解决某一个模块或少数模块异常导致整个应用被判定为异常造成容器重启或者停止网络访问代价较高的问题。该方法包括:通过API server接口获取运行数据,所述运行数据为Kubernetes容器云集群中业务节点包括的多个容器内至少一个模块的日志文件数据和/或监控数据;当配置文件中的配置数据包括与所述运行数据匹配的目标配置数据时,确定所述运行数据对应的模块为异常模块,其中所述配置数据为各个模块异常时所对应的数据;根据所述配置文件中所述目标配置数据对应的处理策略对所述异常模块进行恢复处理。述异常模块进行恢复处理。述异常模块进行恢复处理。

【技术实现步骤摘要】
一种异常容器的处理方法及装置


[0001]本申请涉及云计算及容器云
,尤其涉及一种异常容器的处理方法及装置。

技术介绍

[0002]在Kubernetes中pod是最小的计算单元,而一个pod又由多个容器组成,相当于每个容器就是一个应用。容器在运行期间,可能因为某些意外情况致使应用程序无法正常提供服务。现有技术中通过探针机制监控容器是否正常。然而探针机制只能针对一个应用整体(容器)进行判断,一旦确定容器不正常,便重启容器或者停止网络访问。然而一个容器中可能会存在多个模块,当某一个模块或少数模块异常导致整个应用被判定为异常造成容器重启或者停止网络访问代价是比较高的。

技术实现思路

[0003]本申请实施例提供了一种异常容器的处理方法及装置,用以解决某一个模块或少数模块异常导致整个应用被判定为异常造成容器重启或者停止网络访问代价较高的问题。
[0004]第一方面,本申请实施例提供了一种异常容器的处理方法,包括:
[0005]通过API server接口获取运行数据,所述运行数据为Kubernetes容器云集群中业务节点包括的多个容器内至少一个模块的日志文件数据和/或监控数据;
[0006]当配置文件中的配置数据包括与所述运行数据匹配的目标配置数据时,确定所述运行数据对应的模块为异常模块,其中所述配置数据为各个模块异常时所对应的数据;
[0007]根据所述配置文件中所述目标配置数据对应的处理策略对所述异常模块进行恢复处理。
[0008]基于上述方案,通过事先定义配置文件,该配置文件中包括自定义的异常日志内容、异常监控数据指标以及不同异常的不同处理策略(重启、回调接口以及容器内执行指令),并将实时获取的监控数据与日志文件数据与配置文件进行匹配,以确定各模块是否异常。当确定异常后,执行配置文件中定义的处理策略,相比重启容器或停止网络访问这种代价较高的处理方式,本申请提出的异常处理方式造成的影响更小,且处理异常速度更快。
[0009]在一种可能的实现方式中,所述配置文件包括日志文件配置数据和监控数据配置数据,将所述配置文件中的配置数据与所述运行数据匹配,包括:
[0010]当所述运行数据为日志文件数据时,将所述日志文件数据与所述日志文件配置数据中相同类型的数据进行匹配,所述日志文件配置数据中的数据类型包括业务节点IP、容器名称、日志存放路径、pod标签、匹配规则中的部分或全部;或者,
[0011]当所述运行数据为监控数据时,将所述监控数据与所述监控数据配置数据中相同类型的数据进行匹配,所述监控数据配置数据中的数据类型包括业务节点IP、端口信息、监控数据接口请求地址、pod标签、匹配规则中的部分或全部。
[0012]基于上述方案,配置文件中包括日志文件异常时对应的配置数据以及监控数据异
常时对应的配置数据,使运行数据与配置数据进行匹配以确定运行数据对应的模块是否异常。
[0013]在一种可能的实现方式中,所述处理策略包括重启容器、回调接口和执行命令,根据所述配置文件中所述目标配置数据对应的处理策略对所述异常模块进行恢复处理,包括:
[0014]当所述目标配置数据对应的处理策略为重启容器时,对所述异常模块所在的容器进行重启操作;或者,
[0015]当所述目标配置数据对应的处理策略为回调接口时,根据所述处理策略中配置的端口信息和路径与请求参数回调所述异常模块对应的接口;或者,
[0016]当所述目标配置数据对应的处理策略为执行命令时,根据所述处理策略中配置的命令在所述异常模块所在的容器中执行所述命令。
[0017]基于上述方案,配置三种处理策略,相比于直接重启容器或停止网络访问这种一刀切的方式造成的影响更小,成本更低。
[0018]在一种可能的实现方式中,所述根据所述处理策略中配置的命令在所述异常模块所在的容器中执行所述命令,包括:
[0019]通过API server接口调用所述目标配置数据中的业务节点的代理组件;
[0020]通过所述代理组件调用所述配置数据中容器名称对应的docker接口以在所述异常模块所在的容器中执行所述命令。
[0021]在一种可能的实现方式中,通过API server接口获取运行数据,包括:
[0022]当确定所述配置数据对应的容器中的日志文件有更新时,通过所述API server接口从更新后的日志文件中获取所述日志文件数据;或者,
[0023]以设定时间间隔通过所述API server接口从所述配置数据对应的容器的监控数据接口获取所述监控数据。
[0024]在一种可能的实现方式中,从更新后的日志文件中获取所述日志文件数据,包括:
[0025]获取所述更新后的日志文件中目标位置之后的日志文件数据,并将所述目标位置更新为本次获取的所述日志文件数据中最后一个数据的位置,其中所述目标位置为上一次日志文件更新后获取的日志文件数据中的最后一个数据的位置。
[0026]在一种可能的实现方式中,在通过API server接口获取运行数据之前,所述方法还包括:
[0027]根据所述配置数据确定所述至少一个模块,以通过所述API server接口获取所述至少一个模块的运行数据。
[0028]第二方面,本申请实施例提供了一种异常容器的处理装置,包括:
[0029]获取模块,用于通过API server接口获取运行数据,所述运行数据为Kubernetes容器云集群中业务节点包括的多个容器内至少一个模块的日志文件数据和/或监控数据;
[0030]确定模块,用于当配置文件中的配置数据包括与所述运行数据匹配的目标配置数据时,确定所述运行数据对应的模块为异常模块,其中所述配置数据为各个模块异常时所对应的数据;
[0031]恢复模块,用于根据所述配置文件中所述目标配置数据对应的处理策略对所述异常模块进行恢复处理。
[0032]在一种可能的实现方式中,所述配置文件包括日志文件配置数据和监控数据配置数据,所述确定模块,在将所述配置文件中的配置数据与所述运行数据匹配时,具体用于:
[0033]当所述运行数据为日志文件数据时,将所述日志文件数据与所述日志文件配置数据中相同类型的数据进行匹配,所述日志文件配置数据中的数据类型包括业务节点IP、容器名称、日志存放路径、pod标签、匹配规则中的部分或全部;或者,
[0034]当所述运行数据为监控数据时,将所述监控数据与所述监控数据配置数据中相同类型的数据进行匹配,所述监控数据配置数据中的数据类型包括业务节点IP、端口信息、监控数据接口请求地址、pod标签、匹配规则中的部分或全部。
[0035]在一种可能的实现方式中,所述处理策略包括重启容器、回调接口和执行命令,所述恢复模块,在根据所述配置文件中所述目标配置数据对应的处理策略对所述异常模块进行恢复处理时,具体用于:
[0036]当所述目标配置数据对应的处理策略为重启容器时,对所述异常模块所在的容器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异常容器的处理方法,其特征在于,包括:通过API server接口获取运行数据,所述运行数据为Kubernetes容器云集群中业务节点包括的多个容器内至少一个模块的日志文件数据和/或监控数据;当配置文件中的配置数据包括与所述运行数据匹配的目标配置数据时,确定所述运行数据对应的模块为异常模块,其中所述配置数据为各个模块异常时所对应的数据;根据所述配置文件中所述目标配置数据对应的处理策略对所述异常模块进行恢复处理。2.如权利要求1所述的方法,其特征在于,所述配置文件包括日志文件配置数据和监控数据配置数据,将所述配置文件中的配置数据与所述运行数据匹配,包括:当所述运行数据为日志文件数据时,将所述日志文件数据与所述日志文件配置数据中相同类型的数据进行匹配,所述日志文件配置数据中的数据类型包括业务节点IP、容器名称、日志存放路径、pod标签、匹配规则中的部分或全部;或者,当所述运行数据为监控数据时,将所述监控数据与所述监控数据配置数据中相同类型的数据进行匹配,所述监控数据配置数据中的数据类型包括业务节点IP、端口信息、监控数据接口请求地址、pod标签、匹配规则中的部分或全部。3.如权利要求1所述的方法,其特征在于,所述处理策略包括重启容器、回调接口和执行命令,根据所述配置文件中所述目标配置数据对应的处理策略对所述异常模块进行恢复处理,包括:当所述目标配置数据对应的处理策略为重启容器时,对所述异常模块所在的容器进行重启操作;或者,当所述目标配置数据对应的处理策略为回调接口时,根据所述处理策略中配置的端口信息和路径与请求参数回调所述异常模块对应的接口;或者,当所述目标配置数据对应的处理策略为执行命令时,根据所述处理策略中配置的命令在所述异常模块所在的容器中执行所述命令。4.如权利要求3所述的方法,其特征在于,所述根据所述处理策略中配置的命令在所述异常模块所在的容器中执行所述命令,包括:通过API server接口调用所述目标配置数据中的业务节点的代理组件;通过所述代理组件调用所述配置数据中容器名称对应的docker接...

【专利技术属性】
技术研发人员:陈鑫高伟周明伟
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:

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

1