6장. 경로 알림


6.1. 경로 알림 정보

이 기능은 OVN-Kubernetes 네트워크 플러그인에 대한 경로 알림 기능을 제공합니다. BGP(Border Gateway Router) 공급자가 필요합니다. 자세한 내용은 BGP 라우팅 정보를 참조하십시오.

6.1.1. Border Gateway Protocol을 사용하여 클러스터 네트워크 경로 광고

OVN-Kubernetes 네트워크 플러그인은 라우팅 알림이 활성화된 상태에서 기본 Pod 네트워크 및 CUDN(클러스터 사용자 정의) 네트워크에 대한 네트워크 경로 광고( EgressIPs 포함)를 지원하고 공급자 네트워크에서 기본 pod 네트워크 및 CUDN으로 경로를 가져옵니다. 공급자 네트워크에서 기본 Pod 네트워크 및 CUDN에서 공개된 IP 주소에 직접 연결할 수 있습니다.

예를 들어 기본 Pod 네트워크로 경로를 가져올 수 있으므로 더 이상 각 노드에서 경로를 수동으로 구성할 필요가 없습니다. 이전에는 routingViaHost 매개변수를 true 로 설정하고 각 노드의 경로를 수동으로 구성하여 유사한 구성에 근접할 수 있었습니다. 경로 알림을 사용하면 routingViaHost 매개변수가 false 로 설정된 상태에서 이 작업을 원활하게 수행할 수 있습니다.

클러스터의 Network 사용자 정의 리소스 CR에서 routingViaHost 매개변수를 true 로 설정할 수도 있지만 유사한 구성을 시뮬레이션하려면 각 노드의 경로를 수동으로 구성해야 합니다. 경로 알림을 활성화하면 각 노드 하나씩 수동으로 경로를 구성하지 않고도 Network CR에 routingViaHost=false 를 설정할 수 있습니다.

공급자 네트워크의 경로 리플렉터가 지원되며 대규모 네트워크에서 경로를 알리는 데 필요한 BGP 연결 수를 줄일 수 있습니다.

경로 알림 활성화와 함께 EgressIP를 사용하는 경우 계층 3 공급자 네트워크는 EgressIP 페일오버를 인식합니다. 즉, 다른 계층 2 세그먼트에서 EgressIP를 호스팅하는 클러스터 노드를 찾을 수 있지만 계층 2 공급자 네트워크만 인식하기 전에 모든 송신 노드가 동일한 계층 2 세그먼트에 있어야 했습니다.

6.1.1.1. 지원되는 플랫폼

BGP(Border Gateway Protocol)를 사용하는 광고 경로는 베어 메탈 인프라 유형에서 지원됩니다.

6.1.1.2. 인프라 요구사항

라우팅 알림을 사용하려면 네트워크 인프라에 대해 BGP를 구성해야 합니다. 네트워크 인프라의 중단 또는 잘못된 구성으로 인해 클러스터 네트워크가 중단될 수 있습니다.

6.1.1.3. 다른 네트워킹 기능과의 호환성

경로 알림은 다음 OpenShift Container Platform 네트워킹 기능을 지원합니다.

여러 외부 게이트웨이(MEG)
이 기능에서는 MEG가 지원되지 않습니다.
EgressIPs

EgressIP의 사용 및 알림을 지원합니다. 송신 IP 주소가 있는 노드는 EgressIP를 알립니다. 송신 IP 주소는 송신 노드와 동일한 계층 2 네트워크 서브넷에 있어야 합니다. 다음과 같은 제한 사항이 적용됩니다.

  • 계층 2 모드에서 작동하는 CUDN(사용자 정의 네트워크)의 EgressIP는 지원되지 않습니다.
  • 추가 네트워크 인터페이스에 할당된 송신 IP 주소와 송신 IP 주소가 모두 할당된 네트워크의 EgressIP는 비현실적입니다. 모든 EgressIP는 EgressIP가 할당되는 것과 동일한 인터페이스를 통해 이러한 세션이 설정되는지 여부에 관계없이 선택한 FRRConfiguration 인스턴스의 모든 BGP 세션에 광고되며 이로 인해 원하지 않는 광고가 발생할 수 있습니다.
서비스
MetalLB Operator와 함께 작동하여 공급자 네트워크에 서비스를 알립니다.
송신 서비스
완전 지원.
송신 방화벽
완전 지원.
송신 QoS
완전 지원.
네트워크 정책
완전 지원.
직접 Pod 수신
기본 클러스터 네트워크 및 CUDN(클러스터 사용자 정의) 네트워크에 대한 완전한 지원

