System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种故障恢复方法、装置、设备及可读存储介质制造方法及图纸_技高网

一种故障恢复方法、装置、设备及可读存储介质制造方法及图纸

技术编号:40498085 阅读:12 留言:0更新日期:2024-02-26 19:26
本申请在计算机应用技术领域,公开了一种故障恢复方法、装置、设备及可读存储介质,该方法包括:对工作节点进行状态监测;在监测到故障节点的情况下,获取故障节点的卷挂载信息;调用容器存储接口,基于卷挂载信息,卸载存储上故障节点使用卷的挂载点,并断开存储上的存储卷与故障节点的连接;删除与卷挂载信息对应持久卷的卷挂载资源和故障节点的pod资源;在正常运行的工作节点上重建故障节点中的pod。技术效果:先把控制节点和存储上关于pod的挂载和资源分配进行清理,从而避免在重建故障节点中的pod时,原pod的挂载与资源占用,导致重建pod无法实现挂载和资源分配。可有效提高pod的重建恢复成功率。

【技术实现步骤摘要】

本申请涉及计算机应用,特别是涉及一种故障恢复方法、装置、设备及可读存储介质


技术介绍

1、在k8s(kubernetes,一种开源的容器编排系统)集群中,k8s控制节点管理着多个工作节点组成集群,控制节点通过k8s控制网络和工作节点连通,对工作节点上的pod(k8s管理的最小单位级,一个或多个容器的组合)进行管理,在工作节点上能够创建和删除pod,控制应用的启动和删除。应用pod运行在工作节点上,通过存储网络连接到存储,使用存储上的卷作为持久卷。

2、当工作节点变得不可访问时,控制节点会将故障节点上的pod进行驱逐,并设置该pod为终止(terminating)状态。由于该pod不是因为任务执行完毕而删除,因而,控制节点观察到pod异常,会在不同的节点上创建新的pod实例,重新挂载持久卷。但是,在实际实施时,往往存在无法成功创建该pod。

3、综上所述,如何有效地解决故障后对pod的重建恢复等问题,是目前本领域技术人员急需解决的技术问题。


技术实现思路

1、本申请的目的是提供一种故障恢复方法、装置、设备及可读存储介质,能够成功重建pod,解决故障恢复问题。

2、为解决上述技术问题,本申请提供如下技术方案:

3、一种故障恢复方法,包括:

4、对工作节点进行状态监测;

5、在监测到故障节点的情况下,获取所述故障节点的卷挂载信息;

6、调用容器存储接口,基于所述卷挂载信息,卸载存储上所述故障节点使用卷的挂载点,并断开存储上的存储卷与所述故障节点的连接;

7、删除与所述卷挂载信息对应持久卷的卷挂载资源和所述故障节点的pod资源;

8、在正常运行的工作节点上重建所述故障节点中的pod。

9、优选地,还包括:

10、对所述工作节点中的pod进行监控,确定出待卸载的目标pod;

11、获取所述目标pod对应的目标卷挂载信息;

12、调用所述容器存储接口,并基于所述目标卷挂载信息,对所述目标pod进行卸载。

13、优选地,所述调用所述容器存储接口,并基于所述目标卷挂载信息,对所述目标pod进行卸载,包括:

14、利用所述目标卷挂载信息,确定所述目标pod在存储上使用卷的目标挂载点;

15、利用所述目标卷挂载信息,确定所述目标pod对应持久卷的卷挂载资源和目标pod资源;

16、调用所述容器存储接口,卸载存储上所述目标挂载点;

17、删除所述目标卷挂载资源和所述目标pod资源;

18、在完成所述目标pod卸载后,还包括:

19、若因所述目标pod中存在处于关机状态的容器,所述目标pod存在存储io错误或所述目标pod为待迁移pod而卸载所述目标pod,则从所述目标pod原所所在工作节点之外的其他工作节点中选出重建节点;

20、利用所述目标卷挂载信息,在所述重建节点上重建所述目标pod;

21、完成所述目标pod重建后,利用重建后的目标pod继续处理任务。

22、优选地,对所述工作节点中的pod进行监控,确定出待卸载的目标pod,包括:

23、若检测到pod中存在处于关机状态的容器,则将该pod确定为所述目标pod;

24、若检测到存储io错误,则将对应的pod确定为所述目标pod;

25、若所述工作节点的io延迟等级处于预设pod迁移等级,则从所述工作节点中选出待迁移pod,并将所述待迁移pod确定为所述目标pod。

