Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

클라우드 네이티브 Contrail Networking에 VirtualNetworkRouter 구축

요약 클라우드 네이티브 Contrail® NetworkingVirtualNetworkRouter (VNR) 구조를 지원합니다. 이 구문 VirtualNetworks은 .

VirtualNetworkRouter 개요

VirtualNetwork 일반적으로 트래픽은 테넌트 분리를 유지하기 위해 격리됩니다. 클라우드 네이티브 Contrail Networking VirtualNetworkRouter (VNR)에서는 경로 유출을 수행합니다. 경로 누출은 라우팅 인스턴스(RI)와 이러한 인스턴스와 연관된 라우팅 테이블을 가져와서 간의 VirtualNetworks 연결을 설정합니다. 그 결과, 한 라우팅 테이블의 디바이스는 다른 라우팅 테이블에 있는 디바이스의 리소스에 액세스할 수 있습니다.

VNR은 다음과 같은 두 가지 공통 네트워크 모델에 대한 연결을 제공합니다.

  • 메시: 연결된 VirtualNetworks 모든 포드가 서로 통신합니다.

  • 허브 스포크: VirtualNetworks 두 가지 다른 VNR 유형(스포크, 허브)에 연결합니다. 스포크 유형 VNR에 연결됨 허브 유형 VNR에 연결되거나 그 반대의 경우도 마찬가지입니다. 스포크 VNR에 연결된 VNR은 스포크 VNR에 VirtualNetworks 연결된 다른 VirtualNetworks VNR과 통신할 수 없습니다. VirtualNetworks VirtualNetworks

VNR은 클라우드 네이티브 Contrail Networking 내에 구축된 Kubernetes 구조입니다.

VirtualNetworkRouter 사용 사례

다음 예는 클라우드 네이티브 Contrail Networking에서 VNR의 기능을 보여주는 일반적인 사용 사례입니다.

동일한 네임스페이스에 있는 두 개 이상의 가상 네트워크를 연결하는 메시 VNR

  1. 그림-1: 사용자가 네임스페이스-1에 VN1 및 VN2를 생성합니다. VN1의 포드는 VN2의 포드에 연결할 수 없습니다. 이는 클라우드 네이티브 Contrail Networking의 VirtualNetworks 기본 동작입니다.
  2. 그림-2: 사용자는 VN1 및 VN2를 선택하는 메시 유형의 VNR을 정의합니다. 이 VNR을 통해 VN1의 Pod는 VN2의 Pod와 통신할 수 있으며 그 반대의 경우도 마찬가지입니다.
  3. 그림-3: VN1의 포드는 VN2의 포드에 연결됩니다. VNR의 경로 대상은 importExported 둘 다 VirtualNetworks입니다.

VirtualNetworkRouter 사용 사례로 돌아가기

동일한 네임스페이스 내의 새 가상 네트워크를 기존 메시형 VNR에 추가

  1. 그림-1: 두 개 VirtualNetworks (VN1, VN2)가 네임스페이스-1의 VNR에 연결됩니다.
  2. 그림-2: 사용자가 두 개의 신규 VirtualNetworks (VN3, VN4)를 생성합니다.
  3. 그림-3: VN3 및 VN4는 VNR에 연결됩니다. 그 결과, VNR에 연결된 모든 VirtualNetworks서버가 연결을 수신합니다.

VirtualNetworkRouter 사용 사례로 돌아가기

동일한 네임스페이스에 있는 두 개의 메시 VNR

  1. 그림-1: 메시 유형의 VNR-web 및 VNR-db가 이미 네임스페이스-1에 있습니다. 각 VNR에 연결된 VNR만 서로 통신합니다.
  2. 그림-2: VNR-web 및 VNR-db는 서로 통신합니다.
  3. 그림 -3 : VNR-web과 VNR-db에 연결된 모든 것이 VirtualNetworks 서로 통신합니다.

VirtualNetworkRouter 사용 사례로 돌아가기

네임스페이스가 다른 두 개의 메시 VNR

  1. 그림-1: VNR-web은 VN1 및 VN2를 선택합니다. VN1 및 VN2의 포드는 서로 통신합니다. VN1 및 VN2는 VN3 및 VN4와 통신할 수 없습니다.
  2. 그림-2: VNR-db는 VN3 및 VN4를 선택합니다. VN3 및 VN4의 포드는 서로 통신합니다. VN3 및 VN4는 VN1 및 VN2와 통신할 수 없습니다.
  3. 그림-3: 사용자가 VNR-web을 업데이트하여 VNR-db를 선택합니다.
  4. 그림 -3 : 사용자가 VNR-db를 업데이트하여 VNR-web을 선택합니다.
  5. 그림-3: 두 개의 VNR이 서로를 선택하므로 VNR-web의 RT(route target)가 VN3 및 VN4에 추가됩니다. VNR-db의 RT가 VN1 및 VN2에 추가되었습니다. VN1, VN2, VN3 및 VN4의 포드는 서로 통신합니다.

