6장. 경로 광고


6.1. 경로 광고에 관하여

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

경로 광고가 활성화되면 OVN-Kubernetes 네트워크 플러그인은 기본 Pod 네트워크 및 클러스터 사용자 정의(CUDN) 네트워크에 대한 네트워크 경로를 공급자 네트워크에 광고하는 것을 지원하며, 여기에는 EgressIP가 포함되고, 공급자 네트워크에서 기본 Pod 네트워크 및 CUDN으로 경로를 가져오는 것도 지원됩니다. 공급자 네트워크에서는 기본 Pod 네트워크와 CUDN에서 광고되는 IP 주소에 직접 접속할 수 있습니다.

예를 들어, 기본 Pod 네트워크로 경로를 가져와서 각 노드에서 수동으로 경로를 구성할 필요가 없습니다. 이전에는 routingViaHost 매개변수를 true 로 설정하고 각 노드에서 경로를 수동으로 구성하여 비슷한 구성을 구현했을 수 있습니다. 경로 광고를 사용하면 routingViaHost 매개변수를 false 로 설정하여 이 작업을 원활하게 수행할 수 있습니다.

클러스터의 네트워크 사용자 지정 리소스 CR에서 routingViaHost 매개변수를 true 로 설정할 수도 있지만, 그런 다음 비슷한 구성을 시뮬레이션하기 위해 각 노드에서 수동으로 경로를 구성해야 합니다. 경로 광고를 활성화하면 네트워크 CR에서 routingViaHost=false를 설정할 수 있으며, 각 노드에 대한 경로를 수동으로 구성할 필요가 없습니다.

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

경로 광고가 활성화된 EgressIP를 사용하는 경우, 3계층 공급자 네트워크는 EgressIP 장애 조치를 인식합니다. 즉, 이전에는 계층 2 공급자 네트워크만 인식했기 때문에 모든 송신 노드가 동일한 계층 2 세그먼트에 있어야 했지만, 이제는 서로 다른 계층 2 세그먼트에서 EgressIP를 호스팅하는 클러스터 노드를 찾을 수 있습니다.

6.1.1.1. 지원되는 플랫폼

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

6.1.1.2. 인프라 요구 사항

경로 광고를 사용하려면 네트워크 인프라에 대해 BGP를 구성해야 합니다. 네트워크 인프라의 중단이나 잘못된 구성으로 인해 클러스터 네트워크가 중단될 수 있습니다.

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

경로 광고는 다음과 같은 OpenShift 컨테이너 플랫폼 네트워킹 기능을 지원합니다.

다중 외부 게이트웨이(MEG)
MEG는 이 기능을 지원하지 않습니다.
EgressIPs

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

  • 2계층 모드에서 작동하는 사용자 정의 네트워크(CUDN)의 광고 EgressIP는 지원되지 않습니다.
  • 기본 네트워크 인터페이스에 송신 IP 주소가 할당되어 있고 추가 네트워크 인터페이스에 송신 IP 주소가 할당되어 있는 네트워크에 대해 송신 IP를 광고하는 것은 비현실적입니다. 선택된 FRRConfiguration 인스턴스의 모든 BGP 세션에서 모든 EgressIP가 광고됩니다. 이러한 세션이 EgressIP가 할당된 동일한 인터페이스를 통해 설정되었는지 여부와 관계없이 원치 않는 광고가 발생할 가능성이 있습니다.
서비스
MetalLB 운영자와 협력하여 공급자 네트워크에 서비스를 광고합니다.
출구 서비스
전면적인 지원.
송신 방화벽
전면적인 지원.
출구 QoS
전면적인 지원.
네트워크 정책
전면적인 지원.
직접 포드 진입
기본 클러스터 네트워크와 클러스터 사용자 정의(CUDN) 네트워크를 완벽하게 지원합니다.

6.1.1.4. MetalLB 연산자와 함께 사용하기 위한 고려 사항

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

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

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

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

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

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

6.1.1.7. OVN-Kubernetes 컨트롤러에서 FRRConfiguration 객체 생성

RouteAdvertisements CR에서 선택한 각 네트워크와 노드에 대해 FRRConfiguration 객체가 생성되고, 각 노드에 적용되는 적절한 광고 접두사가 함께 제공됩니다. OVN-Kubernetes 컨트롤러는 RouteAdvertisements -CR-selected 노드가 RouteAdvertisements -CR-selected FRR 구성에 의해 선택된 노드의 하위 집합인지 확인합니다.

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

6.1.1.8. CNO(Cluster Network Operator) 구성