6.1.1.4. MetalLB Operator와 함께 사용할 고려 사항

MetalLB Operator는 클러스터에 대한 애드온으로 설치됩니다. MetalLB Operator를 배포하면 FRR-K8s를 추가 라우팅 기능 공급자로 자동으로 활성화합니다. 이 기능과 MetalLB Operator는 동일한 FRR-K8s 배포를 사용합니다.

6.1.1.5. 클러스터 사용자 정의 네트워크 이름 지정 (CUDN) 고려 사항

FRRConfiguration CR에서 VRF 장치를 참조할 때 VRF 이름은 15자 미만의 VRF 이름의 CUDN 이름과 동일합니다. VRF 이름을 CUDN 이름에서 유추할 수 있도록 VRF 이름을 15자를 넘지 않는 것이 좋습니다.

6.1.1.6. BGP 라우팅 사용자 정의 리소스

다음 CR(사용자 정의 리소스)은 BGP를 사용하여 경로 알림을 구성하는 데 사용됩니다.

RouteAdvertisements
이 CR은 BGP 라우팅에 대한 알림을 정의합니다. 이 CR에서 OVN-Kubernetes 컨트롤러는 클러스터 네트워크 경로를 알리도록 FRR 데몬을 구성하는 FRRConfiguration 오브젝트를 생성합니다. 이 CR은 클러스터 범위입니다.
FRRConfiguration
이 CR은 BGP 피어를 정의하고 공급자 네트워크에서 클러스터 네트워크로 경로 가져오기를 구성하는 데 사용됩니다. RouteAdvertisements 오브젝트를 적용하기 전에 BGP 피어를 구성하기 위해 처음에 하나 이상의 FRRConfiguration 오브젝트를 정의해야 합니다. 이 CR은 네임스페이스가 지정됩니다.

6.1.1.7. FRRConfiguration 오브젝트의 OVN-Kubernetes 컨트롤러 생성

FRRConfiguration 오브젝트는 각 노드에 적용되는 적절한 광고 접두사를 사용하여 RouteAdvertisements CR에서 선택한 각 네트워크 및 노드에 대해 생성됩니다. OVN-Kubernetes 컨트롤러는 RouteAdvertisements-CR 선택 노드가 RouteAdvertisements-CR-selected FRR 구성에서 선택한 노드의 서브 세트인지 확인합니다.

수신할 접두사의 모든 필터링 또는 선택은 RouteAdvertisement CR에서 생성된 FRRConfiguration 오브젝트에서는 고려되지 않습니다. 다른 FRRConfiguration 개체에서 수신하도록 접두사를 구성합니다. OVN-Kubernetes는 VRF에서 적절한 네트워크로 경로를 가져옵니다.

6.1.1.8. CNO(Cluster Network Operator) 구성

CNO(Cluster Network Operator) API는 여러 필드를 노출하여 경로 알림을 구성합니다.

  • spec.additionalRoutingCapabilities.providers: 경로를 알리는 데 필요한 추가 라우팅 공급자를 지정합니다. 지원되는 유일한 값은 FRR -K8S 데몬을 클러스터에 배포할 수 있는 FRR입니다. 활성화되면 FRR-K8S 데몬이 모든 노드에 배포됩니다.
  • spec.defaultNetwork.ovnKubernetesConfig.routeAdvertisements: 기본 클러스터 네트워크 및 CUDN 네트워크에 대한 경로 알림을 활성화합니다. 이 기능을 활성화하려면 spec.additionalRoutingCapabilities 필드를 FRR 로 설정해야 합니다.

6.1.2. RouteAdvertisements 오브젝트 구성

다음 속성을 사용하여 클러스터 범위인 RouteAdvertisements 오브젝트를 정의할 수 있습니다.

RouteAdvertisements CR(사용자 정의 리소스)의 필드는 다음 표에 설명되어 있습니다.

Expand
표 6.1. RouteAdvertisements 오브젝트
필드유형설명

metadata.name

string

RouteAdvertisements 오브젝트의 이름을 지정합니다.

알림

array

알릴 다양한 유형의 네트워크 목록을 포함할 수 있는 배열을 지정합니다. "PodNetwork""EgressIP" 값만 지원합니다.

frrConfigurationSelector

