本发明专利技术实施例公开了一种集群节点故障处理方法、系统及介质。该方法包括:通过故障存储组件获取异常节点采用自定义资源CRD模式上报的故障节点信息;通过故障决策组件对故障存储组件中的故障节点信息进行监听,根据新增的故障节点信息判断是否触发为对应故障节点设置污点标签;通过故障决策组件根据判断结果调用故障处理组件发送故障处理消息给主节点中的Apiserver组件,故障处理消息用于指示Apiserver组件执行故障处理操作。本实施例可以快速的检测到集群中发生故障的节点并通过设置污点标签隔离该故障节点,从而保证了业务正常的运行。正常的运行。正常的运行。
【技术实现步骤摘要】
一种集群节点故障处理方法、系统及介质
[0001]本专利技术涉及计算机
,尤其涉及一种集群节点故障处理方法、系统及存储介质。
技术介绍
[0002]Kubernetes(简称K8s)是Google开源的用于管理容器化的系统,一般可以将web应用迁移到Kubernetes集群上。Kubernetes集群部署了多个节点和节点组件等。
[0003]现有技术中,对于Kubernetes集群的故障检测及处理方案更多的是依赖监控组件的监控,若监控到某一集群节点出现故障,通过手动的方式进行恢复,在恢复期间,主节点中的调度程序会将容器组件调度到当前发生故障的节点,从而影响业务的运行。
[0004]因此,如何在集群节点出现故障时,仍然可以保证业务正常运行成为亟待解决的问题,
技术实现思路
[0005]本专利技术提供了一种集群节点故障处理方法、系统及存储介质,以解决现有技术中,若某一集群节点出现故障,而Kubernetes仍然将工作负载调度到当前节点而影响业务的问题,实现快速的检测到节点的故障并隔离故障节点,从而保证业务正常的运行。
[0006]根据本专利技术的一方面,提供了一种集群节点故障处理方法,包括:
[0007]通过故障存储组件获取异常节点采用自定义资源CRD模式上报的故障节点信息;
[0008]通过故障决策组件对所述故障存储组件中的故障节点信息进行监听,根据新增的故障节点信息判断是否触发为对应故障节点设置污点标签;
[0009]通过故障决策组件根据判断结果调用故障处理组件发送故障处理消息给主节点中的Apiserver组件,所述故障处理消息用于指示Apiserver组件执行故障处理操作。
[0010]根据本专利技术的另一方面,提供了一种集群节点故障处理系统,包括:
[0011]普通节点,用于通过故障检测组件获取本节点的组件故障或硬件故障,根据检测结果生成故障节点信息,发送故障节点信息给执行上述的集群节点的故障处理方法的健康节点;
[0012]所述健康节点,用于上述的集群节点的故障处理方法的健康节点;
[0013]主节点,用于通过Apiserver组件获取所述健康节点发送的故障处理消息,根据所述故障处理消息确定具有污点标签的故障节点,通过Scheduler组件暂停将新的容器组Pod调度到具有污点标签的故障节点,或者,在暂停将新的容器组Pod调度到具有污点标签的故障节点的基础上,对具有污点标签的故障节点上的已有容器组Pod进行驱逐。
[0014]根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的一种集群节点故障处理方法。
[0015]本专利技术实施例的技术方案,可以快速的检测到集群中发生的故障节点并通过设置
污点标签隔离该故障节点,从而保证业务正常的运行。
[0016]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0017]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1a是现有技术提供的Kubernetes集群的各个节点结构示意图;
[0019]图1b是根据本专利技术实施例一提供的一种集群节点故障处理方法的流程图;
[0020]图2是根据本专利技术实施例二提供的又一种集群节点故障处理方法的流程图;
[0021]图3是根据本专利技术实施例三提供的另一种集群节点故障处理方法的流程图;
[0022]图4是根据本专利技术实施例四提供的一种集群节点故障处理系统的结构示意图。
具体实施方式
[0023]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0024]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0025]目前,对于Kubernetes集群,图1a展示了Kubernetes集群的各个节点,如图1a所示:其主节点可以是Master,用于负责整个集群的管理和控制;主节点可以包括Scheduler(调度程序)、Apiserver(用户接口服务)、Controller
‑
Manage(控制器管理)和Etcd(分布式KV存储产品)。
[0026]Kubernetes集群的从节点可以是Node。Node上运行着Master节点分配的容器组Pod,当一个Node宕机,其上的Pod会被自动转移到其他Node上,每一个Node节点都安装了Node组件,包括Kubelet(进程源码)、Calico(开源的网络和网络安全方案)、Containerd(管理容器的生命周期)和Docker(应用容器引擎)等,同时Pod还会共享Node节点的磁盘、Cpu(CentralProcessingUnit,中央处理器)和内存等硬件资源。
[0027]其中,Kubelet可以用于负责Pod的生命周期管理,它监视已分配给节点的Pod,同时与Master密切协作,维护和管理该Node上面的所有容器,以实现集群管理的基本功能。即,Node节点通过Kubelet与master组件交互,可以理解为Kubelet是Master在每个Node节点上面的agent(代理者)。本质上,它负责使Pod的运行状态与期望的状态一致。
[0028]由于组件可以安装在每个Kubernetes的Node节点上,如果某一组件运行状态异
常,而Kubernetes仍然将工作负载调度到当前节点的话会造成异常,影响业务;同样会影响业务的也包括Node节点上的硬件(内存、Cpu、磁盘)异常。
[0029]为解决上述问题,本专利技术提供一种集群节点故障处理方案,相比于现有技术,可以实现快速的检测到节点的故障并隔离故障节点,保证业务正常的运行。
[0030]实施例一
[0031]图1b为本专利技术实施例一提供了一种集群节点故障处理方法的流程图,本实施例可适用于集群节点出现故障进行处理的情况,该方法可以由一种集群节点故障处理系统来执行。如图1b所示,该方法包括:
[003本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种集群节点的故障处理方法,其特征在于,应用于集群中的健康节点,包括:通过故障存储组件获取异常节点采用自定义资源CRD模式上报的故障节点信息;通过故障决策组件对所述故障存储组件中的故障节点信息进行监听,根据新增的故障节点信息判断是否触发为对应故障节点设置污点标签;通过故障决策组件根据判断结果调用故障处理组件发送故障处理消息给主节点中的Api server组件,所述故障处理消息用于指示Api server组件执行故障处理操作。2.根据权利要求1所述的方法,其特征在于,所述根据新增的故障节点信息判断是否触发为对应故障节点设置污点标签,包括:在监听到新增的故障节点信息的情况下,通过故障决策组件根据所述新增的故障节点信息匹配设定的故障处理策略,根据匹配结果判断是否触发为对应故障节点设置污点标签,其中,故障处理策略包含故障场景与故障处理方式的关联关系。3.根据权利要求2所述的方法,其特征在于,所述设定的故障处理策略包括如下至少一项:在故障节点信息为Docker故障的情况下,故障场景为Docker组件故障触发的节点故障,故障处理方式包括为对应故障节点设置污点标签;在故障节点信息为Containerd故障且Calico故障的情况下,故障场景为Containerd组件与Calico组件同时故障触发的节点故障,故障处理方式包括为对应故障节点设置污点标签;在故障节点信息为Calico故障且Kubelet故障的情况下,故障场景为Calico组件与Kubelet组件同时故障触发的节点故障,故障处理方式包括为对应故障节点设置污点标签,且将对应故障节点上的容器组Pod驱逐到健康节点;在故障节点信息为Kubelet故障的情况下,故障场景为Kubelet组件故障触发的节点故障,故障处理方式包括为对应故障节点设置污点标签;在故障节点信息为硬件故障的情况下,故障场景为硬件故障触发的节点故障,故障处理方式包括重启故障节点并不为对应故障节点设置污点标签。4.根据权利要求3所述的方法,其特征在于,所述通过故障决策组件根据所述新增的故障节点信息匹配设定的故障处理策略,根据匹配结果判断是否触发为对应故障节点设置污点标签,包括:通过故障决策组件根据所述新增的故障节点信息匹配设定的故障处理策略得到故障场景;通过故障决策组件根据所述故障场景对应的故障处理方式,判断是否触发为对应故障节点设置污点标...
【专利技术属性】
技术研发人员:汪劲松,张亚祥,张铭,
申请(专利权)人:上海浦东发展银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。