CNO(클러스터 네트워크 운영자) API는 경로 광고를 구성하기 위해 여러 필드를 노출합니다.

  • spec.additionalRoutingCapabilities.providers : 경로를 광고하는 데 필요한 추가 라우팅 공급자를 지정합니다. 유일하게 지원되는 값은 FRR 이며, 이를 통해 클러스터에 FRR-K8S 데몬을 배포할 수 있습니다. 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

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

targetVRF

string

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

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

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

6.1.3.1. 기본 클러스터 네트워크 광고

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

이 시나리오는 다음 FRRConfiguration 개체에 의존합니다.

FRR구성 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을 보면 선택한 객체를 기반으로 추가 FRRConfiguration 객체를 생성하여 FRR 데몬이 기본 클러스터 네트워크에 대한 경로를 광고하도록 구성합니다.

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를 통한 클러스터 사용자 정의 네트워크의 광고 포드 IP

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

이 시나리오는 다음 FRRConfiguration 개체에 의존합니다.

FRR구성 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를 통해 광고됩니다.

레드 쿠딘
  • CUDN이 red인 것과 연관된 red 라는 이름의 VRF
  • 10.0.0.0/24 의 서브넷
블루 CUDN
  • CUDN이 blue 인 것과 연관된 blue 라는 이름의 VRF
  • 10.0.1.0/24 의 서브넷

이 구성에서는 두 개의 별도 CUDN이 정의됩니다. 빨간색 네트워크는 10.0.0.0/24 서브넷을 포함하고, 파란색 네트워크는 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을 보면 선택된 객체를 기반으로 추가 FRRConfiguration 객체를 생성하여 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
      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 객체는 네트워크 블루에 속하는 서브넷 10.0.1.0/24를 기본 VRF로 가져와서 172.18.0.5 이웃에게 알리도록 구성합니다. RouteAdvertisements CR에서 선택한 각 네트워크와 노드에 대해 적절한 접두사가 적용된 FRRConfiguration 개체가 생성됩니다.

targetVRF 필드가 생략되면 경로가 누출되어 기본 VRF를 통해 광고됩니다. 또한, 초기 FRRConfiguration 객체가 정의된 후 기본 VRF로 가져온 경로도 파란색 VRF로 가져옵니다.

이 시나리오에서는 VLAN 인터페이스가 블루 네트워크와 연결된 VRF 장치에 연결됩니다. 이 설정은 FRR-K8S가 블루 네트워크 VRF/VLAN 링크의 해당 BGP 세션을 통해서만 블루 네트워크를 광고하고 다음 홉 Provide Edge(PE) 라우터에 알리는 데 사용되는 VRF 라이트 디자인을 제공합니다. 빨간색 세입자는 동일한 구성을 사용합니다. 파란색과 빨간색 네트워크는 export: true 로 표시됩니다.

중요

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

다음 다이어그램은 이 구성을 보여줍니다.

레드 쿠딘
  • CUDN이 red인 것과 연관된 red 라는 이름의 VRF
  • VRF 장치에 부착되고 외부 PE 라우터에 연결된 VLAN 인터페이스
  • 10.0.2.0/24 의 할당된 서브넷
블루 CUDN
  • CUDN이 blue 인 것과 연관된 blue 라는 이름의 VRF
  • VRF 장치에 부착되고 외부 PE 라우터에 연결된 VLAN 인터페이스
  • 10.0.1.0/24 의 할당된 서브넷
참고

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

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

FRRConfiguration CR이 BGP VPN 설정을 위해 수동으로 구성되었습니다.

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은 블루 및 레드 테넌트에 대한 구성을 설명합니다.

파란색 및 빨간색 세입자를 위한 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에서 targetVRF는 자동 으로 설정되어 광고가 선택된 개별 네트워크에 해당하는 VRF 장치 내에서 발생합니다. 이 시나리오에서 파란색의 포드 서브넷은 파란색 VRF 장치를 통해 광고되고, 빨간색의 포드 서브넷은 빨간색 VRF 장치를 통해 광고됩니다. 또한 각 BGP 세션은 초기 FRRConfiguration 개체에서 정의한 해당 CUDN VRF에 대한 경로만 가져옵니다.

OVN-Kubernetes 컨트롤러가 이 RouteAdvertisements CR을 보면 선택된 객체를 기반으로 추가 FRRConfiguration 객체를 생성하여 FRR 데몬이 블루 및 레드 테넌트에 대한 경로를 광고하도록 구성합니다.

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