object

OVN-Kubernetes 기반 FRRConfiguration CR이 기반으로 하는 FRRConfiguration CR을 결정합니다.

networkSelector

object

기본 클러스터 네트워크 및 클러스터 사용자 정의 네트워크(CUDN)에서 알릴 네트워크를 지정합니다.

nodeSelector

object

선택한 노드로 알림을 제한합니다. advertisement ="PodNetwork" 를 선택하면 모든 노드를 선택해야 합니다. advertisement ="EgressIP" 를 선택하면 선택한 노드에 할당된 송신 IP 주소만 광고됩니다.

targetVRF

string

에서 경로를 알릴 라우터를 결정합니다. 경로는 선택한 FRRConfiguration CR에 지정된 대로 이 가상 라우팅 및 전달(VRF) 대상과 연결된 라우터에서 광고됩니다. 생략하면 기본 VRF가 대상으로 사용됩니다. auto 로 지정하면 네트워크 이름과 이름이 같은 VRF가 대상과 사용됩니다.

6.1.3. BGP를 사용한 Pod IP 주소 광고의 예

다음 예제에서는 BGP(Border Gateway Protocol)를 사용하여 Pod IP 주소 및 EgressIP를 알리기 위한 몇 가지 구성을 설명합니다. 외부 네트워크 테두리 라우터에는 172.18.0.5 IP 주소가 있습니다. 이러한 구성에서는 클러스터 네트워크의 모든 노드로 경로를 릴레이할 수 있는 외부 경로 리플렉션을 구성했다고 가정합니다.

6.1.3.1. 기본 클러스터 네트워크 알림

이 시나리오에서는 기본 클러스터 네트워크가 외부 네트워크에 노출되므로 Pod IP 주소와 EgressIP가 공급자 네트워크에 광고됩니다.

이 시나리오는 다음 FRRConfiguration 오브젝트에 의존합니다.

FRRConfiguration CR

apiVersion: k8s.ovn.org/v1
kind: RouteAdvertisements
metadata:
  name: default
spec:
  advertisements:
  - PodNetwork
  - EgressIP
  networkSelectors:
  - networkSelectionType: DefaultNetwork
  frrConfigurationSelector:
    matchLabels:
      routeAdvertisements: receive-all
  nodeSelector: {}
Copy to Clipboard Toggle word wrap

OVN-Kubernetes 컨트롤러에서 이 RouteAdvertisements CR을 볼 때 기본 클러스터 네트워크의 경로를 알리기 위해 선택한 FRR 데몬을 기반으로 추가 FRRConfiguration 개체를 생성합니다.

OVN-Kubernetes에서 생성된 FRRConfiguration CR의 예

apiVersion: frrk8s.metallb.io/v1beta1
kind: FRRConfiguration
metadata:
  name: ovnk-generated-abcdef
  namespace: openshift-frr-k8s
spec:
  bgp:
    routers:
    - asn: 64512
      neighbors:
        - address: 172.18.0.5
          asn: 64512
          toReceive:
            allowed:
              mode: filtered
          toAdvertise:
            allowed:
              prefixes:
              - <default_network_host_subnet>
      prefixes:
      - <default_network_host_subnet>
  nodeSelector:
    matchLabels:
      kubernetes.io/hostname: ovn-worker
Copy to Clipboard Toggle word wrap

생성된 FRRConfiguration 오브젝트에서 < default_network_host_subnet >은 공급자 네트워크에 알리는 기본 클러스터 네트워크의 서브넷입니다.

6.1.3.2. BGP를 통해 클러스터 사용자 정의 네트워크에서 Pod IP 광고

이 시나리오에서는 Blue 클러스터 사용자 정의 네트워크(CUDN)가 외부 네트워크에 노출되므로 네트워크의 Pod IP 주소 및 EgressIP가 공급자 네트워크에 광고됩니다.

이 시나리오는 다음 FRRConfiguration 오브젝트에 의존합니다.

FRRConfiguration CR

apiVersion: frrk8s.metallb.io/v1beta1
kind: FRRConfiguration
metadata:
  name: receive-all
  namespace: openshift-frr-k8s
  labels:
    routeAdvertisements: receive-all
spec:
  bgp:
    routers:
    - asn: 64512
      neighbors:
      - address: 172.18.0.5
        asn: 64512
        disableMP: true
        toReceive:
          allowed:
            mode: all
Copy to Clipboard Toggle word wrap

