容错方法、性能校验方法、电子设备及介质技术

技术编号:34445311 阅读:16 留言:0更新日期:2022-08-06 16:39
本申请提供了一种应用于容器集群的容错方法,容器集群内置有Raft复制协议,方法包括在容器集群内部署BFT

【技术实现步骤摘要】
容错方法、性能校验方法、电子设备及介质


[0001]本专利技术涉及云计算领域,特别涉及一种应用于容器集群的容错方法、性能校验方法、电子设备及介质。

技术介绍

[0002]Docker容器虚拟化技术因其轻量级和高效性而被泛应用于云计算环境。但是,它需要通过协调器进行充分的控制和管理。因此,云提供商正在采用开放访问的Kubernetes(K8S)平台作为容器化应用程序的标准编排器。Kubernetes是Google的一个开放项目,倡导模块化、可定制且可扩展的编排平台。为了保证托管应用程序的可用性和连续性。
[0003]在大型和/或不受控制的系统中,故障风险很高,现有的降低风险以确保服务连续性的一种方法是使用状态机复制(SMR)机制,包括使用系统的多个副本,实现为状态机,以容忍故障并保持系统的可用性。系统的每个副本都放置在不同的节点上。SMR允许一组节点对客户端发送的每个请求执行相同的指令序列。执行请求有两种方法:1)主动复制,所有节点执行请求,更新其状态机,并响应客户端。2)被动复制,只有一个节点,称为领导者,执行请求并将状态机更改转发给其他节点,然后响应客户端。为了避免复制中的不一致,节点/副本需要确保它们的状态机在响应客户端之前是相同的。状态机的这个复制问题被称为共识问题。解决共识问题所消耗的时间即为共识时间,定义为处理客户请求所需的时间。
[0004]K8S集群通常仅使用Raft复制协议,来确保副本保持相同的状态机,同时只容忍崩溃故障。它基于被动复制,其中一个节点可能是领导者、追随者或候选者。当领导者处于活动状态时,所有其他节点都设置为追随者。它们等待领导者发送的更改来更新他们的状态机。当领导者崩溃时,追随者成为候选者并触发投票选出新的领导者。跟随者需要等待一个随机时间,通常在150到300毫秒之间,然后才能转换为候选者。这就导致Raft协议的共识时间比较长,且只容忍崩溃故障,对拜占庭错误无能为力。此外,还存在另一种非拜占庭复制协议,称为DORADO协议类似于Raft协议,但需要将主节点的内存共享给工作节点中的所有实例化容器,以存储它们的状态机。这种方法可以实现比Raft更短的共识时间,但加剧了容器的隔离问题,对拜占庭错误也无能为力。
[0005]目前针对K8S容器集群抵抗拜占庭故障的研究工作较少,而在实际大规模的K8S集群中,往往会因为软件错误或恶意攻击导致机器表现出拜占庭(即随机)行为,造成集群整体的成本损耗、破坏复制协议的准确性和可用性。因此如何设计能确保集群能够抵抗拜占庭和非拜占庭故障,具有实际重要意义。

技术实现思路

[0006]为了解决现有技术的不足,本专利技术的主要目的在于提供一种应用于K8S集群的容错方法、系统、性能校验方法及电子设备,以解决现有技术的上述技术问题。
[0007]为了达到上述目的,第一方面本专利技术提供了应用于容器集群的容错方法,所述容器集群内置有Raft复制协议,其特征在于,所述方法包括:
[0008]在容器集群内部署BFT

SMaRt复制协议;
[0009]根据所述容器集群内的崩溃故障数及拜占庭故障产生速率,调用合适的复制协议同步所述容器集群内各节点的状态机状态,以实现所述容器集群的容错。
[0010]在一些实施例中,所述根据所述容器集群内的崩溃故障数及拜占庭故障产生速率,调用合适的复制协议同步集群内各节点的状态机状态,以实现容器集群的容错,包括:
[0011]若所述容器集群内不存在拜占庭故障,则调用Raft复制协议同步所述容器集群内各节点的状态机状态;
[0012]若所述容器集群内存在拜占庭故障,则根据所述容器集群内的崩溃故障数来调用合适的复制协议同步所述容器集群内各节点的状态机状态。
[0013]在一些实施例中,所述根据所述容器集群内的崩溃故障数来调用合适的复制协议同步所述容器集群内各节点的状态机状态,包括:
[0014]若所述容器集群内的崩溃故障数小于Raft复制协议允许的最大故障数,则根据拜占庭故障产生速率调用合适的复制协议来同步所述容器集群内各节点的状态机状态;
[0015]若容器集群内的崩溃故障数大于等于Raft复制协议允许的最大故障数,则调用BFT

