Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Implemente VirtualNetworkRouter en Contrail Networking nativa de la nube

RESUMEN Cloud-Native Contrail® Networking admite la VirtualNetworkRouter construcción (VNR). Esta construcción proporciona conectividad entre VirtualNetworks.

Descripción general de VirtualNetworkRouter

Normalmente, VirtualNetwork el tráfico (VN) se aísla para mantener la separación del inquilino. En Cloud-Native Contrail Networking (CN2), VirtualNetworkRouter (VNR) realiza fugas de ruta. La fuga de ruta establece la conectividad entre VirtualNetworks la importación de instancias de enrutamiento (RI) y las tablas de enrutamiento asociadas con estas instancias. Como resultado, los dispositivos de una tabla de enrutamiento pueden acceder a los recursos de los dispositivos de otra tabla de enrutamiento.

El VNR proporciona conectividad para los siguientes dos modelos de red comunes:

  • Malla: Los podes de todos los conectados VirtualNetworks se comunican entre sí.

  • Radio concentrador: VirtualNetworks se conecta a dos tipos de VNR diferentes (radial, concentrador). VirtualNetworks conectados a VNR de tipo radio se comunican con VirtualNetworks VNR conectados a VNR tipo hub y viceversa. VirtualNetworks conectados a VNR radiales no pueden comunicarse con otros VirtualNetworks VNR conectados a los VNR radiales.

VNR es una construcción de Kubernetes desplegada en CN2.

Casos de uso de VirtualNetworkRouter

Los siguientes ejemplos son casos de uso comunes que demuestran la funcionalidad de VNR en CN2.

VNR de malla que conecta dos o más redes virtuales en el mismo espacio de nombres

  1. Figura 1: El usuario crea VN1 y VN2 en el espacio de nombres-1. Los pods en VN1 no pueden conectarse a pods en VN2. Este es el comportamiento predeterminado de VirtualNetworks en CN2.
  2. Figura 2: El usuario define un VNR de malla tipo que selecciona VN1 y VN2. Este VNR permite que los pods en VN1 se comuniquen con los pods en VN2 y viceversa.
  3. Figura 3: Los pods en VN1 se conectan a los pods en VN2. El objetivo de la ruta de VNR es importExported a ambos VirtualNetworks.

Volver a los casos de uso de VirtualNetworkRouter

Agregue nuevas redes virtuales dentro del mismo espacio de nombres a un VNR de tipo de malla existente

  1. Figura 1: Dos VirtualNetworks (VN1, VN2) se conectan a VNR en el espacio de nombres-1.
  2. Figura 2: El usuario crea dos nuevos VirtualNetworks (VN3, VN4).
  3. Figura 3: VN3 y VN4 se conectan a VNR. Como resultado, todos los VirtualNetworksconectados al VNR reciben conectividad.

Volver a los casos de uso de VirtualNetworkRouter

Dos VNR de malla en el mismo espacio de nombres

  1. Figura 1 y Figura 2: VNR-web y VNR-db de malla de tipo ya existen en el espacio de nombres-1. Solo los VNR conectados a los VNR respectivos se comunican entre sí.

  2. Figura 1 y Figura 2: VNR-web y VNR-db se comunican entre sí.

  3. Figura 3: Todos los VirtualNetworks conectados a VNR-web y VNR-db se comunican entre sí.

Volver a los casos de uso de VirtualNetworkRouter

Dos VNR de malla con espacios de nombres diferentes

  1. Figura 1: VNR-web selecciona VN1 y VN2. Los pods de VN1 y VN2 se comunican entre sí. VN1 y VN2 no pueden comunicarse con VN3 o VN4.

  2. Figura 2: VNR-db selecciona VN3 y VN4. Los pods de VN3 y VN4 se comunican entre sí. VN3 y VN4 no pueden comunicarse con VN1 o VN2.

  3. Figura 3: El usuario actualiza VNR-web para seleccionar VNR-db.

  4. Figura 3: El usuario actualiza VNR-db para seleccionar VNR-web.

  5. Figura 3: Dado que dos VNR se seleccionan entre sí, la RT (destino de ruta) de VNR-web se agrega a VN3 y VN4. El RT de VNR-db se agrega a VN1 y VN2. Los pods de VN1, VN2, VN3 y VN4 se comunican entre sí.

    Nota:

    Los VNR seleccionan las VN según matchExpression las etiquetas de una virtualNetworkSelector especificación. Por ejemplo, en la ilustración anterior, VNR-web en el espacio de nombres-1 selecciona VN1 y VN2 según la etiqueta vn: web del espacio de nombres-1. A virtualNetworkSelector solo busca etiquetas que coincidan dentro de su propio espacio de nombres.

