34.8. 配置 MetalLB BFD 配置集

作为集群管理员,您可以添加、修改和删除双向检测(BFD)配置集。MetalLB Operator 使用 BFD 配置集自定义资源来识别哪个 BGP 会话使用 BFD 来单独提供比 BGP 更快地提供的路径故障检测。

34.8.1. 关于 BFD 配置集自定义资源

下表中描述了 BFD 配置集自定义资源的字段。

表 34.8. BFD 配置集自定义资源

字段类型描述

metadata.name

string

指定 BFD 配置集自定义资源的名称。

metadata.namespace

string

指定 BFD 配置集自定义资源的命名空间。

spec.detectMultiplier

整数

指定确定数据包丢失的检测倍数。远程传输间隔乘以这个值来确定连接丢失检测计时器。

例如,当本地系统的检测倍数设置为 3,而远程系统会将传输间隔设置为 300 时,本地系统仅在没有接收数据包的 900 ms 后才会检测故障。

范围为 2255。默认值为 3

spec.echoMode

布尔值

指定回显传输模式。如果您不使用分布式 BFD,则回显传输模式仅在 peer 也是 FRR 时才可以正常工作。默认值为 false,而回显传输模式被禁用。

启用回显传输模式时,请考虑增加控制数据包的传输间隔,以减少带宽使用量。例如,考虑将传输间隔增加到 2000 毫秒。

spec.echoInterval

整数

指定此系统用来发送和接收回显数据包的最小传输间隔(较少的)。范围为 1060000。默认值为 50 ms。

spec.minimumTtl

整数

指定传入控制数据包的最低预期 TTL。此字段只适用于多跃点会话。

设置最小 TTL 的目的是使数据包验证要求更加严格,并避免从其他会话接收控制数据包。

默认值为 254,表示系统在该系统和对等点之间仅需要一个跃点。

spec.passiveMode

布尔值

指定会话是否标记为主动或者被动。被动会话不会尝试启动连接。相反,被动会话会等待来自 peer 的控制数据包,然后再开始回复。

当您有一个作为星星网络的中央节点,并且您希望发送不需要系统发送的控制数据包时,如果您有一个路由器将会话标记为被动。

默认值为 false,并将会话标记为 active。

spec.receiveInterval

整数

指定此系统可以接收控制数据包的最低间隔。范围为 1060000。默认值为 300 ms。

spec.transmitInterval

整数

指定此系统用来发送控制数据包的最小传输间隔(较少的)。范围为 1060000。默认值为 300 ms。

34.8.2. 配置 BFD 配置集

作为集群管理员,您可以添加 BFD 配置集,并配置 BGP 对等点来使用配置集。BFD 仅提供比 BGP 快于 BGP 的路径故障检测速度。

先决条件

  • 安装 OpenShift CLI(oc)。
  • 以具有 cluster-admin 特权的用户身份登录。

流程

  1. 创建一个文件,如 bfdprofile.yaml,其内容如下:

    apiVersion: metallb.io/v1beta1
    kind: BFDProfile
    metadata:
      name: doc-example-bfd-profile-full
      namespace: metallb-system
    spec:
      receiveInterval: 300
      transmitInterval: 300
      detectMultiplier: 3
      echoMode: false
      passiveMode: true
      minimumTtl: 254
  2. 为 BFD 配置集应用配置:

    $ oc apply -f bfdprofile.yaml

34.8.3. 后续步骤