×

作为集群管理员,您可以添加、修改和删除双向转发检测 (BFD) 配置文件。MetalLB 运算符使用 BFD 配置文件自定义资源来识别哪些 BGP 会话使用 BFD 提供比仅 BGP 更快的路径故障检测。

关于 BFD 配置文件自定义资源

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

表 1. BFD 配置文件自定义资源
字段 类型 描述

metadata.name

字符串

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

metadata.namespace

字符串

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

spec.detectMultiplier

整数

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

例如,当本地系统将检测乘数设置为3,而远程系统将传输间隔设置为300时,本地系统仅在未收到数据包900毫秒后才检测到故障。

范围为2255。默认值为3

spec.echoMode

布尔值

指定回显传输模式。如果您不使用分布式 BFD,则回显传输模式仅在对端也是 FRR 时才有效。默认值为false,回显传输模式被禁用。

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

spec.echoInterval

整数

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

spec.minimumTtl

整数

指定传入控制数据包的最小预期 TTL。此字段仅适用于多跳会话。

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

默认值为254,表示系统仅期望此系统和对端之间有一跳。

spec.passiveMode

布尔值

指定会话标记为活动还是被动。被动会话不会尝试启动连接。相反,被动会话会在收到对端的控制数据包之前等待,然后才开始回复。

当您的路由器充当星型网络的中心节点并且您想避免发送系统不需要发送的控制数据包时,将会话标记为被动非常有用。

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

spec.receiveInterval

整数

指定此系统能够接收控制数据包的最小间隔。范围为1060000。默认值为300毫秒。

spec.transmitInterval

整数

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

配置 BFD 配置文件

作为集群管理员,您可以添加 BFD 配置文件并将 BGP 对等体配置为使用该配置文件。BFD 提供比仅 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

后续步骤