32.8. MetalLB BFD 프로필 구성

클러스터 관리자는 BFD( twodirectional Forwarding Detection) 프로필을 추가, 수정, 삭제할 수 있습니다. MetalLB Operator는 BFD 프로필 사용자 정의 리소스를 사용하여 어떤 BFD 세션을 사용하여 BGP 단독으로 제공하는 것보다 더 빠른 경로 실패 탐지 기능을 제공합니다.

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

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

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

필드유형설명

metadata.name

string

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

metadata.namespace

string

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

spec.detectMultiplier

integer

패킷 손실을 확인하기 위해 탐지 멀티plier를 지정합니다. 원격 전송 간격은 이 값을 곱하여 연결 손실 감지 타이머를 결정합니다.

예를 들어, 로컬 시스템이 탐지 다중값이 3 으로 설정되어 원격 시스템에 300으로 설정된 전송 간격이 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

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

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

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

spec.receiveInterval

integer

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

spec.transmitInterval

integer

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

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

32.8.3. 다음 단계