VirtualNetworkRouter 사용 사례로 돌아가기

동일한 네임스페이스의 허브 및 스포크 VNR

  • 그림-1: VN1의 포드는 VN2의 포드와 통신할 수 없습니다. VN1 및 VN2는 VN3과 통신할 수 없습니다.
  • 그림-2: 사용자가 '스포크' 및 '허브' 유형의 VNR을 생성합니다. VNR-spoke 및 VNR-hub는 서로의 RT를 가져옵니다.
  • 그림-3: VNR-spoke 및 VNR-hub의 RT는 서로의 RT를 가져오기 때문에 VN1, VN2 및 VN3에 추가됩니다. 결과적으로 VN1 및 VN2의 포드는 VN3와 통신합니다. VN1 및 VN2의 포드는 통신할 수 없습니다.

VirtualNetworkRouter 사용 사례로 돌아가기

서로 다른 네임스페이스의 허브 및 스포크 VNR

VirtualNetworkRouter 사용 사례로 돌아가기

여러 VNR에서 동일한 가상 네트워크

  • 그림-1: VN1 및 VN2의 포드는 서로 통신할 수 없습니다. 하지만 VN3, VN4. 또한 VN3, VN4의 리소스는 서로 통신할 수 있습니다
  • 그림-2: VN1, VN2, VN3, VN4를 선택하는 VNR-허브, VN3, VN4를 선택하는 VNR-mesh 생성
  • 그림-3: VNR-스포크는 VN1, VN2가 서로 통신할 수 없도록 하고, VNR-허브를 통해 VN1, VN2가 VN3, VN4에 도달할 수 있도록 하고 VNR-메시는 VN3, VN4 간의 통신을 가능하게 합니다.

VirtualNetworkRouter 사용 사례로 돌아가기

사용 사례 설명

이 섹션은 각 사용 사례에 대한 엔드 투 엔드 설명과 함께 다음 두 가지 VNR 사용 사례로 구성됩니다.

표준 사용 사례: 두 개의 가상 네트워크를 연결하는 단일 VNR

이 사용 사례는 네임스페이스ns-single-mesh에 두 개 VirtualNetworks (vn-1, vn-2)로 구성됩니다. 두 가상 네트워크 label vn: web모두 . 각각 VirtualNetwork 에는 단일 포드가 포함되어 있습니다. 에는 VirtualNetwork vn-1 pod-vn-1. 에는 VirtualNetwork vn-2 pod-vn-2. 이름이 vnr-1 인 VNR은 type: mesh 를 사용하여 vn: webmatchExpressionsVirtualNetworks 사이의 연결을 설정합니다. VNR은 의 RI 및 라우팅 테이블을 vn-1 로 가져오거나 그 vn-2 반대로 가져옵니다. 는 메시형 VNR이기 때문에 vnr-1 연결된 VirtualNetworks 모든 파드가 서로 통신한다.

업데이트 사용 사례: 두 개의 추가 가상 네트워크를 연결하는 단일 VNR

이 사용 사례는 표준 사용 사례와 유사하지만, 이 사용 사례에서 사용자가 네임스페이스ns-single-mesh에 있는 두 개의 새로 VirtualNetworks 운(vn-3, vn-4)을 연결하기 위해 추가 type: mesh VNR로 YAML을 업데이트한다는 점을 제외하면 이 사용 사례와 유사합니다. 표시된 VNR의 이름은 네임스페이스 ns-single-mesh 에 와 함께 matchExpressions: db, middlware있습니다vnr-2. 에는 레이블이 있고 에는 VirtualNetwork vn-3 레이블 vn: db vn: middlewarevn-4 있습니다. 그 결과, vnr-2 은(는) 의 RI 및 라우팅 테이블을 vn-3 받는 사람으로 가져오거나 그 vn-4 반대로 가져옵니다.

VirtualNetworkRouter 구성

다음 섹션에서는 다음 리소스에 대한 YAML 구성 정보를 제공합니다.

API 유형(스키마)

메시 VNR

이 YAML은 네임스페이스에 이름이 vnr-1 있고 및 와 ns: frontend함께 메시 VNR의 labels vnr: web 예입니다.frontend 이 VNR은 를 사용하여 matchLabel vnr: db네임스페이스 backend 의 모든 VNR로 경로 대상을 가져옵니다.

스포크 VNR

이 YAML은 네임스페이스에 및 ns: frontend가 있는 이름이 frontend vnr-1 있는 스포크 VNR의 labels vnrgroup: spokes 예입니다. 이 VNR은 를 사용하여 matchLabel vnrgroup: hubs네임스페이스 backend 의 모든 VNR로 경로 대상을 가져옵니다.

허브 VNR

이 YAML은 네임스페이스 backend 에 및 가 ns: backend있는 vnrgroup: hubs labels 이름을 vnr-2 가진 허브 VNR의 예입니다. 이 VNR은 를 사용하여 matchLabels vnrgroup: spokes네임스페이스 frontend 의 모든 VNR로 경로 대상을 가져옵니다.