Volver a los casos de uso de VirtualNetworkRouter

VNR concentrador y radio en el espacio del mismo nombre

  • Figura 1: Los podes en VN1 no pueden comunicarse con los pods en VN2. VN1 y VN2 no pueden comunicarse con VN3.

  • Figura 2: El usuario crea un VNR de tipo "spoke" y "hub". VNR-spoke y VNR-hub importan los RT del otro.

  • Figura 3: Los RTs de radio VNR y hub de VNR se agregan a VN1, VN2 y VN3 porque importan los RT de los demás. Como resultado, los pods en VN1 y VN2 se comunican con VN3. Los pods de VN1 y VN2 no pueden comunicarse entre sí.

Volver a los casos de uso de VirtualNetworkRouter

VNR concentrador y radial en diferentes espacios de nombres

Volver a los casos de uso de VirtualNetworkRouter

Las mismas redes virtuales con varias VNR

  • Figura 1: Los podes de VN1 y VN2 no pueden comunicarse entre sí. También los recursos en VN3, VN4 pueden comunicarse entre sí.

  • Figura 2: Se crea un radio VNR seleccionando VN1 y VN2. Para crear un concentrador VNR, seleccione VN3 y VN4. Para crear una malla VNR, seleccione VN3 y VN4.

  • Figura 3: El radio VNR garantiza que VN1 y VN2 no puedan comunicarse entre sí, el hub de VNR permite que VN1 y VN2 alcancen VN3 y VN4, y la malla VNR permite la comunicación entre VN3 y VN4.

Volver a los casos de uso de VirtualNetworkRouter

Explicación del caso de uso

Esta sección consta de los dos siguientes casos de uso de VNR junto con explicaciones de extremo a extremo de cada caso de uso:

Caso de uso estándar: una sola VNR que conecta dos redes virtuales

Este caso de uso consta de lo siguiente:

  • Dos VirtualNetworks (vn-1 y vn-2) en el espacio de nombresns-single-mesh. Ambas redes virtuales tienen el .label vn: web Cada VirtualNetwork uno contiene un único pod. El VirtualNetwork vn-1 .pod-vn-1 El VirtualNetwork vn-2 .pod-vn-2

  • Un type: mesh VNR con el nombre vnr-1. Este VNR establece la conectividad entre los dos VirtualNetworks uso matchExpressions y vn: web. he VNR importa la RI y la tabla de enrutamiento de vn-1 a vn-2 y viceversa. Dado que vnr-1 es un VNR de tipo de malla, todos los pods conectados VirtualNetworks se comunican entre sí.

Caso de uso de actualización: una sola VNR conecta dos redes virtuales adicionales

Este caso de uso es similar al caso de uso estándar, con la excepción de que en este caso de uso el usuario actualiza el archivo YAML con un VNR adicional type: mesh para conectar dos nuevos VirtualNetworks (vn-3 y vn-4) en el espacio de nombres ns-single-mesh. Tenga en cuenta lo siguiente:

  • El VNR mostrado tiene el nombre vnr-2 en el espacio de nombres ns-single-mesh con matchExpressions: db, middlware.

  • El VirtualNetwork vn-3 tiene la etiqueta vn: db, y vn-4 tiene la etiqueta vn: middleware.

Como resultado, vnr-2 importa el RI y la tabla de enrutamiento de vn-3 a vn-4 y viceversa.

Configuración de VirtualNetworkRouter

En la siguiente sección, se proporciona información de configuración de YAML para los siguientes recursos:

Tipo de API (esquema)

VNR de malla

El archivo YAML anterior es un ejemplo de un VNR de malla con el nombre vnr-1 en el espacio de nombres frontend, con el labels vnr: web y ns: frontend. Este VNR importa su destino de ruta a cualquier VNR del espacio de nombres backend con matchLabel vnr: db.

VNR radial

El archivo YAML anterior es un ejemplo de un VNR radial con el nombre vnr-1 en el espacio de nombres frontend con el labels vnrgroup: spokes y ns: frontend. Este VNR importa sus destinos de ruta a cualquier VNR del espacio de nombres backend con matchLabel vnrgroup: hubs.

Concentrador VNR

El archivo YAML anterior es un ejemplo de un concentrador VNR con el nombre vnr-2 en el espacio de nombres backend con labels vnrgroup: hubs y ns: backend. Este VNR importa sus destinos de ruta a cualquier VNR del espacio de nombres frontend con matchLabels vnrgroup: spokes.