FRRConfiguration 오브젝트를 사용하면 인접한 172.18.0.5 에서 기본 VRF로 경로를 가져오고 기본 클러스터 네트워크에서 사용할 수 있습니다.

다음 다이어그램에 설명된 대로 CUDN은 기본 VRF를 통해 광고됩니다.

Red CUDN
  • 빨간색 이라는 CUDN과 연결된 redVRF라는 VRF
  • 서브넷 10.0.0.0/24
Blue CUDN
  • blue 라는 CUDN과 연결된 blue라는 VRF
  • 10.0.1.0/24서브넷

이 구성에서는 별도의 두 개의 CUDN이 정의됩니다. 빨간색 네트워크는 10.0.0.0/24 서브넷을 처리하고 blue 네트워크는 10.0.1.0/24 서브넷을 다룹니다. 빨간색 및 파란색 네트워크는 export: true 로 레이블이 지정됩니다.

다음 RouteAdvertisements CR은 빨간색 및 파란색 테넌트에 대한 구성을 설명합니다.

빨간색 및 파란색 테넌트에 대한 RouteAdvertisements CR

apiVersion: k8s.ovn.org/v1
kind: RouteAdvertisements
metadata:
  name: advertise-cudns
spec:
  advertisements:
  - PodNetwork
  - EgressIP
  networkSelectors:
  - networkSelectionType: ClusterUserDefinedNetworks
    clusterUserDefinedNetworkSelector:
      networkSelector:
        matchLabels:
          export: "true"
  frrConfigurationSelector:
    matchLabels:
      routeAdvertisements: receive-all
  nodeSelector: {}
Copy to Clipboard Toggle word wrap

OVN-Kubernetes 컨트롤러에서 이 RouteAdvertisements CR을 볼 때 해당 경로를 알리기 위해 선택한 FRR 데몬을 기반으로 추가 FRRConfiguration 오브젝트를 생성합니다. 다음 예제는 선택된 노드 및 네트워크에 따라 생성된 FRRConfiguration 오브젝트 수를 사용하여 이러한 구성 오브젝트 중 하나입니다.

OVN-Kubernetes에서 생성된 FRRConfiguration CR의 예

apiVersion: frrk8s.metallb.io/v1beta1
kind: FRRConfiguration
metadata:
  name: ovnk-generated-abcdef
  namespace: openshift-frr-k8s
spec:
  bgp:
    routers:
    - asn: 64512
      vrf: blue
      imports:
      - vrf: default
    - asn: 64512
      neighbors:
        - address: 172.18.0.5
          asn: 64512
          toReceive:
            allowed:
              mode: filtered
          toAdvertise:
            allowed:
              prefixes:
              - 10.0.1.0/24
      prefixes:
      - 10.0.1.0/24
      imports:
      - vrf: blue
  nodeSelector:
    matchLabels:
      kubernetes.io/hostname: ovn-worker
Copy to Clipboard Toggle word wrap

생성된 FRRConfiguration 오브젝트는 네트워크 blue에 속하는 서브넷 10.0.1.0/24 를 구성하여 기본 VRF로 가져오고 172.18.0.5 인접자에게 광고합니다. FRRConfiguration 오브젝트는 각 노드에 적용되는 적절한 접두사를 사용하여 RouteAdvertisements CR에서 선택한 각 네트워크 및 노드에 대해 생성됩니다.

targetVRF 필드를 생략하면 경로가 유출되고 기본 VRF를 통해 광고됩니다. 또한 초기 FRRConfiguration 오브젝트 정의 후 기본 VRF로 가져온 경로도 blue VRF로 가져옵니다.

이 시나리오에서는 VLAN 인터페이스가 파란색 네트워크와 연결된 VRF 장치에 연결됩니다. 이 설정은 VRF lite 설계를 제공합니다. 여기서 FRR-K8S는 파란색 네트워크 VRF/VLAN 링크의 해당 BGP 세션을 다음 홉 제공 에지(PE) 라우터에 통해서만 파란색 네트워크를 알리는 데 사용됩니다. 빨간색 테넌트는 동일한 구성을 사용합니다. 파란색 및 빨간색 네트워크는 export: true 로 레이블이 지정됩니다.

중요

이 시나리오에서는 EgressIP 사용을 지원하지 않습니다.

다음 다이어그램에서는 이 구성을 보여줍니다.