26、优选地,从所述工作节点中选出待迁移pod,包括:

27、按照所述工作节点的io延迟等级与运行pod数量的映射关系,确定所述工作节点中保留pod数;

28、获取所述工作节点的pod总数;

29、计算所述pod总数与所述保留pod数的差值;

30、从所述工作节点中选出与数量为所述差值的待迁移pod。

31、优选地,确定所述工作节点的io延迟等级,包括:

32、定期调用所述容器存储接口获取指定时长对应的存储io延时;

33、利用所述存储io延时计算平均io延时;

34、在预设统计时长范围内,基于所述平均io延时计算每分钟的增长量和最大值;

35、利用所述增长量和所述最大值与存储io延迟阈值进行比对;

36、利用比对结果,确定所述io延迟等级。

37、优选地,还包括:

38、获取所述工作节点与存储网络的连接状态;

39、将所述连接状态为断开的工作节点确定为离线节点;

40、在所述离线节点与所述存储网络断开连接的情况下,调用所述容器存储接口,卸载所述离线节点中pod使用的持久卷挂载点;

41、卸载并删除卷的目标路径;

42、调用所述容器存储节点,卸载所述离线节点上持久卷挂载点。

43、一种故障恢复装置,包括:

44、状态检测单元,用于对工作节点进行状态监测;

45、挂载信息获取单元,用于在监测到故障节点的情况下,获取所述故障节点的卷挂载信息;

46、卸载单元,用于调用容器存储接口,基于所述卷挂载信息,卸载存储上所述故障节点使用卷的挂载点,并断开存储上的存储卷与所述故障节点的连接;删除与所述卷挂载信息对应持久卷的卷挂载资源和所述故障节点的pod资源;

47、重建单元,用于在正常运行的工作节点上重建所述故障节点中的pod。

48、一种电子设备,包括:

49、存储器,用于存储计算机程序;

50、处理器,用于执行所述计算机程序时实现上述故障恢复方法的步骤。

51、一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述故障恢复方法的步骤。

52、应用本申请实施例所提供的方法,对工作节点进行状态监测;在监测到故障节点的情况下,获取故障节点的卷挂载信息;调用容器存储接口,基于卷挂载信息,卸载存储上故障节点使用卷的挂载点,并断开存储上的存储卷与故障节点的连接;删除与卷挂载信息对应持久卷的卷挂载资源和故障节点的pod资源;在正常运行的工作节点上重建故障节点中的pod。

53、在重建故障节点的pod之前,首先获取该故障节点的卷挂载信息,然后,基于该卷挂载信息将卸载存储上故障节点使用卷的挂载点,并断开存储上的存储卷与故障节点的连接,删除与卷挂载信息对应持久卷的卷挂载资源和故障节点的pod资源。也就是说,在对pod进行重建之前,先把控制节点和存储上关于pod的挂载和资源分配进行清理,从而避免在重建故障节点中的pod时,原pod的挂载与资源占用,导致重建pod无法实现挂载和资源分配。如此,便可有效提高pod的重建恢复成功率。

54、相应地,本申请实施例还提供本文档来自技高网...

【技术保护点】

1.一种故障恢复方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,还包括:

3.根据权利要求2所述的方法,其特征在于,所述调用所述容器存储接口,并基于所述目标卷挂载信息,对所述目标pod进行卸载,包括:

4.根据权利要求2所述的方法,其特征在于,对所述工作节点中的pod进行监控,确定出待卸载的目标pod,包括:

5.根据权利要求4所述的方法,其特征在于,从所述工作节点中选出待迁移pod,包括:

6.根据权利要求4所述的方法,其特征在于,确定所述工作节点的IO延迟等级,包括:

7.根据权利要求1至6任一项所述的方法,其特征在于,还包括:

8.一种故障恢复装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述故障恢复方法的步骤。

【技术特征摘要】

1.一种故障恢复方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,还包括:

3.根据权利要求2所述的方法,其特征在于,所述调用所述容器存储接口,并基于所述目标卷挂载信息,对所述目标pod进行卸载,包括:

4.根据权利要求2所述的方法,其特征在于,对所述工作节点中的pod进行监控,确定出待卸载的目标pod,包括:

5.根据权利要求4所述的方法,其特征在于,从所述工作节点中选出待迁移p...

【专利技术属性】
技术研发人员:王一杰
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:

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

1