CN116016123A - 故障处理方法、装置、设备及介质 - Google Patents
故障处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116016123A CN116016123A CN202211585556.2A CN202211585556A CN116016123A CN 116016123 A CN116016123 A CN 116016123A CN 202211585556 A CN202211585556 A CN 202211585556A CN 116016123 A CN116016123 A CN 116016123A
- Authority
- CN
- China
- Prior art keywords
- fault
- node
- repair
- information
- fault detection
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 10
- 230000008439 repair process Effects 0.000 claims abstract description 151
- 238000001514 detection method Methods 0.000 claims abstract description 73
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 4
- 239000000306 component Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种故障处理方法、装置、设备及介质,涉及云硬盘技术领域。所述方法包括:为目标节点加载配置,配置信息包括故障检测规则和故障检测程序;基于故障检测规则执行故障检测程序,获取目标节点中的故障节点的故障信息;根据故障信息确定对应的修复策略,执行修复策略以进行故障处理。本公开提供的故障处理方法、装置、设备及介质,支持自定义节点故障,提升节点自动修复能力及修复效率,及时修复故障节点。
Description
背景技术
K8s集群的节点出现故障时,K8s集群并没有对故障节点进行故障上报、修复的能力,只有当节点完全无准备的情况下,才回重新调度节点上部署的服务。即K8s集群提供的修复能力,仅能针对节点上的服务的一种修复,无法对节点上其他的组件发生故障时提供修复。
在相关技术中,在节点出现故障的时候,无法进行故障自动上报或自动处理,而是需要运维人员介入,以对节点上部署的服务进行维护,并解决节点出现的故障。然而,上述节点故障处理的方式,存在故障修复效率低下,实用性差的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种故障处理方法、装置、设备及介质,至少在一定程度上克服相关技术中节点故障检测的检测手段有限、修复能力差、修复效率低下的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种故障处理方法,包括:为目标节点加载配置,配置信息包括故障检测规则和故障检测程序;基于所述故障检测规则执行所述故障检测程序,获取所述目标节点中的故障节点的故障信息;根据所述故障信息确定对应的修复策略,执行所述修复策略以进行故障处理。
在本公开的一个实施例中,所述为目标节点加载配置,包括:在集群内部创建可动态调整的故障检测规则和故障检测程序;基于标签标识,筛选集群内部的目标节点,为所述目标节点加载所述可动态调整的故障检测规则和故障检测程序。
在本公开的一个实施例中,所述故障检测规则包括故障类型、故障检测程序的执行周期、超时时长阈值、运行参数阈值。
在本公开的一个实施例中,所述基于所述故障检测规则执行所述故障检测程序,获取所述目标节点中的故障节点的故障信息,包括:在一个执行周期内,若所述目标节点的运行参数满足预设条件,和/或,若所述故障检测程序执行时长大于或等于预设超时时长阈值,则判定所述目标节点为故障节点;基于所述故障故障检测程序的类型,生成所述故障节点的故障信息,故障信息包括故障节点标识、故障标识、故障名称、修复次数。
在本公开的一个实施例中,所述根据所述故障信息确定对应的修复策略,执行所述修复策略以进行故障处理,包括:基于预设故障修复对应关系,查找与所述故障信息匹配的修复策略,其中,所述故障修复对应关系用于表征故障信息与修复策略之间的对应关系;执行查找得到的所述修复策略。
在本公开的一个实施例中,所述修复策略配置于本地的全局配置GlobalConfig中,所述修复策略的配置信息包括修复策略标识、修复路径、修复次数、修复超时时长阈值。
在本公开的一个实施例中,所述方法还包括:获取所述故障节点的修复结果;当根据所述修复结果确定故障节点修复失败且所述故障节点在当前执行周期发生故障、上一执行周期未发生故障时,或者当所述故障节点为原有故障节点且根据所述修复结果确定故障修复成功时,将所述故障节点的故障信息上报至API Server。
在本公开的一个实施例中,所述方法还包括:若基于所述故障修复对应关系,无法查找到与所述故障信息匹配的修复策略,则将所述故障节点的故障信息上报至应用程序编程接口网关API Server;API Server将所述故障信息写入所述故障节点的NPD Condition中,以供查阅所述故障节点的故障信息。
根据本公开的另一个方面,提供一种故障处理装置,包括:配置模块,用于为目标节点加载配置,配置信息包括故障检测规则和故障检测程序;分析模块,用于基于所述故障检测规则执行所述故障检测程序,获取所述目标节点中的故障节点的故障信息;处理模块,用于根据所述故障信息确定对应的修复策略,执行所述修复策略以进行故障处理。
根据本公开的另一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的故障处理方法。
根据本公开的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的故障处理方法。
根据本公开的又一个方面,提供一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令由处理器加载并执行,以使计算机实现上述的故障处理方法。
本公开的实施例所提供的一种故障处理方法、装置、设备及介质,通过为K8集群内的目标节点配置故障检测规则和故障检测程序,支持节点故障的自定义;基于故障检测规则执行故障检测程序,获取目标节点中的故障节点的故障信息;根据故障信息确定对应的修复策略,执行修复策略以进行故障处理,增强节点修复能力,及时修复检测到的故障,节约人工处理的成本,提升了故障处理效率,实用性高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出相关技术中故障处理系统的整体架构图;
图2示出本公开实施例提供的故障处理系统的整体架构图;
图3示出本公开实施例提供的一种故障处理方法流程图;
图4示出本公开实施例提供的另一种故障处理方法流程图;
图5示出本公开实施例提供的又一种故障处理方法流程图;
图6示出本公开实施例提供的又一种故障处理方法流程图;
图7示出本公开实施例提供的故障处理装置示意图;
图8示出本公开实施例提供的电子设备的结构框图;
图9示出本公开实施例提供的计算机可读存储介质示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
K8s,Kubernetes,为云原生领域的标准的开源容器编排和调度平台。
Node,节点,为K8s集群管理计算机实体,分为Master节点和Worker节点,若干个节点组成一个集群。
Pod,是K8s调度的最小单元,一个服务由一个或多个Pod组成,一个Pod对应计算机上一个具体的计算任务。
NPD,Node Problem Dtector,节点问题检测器,是一个守护程序,用于监视和报告节点的健康状况(包括内核死锁、OOM、系统线程数压力、系统文件描述符压力等指标)。NPD可以以DaemonSet或独立守护程序运行。NPD从各种守护程序收集节点问题,并以NodeCondition和Event的形式报告指API Server。可以通过检测相应的指标,提前预知节点的资源压力,可以在节点驱逐Pod之前释放或扩容节点资源压力,防止K8s进行资源回收或节点不可用带来的损失。
图1示出相关技术中故障处理系统的整体架构图。如图1所示,相关技术中的故障处理系统架构包括NPDcore、多个Problem Daemon、Exporter、以及控制面(API Server、其他监控系统),在图1中,系统包括3个Problem Daemon,分别为Problem Daemon A~C。
其中,Problem Daemon是监控任务子守护进程,为NPD的核心组件,NPD为每一个Problem Daemon配置文件创建一个守护进程,配置文件通过--config.custom-plugin-monitor(用户自定义的Problem Daemon)、--config.system-log-monitor(系统日志监控)、--config.system-stats-monitor(系统状态监控)参数指定。每个Problem Daemon监控一个特定类型的节点故障,并报告给NPD Core。
Exporter用于上报节点健康信息到某种控制面,在图1中,Exporter包括K8sExporter、Local Exporter等,K8s Exporter用于将节点健康信息上报至API Server。除此之外,Exporter还可以包括Prometheus Exporter、Plugable Exporters、或者其他自定义的Exporter等。
相关技术中,在K8s集群中,仅关注集群自身及Pod的稳定运行,对于节点故障管理较弱,但是Pod的稳定运行强依赖节点的稳定性;NPD通过K8s Exporter支持节点状况和事件两种上报机制。节点状况通常是发生Permanent故障,例如KernelDeadlock故障,Pod将无法在此节点运行,只有重启才能恢复。事件通常为发生Temporary故障,例如OOMKiller,一旦Pod重启将很快恢复,对排查节点故障具有重要意义。
节点故障时,在一定程度上影响节点上运行的Pod,通常故障包括支撑节点相关服务的故障(例如Filebeat、Cadvisor等)、硬件故障(例如CPU、内存、磁盘、Swap、内核问题等)、以及容器运行问题(例如Docker问题、容器网络问题等)。然而NPD本身是一个独立的agent,缺乏将故障存储的能力,故障无法可视化,故障发生后难以排查,无法进行故障自动处理,需要运维人员介入,进行故障修复,存在故障修复效率低、适用性差的问题,此外,检测故障的手段优先,缺乏必要的修复能力。故亟需设计一套能够故障自动上报、故障自动修复、保存故障信息的方案。
基于此,本公开提供了一种故障处理方法、故障处理装置,图2示出了可以应用本公开实施例的故障处理方法、或故障处理装置的示例性系统架构。
如图2所示,系统架构可以包括NPD、Problem Daemon、API Server和Exporters,其中,Problem Daemon包括系统状态监控(System Stats Monitor)、系统日志监控(SystemLog Monitor)和客户自定义监控(Custom Plugin Monitor)。客户自定义监控用于进行全局部署、配置规则以及故障信息(condition)上报规则,用户自定义的规则包括标识模式(脚本)(Plogin(shell))和救援模式(脚本)(Rescue(shell)),标识模式用于标识节点并根据节点标识筛选待监测节点故障的目标节点,以对目标节点加载部署;救援模式用于配置修复成功条件,并根据修复结果。根据故障修复结果,确认是否将故障信息上报至APIServer,API Server将故障信息(condition)写入节点的NPD Condition。
本公开实施例提供的技术方案,通过为K8集群内的目标节点配置故障检测规则和故障检测程序,支持节点故障的自定义;基于故障检测规则执行故障检测程序,获取目标节点中的故障节点的故障信息;根据故障信息确定对应的修复策略,执行修复策略以进行故障处理,增强节点修复能力,及时修复检测到的故障,节约人工处理的成本,提升了故障处理效率,实用性高。
需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
下面结合附图及实施例对本示例实施方式进行详细说明。
首先,本公开实施例中提供了一种故障处理方法,该方法可以由任意具备计算处理能力的电子设备执行。
图3示出本公开实施例中一种故障处理方法流程图,如图3所示,本公开实施例中提供的故障处理方法,包括如下步骤:
S302、为目标节点加载配置,配置信息包括故障检测规则和故障检测程序。
上述S302中的目标节点包括K8s集群中的单个节点、节点组、特定区域中的节点等。
需要说明的是,故障检测规则包括故障类型、故障检测程序的执行周期、超时时长阈值、运行参数阈值中的一个或多个。其中,故障类型用于区分不同的节点故障,故障类型包括但不限于容器服务故障PodHealthProblem、容器节点代理故障KubeletProblem、容器组服务故障DockerProblem、网络故障BGPProblem、节点检测服务故障NPDHeartProblem(即NPD自身故障)、残留LVM盘故障RemoveLvmProblem、磁盘故障ExportDiskProblem、节点监控故障CadvisorProblem、CPU故障CPULoadProblem、日志采集故障FilebeatProblem等,根据故障类型确定该类型下对应的运行参数阈值。
故障检测程序的执行周期预先配置,可以根据实际情况而定,例如30s、60s等,不做具体限定。
超时时长阈值预先配置,可以根据实际情况而定,例如超时时长阈值为5s、10s等;超时时长阈值也可以根据故障检测程序的执行周期设定,不做具体限定。
与故障类型对应的,故障检测程序可以包括用于检测节点PodHealthProblem故障的PodHealth检测程序、用于检测节点KubeletProblem故障的Kubelet检测程序、用于检测节点DockerProblem故障的Docker检测程序、用于检测节点BGPProblem故障的BGP检测程序、用于检测节点NPDHeartProblem故障的NPDHeart检测程序、用于检测节点RemoveLvmProblem故障的RemoveLvm检测程序、用于检测节点ExportDiskProblem故障的ExportDidk检测程序、用于检测节点CadvisorProblem故障的Cadvisor检测程序、用于检测节点CPULoadProblem故障的CPULoad检测程序、用于检测节点FilebeatProblem故障的Filebeat检测程序等。
上述的故障检测程序可以以脚本形式运行,故障检测程序用于对目标节点进行故障检测,以实现对K8s集群内特定节点的故障检测,其他区域中的节点或称非目标节点不加载该配置,从而时限大数据区域节点单独检测策略,提升故障检测的灵活性。
在一个实施例中,通过Config Map在K8s集群内部为目标节点创建故障检测规则和故障检测程序,通过客户端Client连接API Server,将获取ConfigMap本地化,存储为json file。NPD Custom Plugin Monitor加载json file,将json file转化为故障检测规则GlobalConfig和故障检测程序Plugin(shell)。
S304、基于故障检测规则执行故障检测程序,获取目标节点中的故障节点的故障信息。
故障节点为不满足预设条件的目标节点,预设条件根据故障类型和/或故障检测程序执行情况确定,不同的故障类型可以设置不同的预设条件。
基于故障检测规则可以同时执行多个故障检测程序,也可以分别执行故障检测程序。
需要说明的是,故障节点的故障信息包括但不限于故障节点标识、故障标识、故障名称、修复次数等。故障名称用于定义故障,便于用户快速识别。修复次数用于记录该故障节点出现故障标识对应的故障的次数。故障节点标识用于记录发生故障的目标节点,故障标识用于区分不同故障类型,故障节点标识和故障标识可以采用文字、数字、字符等形式标识,本公开不做限定。
S306、根据故障信息确定对应的修复策略,执行修复策略以进行故障处理。
在一个实施例中,通过预设故障信息与修复策略之间的对应关系,在获得故障节点的故障信息后,根据故障信息与修复策略之间的对应关系,即可确定故障节点的修复策略,修复策略包括修复路径,修复路径预先配置于GlobalConfig中,进而进行故障修复。
故障节点进行修复后,还可以将故障节点的故障信息上报至API Server,以实现故障数据的存储和可视化,便于日后排除故障。
本公开实施例提供的故障修复方法,通过为K8集群内的目标节点配置故障检测规则和故障检测程序,支持节点故障的自定义;基于故障检测规则执行故障检测程序,获取目标节点中的故障节点的故障信息;根据故障信息确定对应的修复策略,执行修复策略以进行故障处理,增强节点修复能力,及时修复检测到的故障,节约人工处理的成本,提升了故障处理效率,实用性高。
图4示出本公开实施例提供的另一种故障处理方法流程图。在图3实施例的基础上,将步骤S302进一步细化为S3022~S3024,以实现筛选目标节点并为目标节点加载可动态调整的故障检测规则和故障检测程序。如图4所示,本公开实施例提供的故障处理方法包括S3022~S3024、以及S304~S306。具体的,该方法包括:
S3022、在集群内部创建可动态调整的故障检测规则和故障检测程序。
S3024、基于标签标识,筛选集群内部的目标节点,为目标节点加载可动态调整的故障检测规则和故障检测程序。
需要说明的是,上述的S304~S306与前述实施例中S304~S306的实现方式相同,此处不再赘述。
在一个实施例中,在集群K8s内部创建可动态调整的故障检测规则和故障检测程序的ConfigMap,ConfigeMap的标签labels标识K8s集群内的各个节点,基于节点标签可以从中筛选待检测的节点,作为目标节点。
需要说明的是,通过标签标识节点时,可以针对单个节点标识,也可以将若干个节点作为一个节点组统一采用一个标签进行标识,还可以将一个区域内的若干个节点采用一个标签进行标识,从而筛选特定目标作为目标节点。
示例的,通过为大数据区域节点打标npd.monitor/scope=bdpflink,实现针对大数据节点的特殊清理配置,通过ConfigMap中labels里面标签筛选大数据区域的节点加载该配置。
用于对节点进行标识的标签可以采用文字、数字、字符等方式进行表示,也可以采用文字、数字、字符等方式对单个节点、节点组、区域内的节点加以区分,通过对目标节点加载该配置,K8s集群内部的其他节点不加载上述配置,从而实现大数据区域节点单独检测,动态调整配置参数,便于故障检测程序的管理和升级,降低维护成本,降低出错概率。
图5示出本公开实施例提供的又一种故障处理方法流程图。在图3实施例的基础上,将步骤S304进一步细化为S3042~S3044,以基于故障检测规则确定故障节点,并根据故障类型生成故障节点的故障信息。如图5所示,本实施例提供的故障处理方法包括步骤S302、S3042~S3044、以及S306。具体地,该方法包括:
S3042、在一个执行周期内,若目标节点的运行参数满足预设条件,和/或,若故障检测程序执行时长大于或等于预设超时时长阈值,则判定目标节点为故障节点;
S3044、基于故障检测程序对应的故障类型,生成故障节点的故障信息,故障信息包括故障节点标识、故障标识、故障名称、修复次数。
需要说明的是,上述的S302、S306的实现方式与前述实施例的实现方式相同,此处不再赘述。
目标节点的运行参数可以根据故障类型确定,示例性的,若故障检测程序为磁盘故障检测程序,则目标节点的运行参数可以包括磁盘使用率。
在一个实施例中,客户自定义监控CustomPluginMonitore根据GlobalConfig配置的故障检测规则,以执行周期定期执行故障检测程序,若故障检测程序执行时长超过预设超时时长阈值,则判定目标节点为故障节点。预设超时时长阈值、执行周期可以根据实际情况而定,例如,执行周期为60s,预设超时时长阈值为10s。
在一个实施例中,CustomPluginMonitore根据GlobalConfig配置的故障检测规则,以执行周期定期执行故障检测程序,若检测到目标节点的运行参数满足预设条件,则判定目标节点为故障节点。预设条件可以根据实际情况而定,例如,对于磁盘故障检测程序,目标节点的运行参数可以为磁盘的使用率,预设条件可以为磁盘的使用率大于或等于预设使用率阈值,预设使用率阈值可以取80%等。
在一个实施例中,CustomPluginMonitore根据GlobalConfig配置的故障检测规则,以执行周期定期执行故障检测程序,若检测到故障检测程序执行时长超过预设超时时长阈值且目标节点的运行参数满足预设条件,则判定目标节点为故障节点。
需要说明的是,上述的故障检测程序的执行周期、预设超时时长阈值、预设条件(预设使用率阈值)仅是为说明本公开实施例而提供的示例,不应将其视为对本公开保护范围的限制。在实际实施过程中,可以根据具体情况选择上述量适合的取值,本公开不做具体限定。
本公开通过目标节点的运行参数、故障检测程序执行时长与对应的条件比较,进而确定目标节点中的故障节点,检测方式简单,提升检测效率。
在一个实施例中,上述的S306根据故障信息确定对应的修复策略,执行修复策略以进行故障处理,包括:基于预设故障修复对应关系,查找与故障信息匹配的修复策略,其中,故障修复对应关系用于表征故障信息与修复策略之间的对应关系;执行查找得到的修复策略。
预设故障修复对应关系可以包括故障修复对应关系表,故障修复对应关系表中包括多个故障标识与多个修复策略标识之间的对应关系,故障标识与修复策略标识一一对应。
在查找与故障信息匹配的修复策略之前,还需要构建故障修复对应关系,并将故障修复对应关系存储CustomPluginMonitor。
需要说明的是,修复策略配置于本地的全局配置GlobalConfig中,修复策略的配置信息包括但不限于修复策略标识、修复路径、修复次数、修复超时时长阈值等。修复策略标识用于区分不同的修复策略,一个修复策略标识对应一个修复路径,修复路径用于确定修复程序,以调用修复程序对故障节点进行修复,修复次数用于记录调用修复程序对故障节点进行修复的次数,修复超时时长阈值用于表征调用修复程序对故障节点进行修复的时长上限值。
本公开通过预先构建故障修复对应关系,通过查找故障修复对应关系,确定与故障信息对应的修复策略,从而快速确定修复策略,缩短故障修复时间,提升故障修复效率。
在一个实施例中,本公开实施例提供的故障处理方法还包括:若基于故障修复对应关系,无法查找到与故障信息匹配的修复策略,则将故障节点的故障信息上报至应用程序编程接口网关API Server;API Server将故障信息写入故障节点的NPD Condition中,以供查阅故障节点的故障信息。
故障修复对应关系中包含能够修复的故障对应的修复策略,若在故障修复对应关系中无法查找到与故障信息匹配的修复策略,则表明未将修复该故障的修复策略进行配置,无法自动修复。
CustomPluginMonitor将故障信息通过Exporters上报至API Server,API Server将故障信息写入故障节点的NPD Condition中,用户可以通过Describe node查看故障节点的NPD Condition中的故障信息。
Node Conditon是K8s集群的节点结构体自带的字段,用于存放K8s集群默认的节点状态,通过服用Node Condition字段,用于自定义故障检测程序检测的故障节点的故障状态的存放。
本公开实施例提供的故障处理方法,当无法查找到与故障信息匹配的修复策略时,表明故障节点无法修复,通过将故障信息上报至API Server,并保存至故障节点的NPDCondition中,实现故障信息可视化,便于用户查阅,及时处理无法自动修复的故障,保证系统运行。
图6示出本公开实施例提供的又一种故障处理方法。在图3实施例的基础上,在步骤S306之后,增加步骤S308~S310,以根据故障节点的修复结果确定是否将故障节点的状态上报。如图6所示,在一个实施例中,本公开实施例提供的故障处理方法包括S302~S310。具体地,该方法包括:
S308、获取故障节点的修复结果。
S310、当根据修复结果确定故障节点修复失败且故障节点在当前执行周期发生故障、上一执行周期未发生故障时,或者当故障节点为原有故障节点且根据修复结果确定故障修复成功时,将故障节点的故障信息上报至API Server。
当故障检测程序执行结束时,输出检测结果,检测结果包括但不限于故障类型、修复状态、故障发生时间、状态转变时间、备注等。修复状态用于表征故障节点是否被修复,可以采用Ture和False标识。
原有故障节点为上一执行周期和当前执行周期均被判定为故障节点的目标节点。
对故障节点进行修复,存在以下4中修复结果以及对应的上报方式(以磁盘故障检测程序为例进行说明):
1、故障节点上一执行周期无故障,当前执行周期存在故障,且修复成功,即磁盘使用率低于使用率阈值,此时,无需上报。
2、故障节点上一执行周期无故障,当前执行周期存在故障,且故障修复不成功,此时,更新故障节点的故障信息并上报。
3、故障节点为原有故障节点,若修复成功,更新故障状态转换时间,并上报。
4、故障节点为原有故障节点,若修复不成功,则无需上报。
示例性的,上报时通过Exporters将故障信息上报API Server。下面是修复磁盘的脚本,通过上报ExportDiskProblem故障信息。
本公开实施例提供的故障处理方法,通过获取故障节点的修复结果,根据修复结果和故障节点的故障发生情况,确定上报故障信息的情形,以区分无法自动修复的故障,提醒运维人员重点关注,提升故障修复效率。
基于同一发明构思,本公开实施例中还提供了一种故障处理装置,如下面的实施例所述。由于该装置实施例解决问题的原理与上述方法实施例相似,因此该装置实施例的实施可以参见上述方法实施例的实施,重复之处不再赘述。
图7示出本公开实施例的一种故障处理装置示意图。如图7所示,本公开实施例的故障处理装置,包括配置模块701、分析模块702和处理模块703。
其中,配置模块701,用于为目标节点加载配置,配置信息包括故障检测规则和故障检测程序;分析模块702,用于基于故障检测规则执行故障检测程序,获取目标节点中的故障节点的故障信息;处理模块703,用于根据故障信息确定对应的修复策略,执行修复策略以进行故障处理。
在一些实施例中,配置模块701,具体用于在集群内部创建可动态调整的故障检测规则和故障检测程序;基于标签标识,筛选集群内部的目标节点,为目标节点加载可动态调整的故障检测规则和故障检测程序。
需要说明的是,故障检测规则包括故障类型、故障检测程序的执行周期、超时时长阈值、运行参数阈值。
在一个实施例中,分析模块702具体用于在一个执行周期内,若目标节点的运行参数满足预设条件,和/或,若故障检测程序执行时长大于或等于预设超时时长阈值,则判定目标节点为故障节点;基于故障故障检测程序的类型,生成故障节点的故障信息,故障信息包括故障节点标识、故障标识、故障名称、修复次数。
在一个实施例中,处理模块703,用于基于预设故障修复对应关系,查找与故障信息匹配的修复策略,其中,故障修复对应关系用于表征故障信息与修复策略之间的对应关系;执行查找得到的修复策略。
需要说明的是,修复策略配置于本地的全局配置GlobalConfig中,修复策略的配置信息包括修复策略标识、修复路径、修复次数、修复超时时长阈值。
在一个实施例中,该装置还包括应用程序编程接口网关API Server,其中,处理模块703,还用于若基于故障修复对应关系,无法查找到与故障信息匹配的修复策略,则将故障节点的故障信息上报至应用程序编程接口网关API Server;API Server,用于将故障信息写入故障节点的NPD Condition中,以供查阅故障节点的故障信息。
在一个实施例中,该装置还包括未显示在附图中的获取模块,获取模块用于获取故障节点的修复结果;处理模块703还用于当根据修复结果确定故障节点修复失败且故障节点在当前执行周期发生故障、上一执行周期未发生故障时,或者当故障节点为原有故障节点且根据修复结果确定故障修复成功时,将故障节点的故障信息上报至API Server。
本公开实施例提供的故障处理装置,通过为K8集群内的目标节点配置故障检测规则和故障检测程序;基于故障检测规则执行故障检测程序,获取目标节点中的故障节点的故障信息;根据故障信息确定对应的修复策略,执行修复策略以进行故障处理,节约人工处理的成本,提升了故障处理效率,实用性高。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图8来描述根据本发明的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图3中所示的根据在采样周期内供方云硬盘的实时性能参数,确定供方云硬盘在采样周期内的冗余特征参数;在冗余特征参数满足预设冗余条件的情况下,根据冗余特征参数,生成供方云硬盘的售卖策略;获取性能需方的购买请求;在购买请求与售卖策略匹配的情况下,根据购买请求为性能需方提供云硬盘资源。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备840(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该系统交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,系统还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图8所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图8中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,如图9所示,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是可读信号介质或者可读存储介质。本公开实施例中提供的一种计算机可读存储介质,该计算机可读存储介质上存储有能够实现本公开上述方法的程序产品。在本公开的示例性实施例中,还提供了一种计算机程序产品,计算机程序产品包括计算机程序或计算机指令,计算机程序或计算机指令由处理器加载并执行,以使计算机实现上述实施例公开的方法的步骤。
本公开中的计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开中,计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可选地,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
在具体实施时,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (11)
1.一种故障处理方法,其特征在于,包括:
为目标节点加载配置,配置信息包括故障检测规则和故障检测程序;
基于所述故障检测规则执行所述故障检测程序,获取所述目标节点中的故障节点的故障信息;
根据所述故障信息确定对应的修复策略,执行所述修复策略以进行故障处理。
2.根据权利要求1所述的方法,其特征在于,所述为目标节点加载配置,包括:
在集群内部创建可动态调整的故障检测规则和故障检测程序;
基于标签标识,筛选集群内部的目标节点,为所述目标节点加载所述可动态调整的故障检测规则和故障检测程序。
3.根据权利要求1所述的方法,其特征在于,所述故障检测规则包括故障类型、故障检测程序的执行周期、超时时长阈值、运行参数阈值。
4.根据权利要求3所述的方法,其特征在于,所述基于所述故障检测规则执行所述故障检测程序,获取所述目标节点中的故障节点的故障信息,包括:
在一个执行周期内,若所述目标节点的运行参数满足预设条件,和/或,若所述故障检测程序执行时长大于或等于预设超时时长阈值,则判定所述目标节点为故障节点;
基于所述故障检测程序对应的故障类型,生成所述故障节点的故障信息,故障信息包括故障节点标识、故障标识、故障名称、修复次数。
5.根据权利要求1所述的方法,其特征在于,所述根据所述故障信息确定对应的修复策略,执行所述修复策略以进行故障处理,包括:
基于预设故障修复对应关系,查找与所述故障信息匹配的修复策略,其中,所述故障修复对应关系用于表征故障信息与修复策略之间的对应关系;
执行查找得到的所述修复策略。
6.根据权利要求5所述的方法,其特征在于,所述修复策略配置于本地的全局配置GlobalConfig中,所述修复策略的配置信息包括修复策略标识、修复路径、修复次数、修复超时时长阈值。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若基于所述故障修复对应关系,无法查找到与所述故障信息匹配的修复策略,则将所述故障节点的故障信息上报至应用程序编程接口网关API Server;
API Server将所述故障信息写入所述故障节点的NPD Condition中,以供查阅所述故障节点的故障信息。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述故障节点的修复结果;
当根据所述修复结果确定故障节点修复失败且所述故障节点在当前执行周期发生故障、上一执行周期未发生故障时,或者当所述故障节点为原有故障节点且根据所述修复结果确定故障修复成功时,将所述故障节点的故障信息上报至API Server。
9.一种故障处理装置,其特征在于,包括:
配置模块,用于为目标节点加载配置,配置信息包括故障检测规则和故障检测程序;
分析模块,用于基于所述故障检测规则执行所述故障检测程序,获取所述目标节点中的故障节点的故障信息;
处理模块,用于根据所述故障信息确定对应的修复策略,执行所述修复策略以进行故障处理。
10.一种电子设备,其特征在于,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行如权利要求1-8任一项所述的故障处理方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8任一项所述的故障处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211585556.2A CN116016123A (zh) | 2022-12-09 | 2022-12-09 | 故障处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211585556.2A CN116016123A (zh) | 2022-12-09 | 2022-12-09 | 故障处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116016123A true CN116016123A (zh) | 2023-04-25 |
Family
ID=86027739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211585556.2A Pending CN116016123A (zh) | 2022-12-09 | 2022-12-09 | 故障处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116016123A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116449809A (zh) * | 2023-06-16 | 2023-07-18 | 成都瀚辰光翼生物工程有限公司 | 一种故障处理方法、装置、电子设备及存储介质 |
CN116708135A (zh) * | 2023-08-08 | 2023-09-05 | 中国电信股份有限公司 | 网络业务故障监测方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211658A (ja) * | 2008-03-06 | 2009-09-17 | Nec Corp | 障害検知装置、障害検知方法及びそのプログラム |
CN110289977A (zh) * | 2018-03-19 | 2019-09-27 | 北京京东尚科信息技术有限公司 | 物流仓库系统的故障检测方法及系统、设备和存储介质 |
CN113422692A (zh) * | 2021-05-28 | 2021-09-21 | 作业帮教育科技(北京)有限公司 | 一种K8s集群内节点故障检测及处理方法、装置及存储介质 |
CN114942875A (zh) * | 2022-05-11 | 2022-08-26 | 浪潮云信息技术股份公司 | 容器云集群节点异常检测方法及系统 |
CN114969064A (zh) * | 2021-02-26 | 2022-08-30 | 华为技术有限公司 | 故障检测方法、装置、系统及存储介质 |
-
2022
- 2022-12-09 CN CN202211585556.2A patent/CN116016123A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211658A (ja) * | 2008-03-06 | 2009-09-17 | Nec Corp | 障害検知装置、障害検知方法及びそのプログラム |
CN110289977A (zh) * | 2018-03-19 | 2019-09-27 | 北京京东尚科信息技术有限公司 | 物流仓库系统的故障检测方法及系统、设备和存储介质 |
CN114969064A (zh) * | 2021-02-26 | 2022-08-30 | 华为技术有限公司 | 故障检测方法、装置、系统及存储介质 |
CN113422692A (zh) * | 2021-05-28 | 2021-09-21 | 作业帮教育科技(北京)有限公司 | 一种K8s集群内节点故障检测及处理方法、装置及存储介质 |
CN114942875A (zh) * | 2022-05-11 | 2022-08-26 | 浪潮云信息技术股份公司 | 容器云集群节点异常检测方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116449809A (zh) * | 2023-06-16 | 2023-07-18 | 成都瀚辰光翼生物工程有限公司 | 一种故障处理方法、装置、电子设备及存储介质 |
CN116449809B (zh) * | 2023-06-16 | 2023-09-05 | 成都瀚辰光翼生物工程有限公司 | 一种故障处理方法、装置、电子设备及存储介质 |
CN116708135A (zh) * | 2023-08-08 | 2023-09-05 | 中国电信股份有限公司 | 网络业务故障监测方法、装置、电子设备及存储介质 |
CN116708135B (zh) * | 2023-08-08 | 2023-11-07 | 中国电信股份有限公司 | 网络业务故障监测方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9652316B2 (en) | Preventing and servicing system errors with event pattern correlation | |
US9015006B2 (en) | Automated enablement of performance data collection | |
US9672137B1 (en) | Shadow test replay service | |
US9413597B2 (en) | Method and system for providing aggregated network alarms | |
CN116016123A (zh) | 故障处理方法、装置、设备及介质 | |
CN107807877B (zh) | 一种代码性能测试的方法和装置 | |
CN107660289B (zh) | 自动网络控制 | |
US20060112061A1 (en) | Rule based engines for diagnosing grid-based computing systems | |
CN110716842A (zh) | 集群故障检测方法和装置 | |
CN110851471A (zh) | 分布式日志数据处理方法、装置以及系统 | |
CN111309570A (zh) | 压力测试方法、介质、装置和计算设备 | |
CN115664939A (zh) | 一种基于自动化技术的综合运维方法、装置和存储介质 | |
CN114422386B (zh) | 一种微服务网关的监测方法及装置 | |
US20230239206A1 (en) | Topology Alarm Correlation | |
CN110912755A (zh) | 一种云环境下网卡故障监控与自动恢复的系统及方法 | |
CN114900430A (zh) | 容器网络优化方法、装置、计算机设备和存储介质 | |
Li et al. | Going through the life cycle of faults in clouds: Guidelines on fault handling | |
WO2013111317A1 (ja) | 情報処理方法、装置及びプログラム | |
CN110609761B (zh) | 确定故障源的方法、装置、存储介质和电子设备 | |
CN115102838B (zh) | 服务器宕机风险的应急处理方法和装置、电子设备 | |
CN113626288B (zh) | 故障处理方法、系统、装置、存储介质和电子设备 | |
US11036624B2 (en) | Self healing software utilizing regression test fingerprints | |
CN112579402A (zh) | 一种应用系统故障定位的方法和装置 | |
CN110289977B (zh) | 物流仓库系统的故障检测方法及系统、设备和存储介质 | |
Gunasekaran et al. | Correlating log messages for system diagnostics |
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 |