26.5. MetalLB BFD 프로필 구성

클러스터 관리자는 BFD(Bredirectional Forwarding Detection) 프로필을 추가, 수정 및 삭제할 수 있습니다. MetalLB Operator는 BFD 프로필 사용자 정의 리소스를 사용하여 BGP만으로 제공하는 것보다 빠른 경로 오류 감지 기능을 제공하기 위해 BFD를 사용하는 BGP 세션을 식별합니다.

26.5.1. BFD 프로필 사용자 정의 리소스 정보

BFD 프로필 사용자 정의 리소스의 필드는 다음 표에 설명되어 있습니다.

표 26.4. BFD 프로파일 사용자 정의 리소스

필드유형설명

metadata.name

string

BFD 프로필 사용자 정의 리소스의 이름을 지정합니다.

metadata.namespace

string

BFD 프로필 사용자 정의 리소스의 네임스페이스를 지정합니다.

spec.detectMultiplier

integer

패킷 손실을 확인할 탐지 멀티플라이버를 지정합니다. 원격 전송 간격에는 이 값을 곱하여 연결 손실 감지 타이머를 결정합니다.

예를 들어, 로컬 시스템에 3으로 설정된 탐지 멀티플리버가 3 으로 설정되어 있고 원격 시스템에 300 으로 설정된 전송 간격이 있는 경우 로컬 시스템은 패킷을 수신하지 않고 900 ms 후에만 오류를 탐지합니다.

범위는 2 에서 255 입니다. 기본값은 3입니다.

spec.echoMode

boolean

에코 전송 모드를 지정합니다. 분산 BFD를 사용하지 않는 경우, 에코 전송 모드는 피어가 FRR인 경우에만 작동합니다. 기본값은 false 이고 에코 전송 모드는 비활성화되어 있습니다.

에코 전송 모드가 활성화되면 제어 패킷의 전송 간격을 늘려 대역폭 사용량을 줄이는 것이 좋습니다. 예를 들어, 전송 간격을 2000 ms로 늘리는 것이 좋습니다.

spec.echoInterval

integer

이 시스템이 에코 패킷을 전송하고 수신하는 데 사용하는 최소 전송 간격( jitter)을 지정합니다. 범위는 10 ~ 60000 입니다. 기본값은 50 ms입니다.

spec.minimumTtl

integer

들어오는 제어 패킷에 대해 예상되는 최소 TTL을 지정합니다. 이 필드는 다중 홉 세션에만 적용됩니다.

최소 TTL을 설정하는 목적은 패킷 검증 요구사항을 보다 엄격하게 만들고 다른 세션으로부터 제어 패킷을 수신하지 않도록 하는 것입니다.

기본값은 254 이며 시스템은 이 시스템과 피어 간에 하나의 홉만 예상함을 나타냅니다.

spec.passiveMode

boolean

세션을 활성 또는 패시브로 표시할지 여부를 지정합니다. 수동 세션이 연결을 시작하려고 시도하지 않습니다. 대신 수동 세션은 응답을 시작하기 전에 피어의 제어 패킷을 기다립니다.

세션을 패시브로 표시하면 별 네트워크의 중앙 노드로 작동하고 시스템이 필요하지 않은 제어 패킷 전송을 방지하려는 라우터가 있을 때 유용합니다.

기본값은 false 이며 세션을 활성으로 표시합니다.

spec.receiveInterval

integer

이 시스템에서 제어 패킷을 수신할 수 있는 최소 간격을 지정합니다. 범위는 10 ~ 60000 입니다. 기본값은 300 ms입니다.

spec.transmitInterval

integer

이 시스템에서 제어 패킷을 보내는 데 사용하는 최소 전송 간격인 jitter를 지정합니다. 범위는 10 ~ 60000 입니다. 기본값은 300 ms입니다.

26.5.2. 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

26.5.3. 다음 단계