SMaRt复制协议来同步所述容器集群内各节点的状态机状态。
[0016]在一些实施例中,所述根据拜占庭故障产生速率来调用合适的复制协议来同步所述容器集群内各节点的状态机状态,包括:
[0017]若拜占庭故障产生速率小于预设阈值,则调用Raft复制协议来同步所述容器集群内各节点的状态机状态;
[0018]若拜占庭故障产生速率大于等于预设阈值,则调用BFT

SMaRt复制协议来同步所述容器集群内各节点的状态机状态。
[0019]在一些实施例中,所述在容器集群内部署BFT

SMaRt复制协议,包括:
[0020]获取BFT

SMaRt库;
[0021]根据所述BFT

SMaRt库创建BFT

SMaRt容器镜像;
[0022]在所述容器集群主节点内实例化所述BFT

SMaRt容器镜像。
[0023]在一些实施例中,所述获取BFT

SMaRt库包括:
[0024]获取标准的BFT

SMaRt库;
[0025]根据所述容器集群主节点的参数修改标准的BFT

SMaRt库的参数。
[0026]第二方面,本申请提供了性能校验方法,所述方法包括:
[0027]创建DDoS攻击,模拟拜占庭错误;
[0028]控制容器集群内崩溃故障数,获取存在低DDoS攻击速率下的调用BFT

SMaRt复制协议的容器集群与基于Raft复制协议的容器集群的共识时间;
[0029]控制DDoS攻击速率,获取受到不同DDoS攻击速率下调用BFT

SMaRt复制协议的容器集群与调用Raft复制协议的容器集群的共识时间。
[0030]在一些实施例中,所述方法还包括:
[0031]获取受到不同DDoS攻击的速率下调用BFT

SMaRt复制协议的容器集群与调用Raft复制协议的容器集群的主节点的CPU消耗率、RAM消耗率以及可用带宽,以判断各容器集群主节点的资源消耗情况。
[0032]第三方面,本申请还提供了一种电子设备,所述电子设备包括:
[0033]一个或多个处理器;
[0034]以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
[0035]在容器集群内部署BFT

SMaRt复制协议;
[0036]根据所述容器集群内的崩溃故障数及拜占庭故障产生速率,调用合适的复制本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用于容器集群的容错方法,所述容器集群内置有Raft复制协议,其特征在于,所述方法包括:在容器集群内部署BFT

SMaRt复制协议;根据所述容器集群内的崩溃故障数及拜占庭故障产生速率,调用合适的复制协议同步所述容器集群内各节点的状态机状态,以实现所述容器集群的容错。2.根据权利要求1所述的方法,其特征在于,所述根据所述容器集群内的崩溃故障数及拜占庭故障产生速率,调用合适的复制协议同步集群内各节点的状态机状态,以实现容器集群的容错,包括:若所述容器集群内不存在拜占庭故障,则调用Raft复制协议同步所述容器集群内各节点的状态机状态;若所述容器集群内存在拜占庭故障,则根据所述容器集群内的崩溃故障数来调用合适的复制协议同步所述容器集群内各节点的状态机状态。3.根据权利要求2所述的方法,其特征在于,所述根据所述容器集群内的崩溃故障数来调用合适的复制协议同步所述容器集群内各节点的状态机状态,包括:若所述容器集群内的崩溃故障数小于Raft复制协议允许的最大故障数,则根据拜占庭故障产生速率调用合适的复制协议来同步所述容器集群内各节点的状态机状态;若容器集群内的崩溃故障数大于等于Raft复制协议允许的最大故障数,则调用BFT

SMaRt复制协议来同步所述容器集群内各节点的状态机状态。4.根据权利要求3所述的方法,其特征在于,所述根据拜占庭故障产生速率来调用合适的复制协议来同步所述容器集群内各节点的状态机状态,包括:若拜占庭故障产生速率小于预设阈值,则调用Raft复制协议来同步所述容器集群内各节点的状态机状态;若拜占庭故障产生速率大于等于预设阈值,则调用BFT

SMaRt复制协议来同步所述容器集群内各节点的状态机状态。5.根据权利要求1所述的方法,其特征在于,所述在容器集群内部署BFT

SMaRt复制协议,包括:获取BF...

【专利技术属性】
技术研发人员:何志明
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1