6장. 경로 광고
6.1. 경로 광고에 관하여 링크 복사링크가 클립보드에 복사되었습니다!
이 기능은 OVN-Kubernetes 네트워크 플러그인에 대한 경로 광고 기능을 제공합니다. BGP(Border Gateway Router) 공급자가 필요합니다. 자세한 내용은 BGP 라우팅 정보를 참조하세요.
6.1.1. Border Gateway Protocol을 사용하여 클러스터 네트워크 경로를 광고합니다. 링크 복사링크가 클립보드에 복사되었습니다!
경로 광고가 활성화되면 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)에 대한 필드는 다음 표에 설명되어 있습니다.
필드 | 유형 | 설명 |
---|---|---|
|
|
|
|
|
광고할 다양한 유형의 네트워크 목록을 포함할 수 있는 배열을 지정합니다. |
|
|
OVN-Kubernetes 기반 |
|
| 기본 클러스터 네트워크와 클러스터 사용자 정의 네트워크(CUDN) 중에서 어떤 네트워크를 광고할지 지정합니다. |
|
|
광고를 선택한 노드로 제한합니다. |
|
|
어떤 라우터에 경로를 광고할지 결정합니다. 선택된 |
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
OVN-Kubernetes 컨트롤러가 이 RouteAdvertisements
CR을 보면 선택한 객체를 기반으로 추가 FRRConfiguration
객체를 생성하여 FRR 데몬이 기본 클러스터 네트워크에 대한 경로를 광고하도록 구성합니다.
OVN-Kubernetes에서 생성된 FRRConfiguration
CR의 예
생성된 FRRConfiguration
개체의 예에서 <default_network_host_subnet>
은 공급자 네트워크에 광고되는 기본 클러스터 네트워크의 서브넷입니다.
6.1.3.2. BGP를 통한 클러스터 사용자 정의 네트워크의 광고 포드 IP 링크 복사링크가 클립보드에 복사되었습니다!
이 시나리오에서는 블루 클러스터 사용자 정의 네트워크(CUDN)가 외부 네트워크에 노출되어 네트워크의 Pod IP 주소와 EgressIP가 공급자 네트워크에 광고됩니다.
이 시나리오는 다음 FRRConfiguration
개체에 의존합니다.
FRR구성
CR
이 FRRConfiguration
객체를 사용하면 이웃 172.18.0.5
의 경로가 기본 VRF로 가져와지고 기본 클러스터 네트워크에서 사용할 수 있습니다.
CUDN은 다음 다이어그램에 표시된 대로 기본 VRF를 통해 광고됩니다.
- 레드 쿠딘
-
CUDN이
red인
것과 연관된red
라는 이름의 VRF -
10.0.0.0/24
의 서브넷
-
CUDN이
- 블루 CUDN
-
CUDN이
blue
인 것과 연관된blue
라는 이름의 VRF -
10.0.1.0/24
의 서브넷
-
CUDN이
이 구성에서는 두 개의 별도 CUDN이 정의됩니다. 빨간색 네트워크는 10.0.0.0/24
서브넷을 포함하고, 파란색 네트워크는 10.0.1.0/24
서브넷을 포함합니다. 빨간색과 파란색 네트워크는 export: true
로 표시됩니다.
다음 RouteAdvertisements
CR은 빨간색 및 파란색 테넌트에 대한 구성을 설명합니다.
빨간색 및 파란색 세입자를 위한 RouteAdvertisements
CR
OVN-Kubernetes 컨트롤러가 이 RouteAdvertisements
CR을 보면 선택된 객체를 기반으로 추가 FRRConfiguration
객체를 생성하여 FRR 데몬이 경로를 광고하도록 구성합니다. 다음 예는 그러한 구성 객체 중 하나이며, 선택된 노드와 네트워크에 따라 생성되는 FRRConfiguration
객체의 수가 달라집니다.
OVN-Kubernetes에서 생성된 FRRConfiguration
CR의 예
생성된 FRRConfiguration
객체는 네트워크 블루에 속하는 서브넷 10.0.1.0/24를
기본 VRF로 가져와서 172.18.0.5
이웃에게 알리도록 구성합니다. RouteAdvertisements
CR에서 선택한 각 네트워크와 노드에 대해 적절한 접두사가 적용된 FRRConfiguration
개체가 생성됩니다.
targetVRF
필드가 생략되면 경로가 누출되어 기본 VRF를 통해 광고됩니다. 또한, 초기 FRRConfiguration 객체가 정의된 후 기본 VRF로 가져온 경로도 파란색 VRF로 가져옵니다.
6.1.3.3. VPN을 통한 BGP를 통한 클러스터 사용자 정의 네트워크의 광고 포드 IP 링크 복사링크가 클립보드에 복사되었습니다!
이 시나리오에서는 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
-
CUDN이
blue
인 것과 연관된blue
라는 이름의 VRF - VRF 장치에 부착되고 외부 PE 라우터에 연결된 VLAN 인터페이스
-
10.0.1.0/24
의 할당된 서브넷
-
CUDN이
이 접근 방식은 OVN-Kubernetes 네트워크 플러그인의 ovnKubernetesConfig.gatewayConfig
사양에서 routingViaHost=true를
설정한 경우에만 사용할 수 있습니다.
다음 구성에서 추가 FRRConfiguration
CR은 파란색 및 빨간색 VLAN의 PE 라우터와의 피어링을 구성합니다.
FRRConfiguration
CR이 BGP VPN 설정을 위해 수동으로 구성되었습니다.
다음 RouteAdvertisements
CR은 블루 및 레드 테넌트에 대한 구성을 설명합니다.
파란색 및 빨간색 세입자를 위한 RouteAdvertisements
CR
RouteAdvertisements
CR에서 targetVRF는
자동
으로 설정되어 광고가 선택된 개별 네트워크에 해당하는 VRF 장치 내에서 발생합니다. 이 시나리오에서 파란색의 포드 서브넷은 파란색 VRF 장치를 통해 광고되고, 빨간색의 포드 서브넷은 빨간색 VRF 장치를 통해 광고됩니다. 또한 각 BGP 세션은 초기 FRRConfiguration
개체에서 정의한 해당 CUDN VRF에 대한 경로만 가져옵니다.
OVN-Kubernetes 컨트롤러가 이 RouteAdvertisements
CR을 보면 선택된 객체를 기반으로 추가 FRRConfiguration
객체를 생성하여 FRR 데몬이 블루 및 레드 테넌트에 대한 경로를 광고하도록 구성합니다.
OVN-Kubernetes에서 블루 및 레드 테넌트에 대해 생성된 FRRConfiguration
CR
이 시나리오에서 수신할 경로의 필터링이나 선택은 피어링 관계를 정의하는 FRRConfiguration
CR에서 수행해야 합니다.