Red CUDN
  • 빨간색 이라는 CUDN과 연결된 redVRF라는 VRF
  • VRF 장치에 연결되어 외부 PE 라우터에 연결된 VLAN 인터페이스
  • 10.0.2.0/24의 할당된 서브넷
Blue CUDN
  • blue 라는 CUDN과 연결된 blue라는 VRF
  • VRF 장치에 연결되어 외부 PE 라우터에 연결된 VLAN 인터페이스
  • 10.0.1.0/24의 할당된 서브넷
참고

이 방법은 OVN-Kubernetes 네트워크 플러그인의 ovnKubernetesConfig.gatewayConfig 사양에 routingViaHost=true 를 설정하는 경우에만 사용할 수 있습니다.

다음 구성에서 추가 FRRConfiguration CR은 파란색 및 빨간색 VLAN의 PE 라우터로 피어링을 구성합니다.

BGP VPN 설정을 위해 수동으로 구성된 FRRConfiguration CR

apiVersion: frrk8s.metallb.io/v1beta1
kind: FRRConfiguration
metadata:
  name: vpn-blue-red
  namespace: openshift-frr-k8s
  labels:
    routeAdvertisements: vpn-blue-red
spec:
  bgp:
    routers:
    - asn: 64512
      vrf: blue
      neighbors:
      - address: 182.18.0.5
        asn: 64512
        toReceive:
          allowed:
            mode: filtered
    - asn: 64512
      vrf: red
      neighbors:
      - address: 192.18.0.5
        asn: 64512
        toReceive:
          allowed:
            mode: filtered
Copy to Clipboard Toggle word wrap

다음 RouteAdvertisements CR은 파란색 및 빨간색 테넌트에 대한 구성을 설명합니다.

Blue 및 빨간색 테넌트에 대한 RouteAdvertisements CR

apiVersion: k8s.ovn.org/v1
kind: RouteAdvertisements
metadata:
  name: advertise-vrf-lite
spec:
  targetVRF: auto
  advertisements:
  - "PodNetwork"
  nodeSelector: {}
  frrConfigurationSelector:
    matchLabels:
      routeAdvertisements: vpn-blue-red
  networkSelectors:
  - networkSelectionType: ClusterUserDefinedNetworks
    clusterUserDefinedNetworkSelector:
      networkSelector:
        matchLabels:
          export: "true"
Copy to Clipboard Toggle word wrap

RouteAdvertisements CR에서 targetVRFauto 로 설정되어 선택한 개별 네트워크에 해당하는 VRF 장치 내에서 알림이 발생합니다. 이 시나리오에서는 blue의 Pod 서브넷이 Blue VRF 장치를 통해 알려지고 빨간색의 pod 서브넷은 빨간색 VRF 장치를 통해 광고됩니다. 또한 각 BGP 세션은 초기 FRRConfiguration 개체에서 정의한 대로 해당 CUDN VRF로만 경로를 가져옵니다.

OVN-Kubernetes 컨트롤러에서 이 RouteAdvertisements CR을 볼 때 파란색 및 빨간색 테넌트의 경로를 알리도록 FRR 데몬을 구성하는 선택된 항목을 기반으로 추가 FRRConfiguration 개체를 생성합니다.

Blue 및 빨간색 테넌트를 위해 OVN-Kubernetes에서 생성한 FRRConfiguration CR

apiVersion: frrk8s.metallb.io/v1beta1
kind: FRRConfiguration
metadata:
  name: ovnk-generated-abcde
  namespace: openshift-frr-k8s
spec:
  bgp:
    routers:
    - asn: 64512
      neighbors:
      - address: 182.18.0.5
        asn: 64512
        toReceive:
          allowed:
            mode: filtered
        toAdvertise:
          allowed:
            prefixes:
            - 10.0.1.0/24
      vrf: blue
      prefixes:
        - 10.0.1.0/24
    - asn: 64512
      neighbors:
      - address: 192.18.0.5
        asn: 64512
        toReceive:
          allowed:
            mode: filtered
        toAdvertise:
          allowed:
            prefixes:
            - 10.0.2.0/24
      vrf: red
      prefixes:
         - 10.0.2.0/24
  nodeSelector:
     matchLabels:
        kubernetes.io/hostname: ovn-worker
Copy to Clipboard Toggle word wrap

이 시나리오에서는 피어링 관계를 정의하는 FRRConfiguration CR에서 수신할 경로 필터링 또는 선택을 수행해야 합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat