Notas de lectura de "La guía definitiva de redes Kubernetes" | El clon de tarjetas de red físicas: Macvlan

Fuente del libro: "La guía definitiva para las redes de Kubernetes: fundamentos, principios y práctica"

Organizaré mis notas de lectura mientras estudio y las compartiré con todos. Cualquier infracción será eliminada. ¡Gracias por su apoyo!

Se adjunta una publicación resumida: notas de lectura de la "Guía definitiva de la red Kubernetes" | Resumen_Blog de COCOgsta-blog CSDN


Macvlan admite el uso de recursos del segmento de red del host entre contenedores.

1.8.1 Análisis de los cinco modos de trabajo principales de Macvlan

Una interfaz Macvlan puede verse como una subinterfaz virtual de una interfaz Ethernet física. El efecto de usar Macvlan es que se pueden vincular varias direcciones IP a una tarjeta de red física y cada dirección IP tiene su propia dirección MAC.

El uso principal de Macvlan es la virtualización de redes (incluidos contenedores y máquinas virtuales). La máquina virtual o la red de contenedores que utiliza Macvlan está en el mismo segmento de red que el host, es decir, en el mismo dominio de transmisión.

Macvlan admite 5 modos: puente, VEPA, privado, Passthru y fuente.

  1. modo puente

Este modo es similar al puente de Linux: en el modo puente, dos tarjetas de red virtuales Macvlan con la misma interfaz principal pueden comunicarse directamente sin enviar tráfico a la red externa a través de la interfaz principal. El modo puente Macvlan se muestra en la Figura 1-26.

Figura 1-26 Modo puente Macvlan

La desventaja del modo puente es que si la interfaz principal falla, todas las subinterfaces de Macvlan fallarán y la comunicación entre las subinterfaces no será posible.

  1. modo VEPA

VEPA (agregador de puertos Ethernet virtual) es el modo predeterminado. Todo el tráfico enviado desde la interfaz Macvlan, independientemente de la dirección de destino, se envía "todo a la vez" a la interfaz principal. En el modo VEPA, los paquetes de difusión recibidos desde la interfaz principal se envían a todas las interfaces secundarias. El modo Macvlan VEPA se muestra en la Figura 1-27.

Figura 1-27 Modo Macvlan VEPA

Si desea optimizar el tráfico de acceso entre máquinas virtuales o contenedores a nivel de conmutador físico, el modo VEPA es una mejor opción.

  1. modo privado

El modo privado es similar al modo VEPA, pero mejora las capacidades de aislamiento del modo VEPA, lo que impide por completo la comunicación entre tarjetas de red virtuales Macvlan que comparten la misma interfaz principal. El modo privado de Macvlan se muestra en la Figura 1-28.

Figura 1-28 Modo privado de Macvlan

La implementación específica de Private es descartar datos de transmisión/multidifusión, lo que significa que la resolución de direcciones Ethernet ARP no funcionará.

El modo privado es muy útil si necesitas las capacidades de aislamiento de Macvlan.

  1. Modo de paso

El modo Passthru se traduce en modo Passthru. En este modo, cada interfaz principal solo se puede vincular a una tarjeta de red Macvlan, y la tarjeta de red Macvlan hereda la dirección MAC de la interfaz principal. El modo Macvlan Passthru se muestra en la Figura 1-29.

Figura 1-29 Modo Macvlan Passthru

En los modos VEPA y Passthru, la comunicación entre dos tarjetas de red Macvlan pasará a través de la interfaz principal dos veces: la primera vez al enviar y la segunda al regresar. Además de limitar el rendimiento de la comunicación entre las interfaces Macvlan, también afecta el ancho de banda de la interfaz física.

  1. Modo fuente

En este modo, parasitado en un dispositivo físico, el dispositivo Macvlan solo recibe paquetes de datos de la dirección Mac de origen especificada y descarta todos los demás paquetes de datos.

1.8.2 Prueba usando un dispositivo Macvlan

Cree un dispositivo Macvlan en el host:

Ver los detalles de la tarjeta de red Macvlan:

Habilite la tarjeta de red Macvlan:

En circunstancias normales, el sistema Linux asigna automáticamente la dirección MAC del dispositivo Macvlan. Utilice el siguiente comando para crear una nueva tarjeta de red Macvlan y especificar su dirección MAC:

Retire la tarjeta de red Macvlan:

1.8.3 Comunicación entre máquinas Macvlan

El entorno experimental contiene dos nodos, a saber, el nodo A, con una dirección IP de 192.168.1.2; el nodo B, con una dirección IP de 192.168.1.3.

Cree un contenedor Docker sin inicialización de red en el nodo A:

Obtenga el PID correspondiente al contenedor recién creado:

(Debería ser 2084 en la imagen)

Crear dispositivo Macvlan:

Coloque el dispositivo Macvlan eth0.1 en el espacio de nombres de red del contenedor:

Ingrese el espacio de nombres de la red para configurar la tarjeta de red Macvlan:

Acceda al contenedor test1 desde el host B y podrá hacer ping:

Haga ping al contenedor test1 desde el host A y descubra que lo siguiente no está disponible:

En la red virtual Macvlan, la tarjeta de red física (interfaz principal) solo reenvía los paquetes de datos sin procesar los paquetes de datos que entran y salen de su tarjeta de red Macvlan secundaria, por lo que la IP de la tarjeta de red Macvlan local no puede comunicarse con la IP de la red física. tarjeta de red.

Por lo tanto, Macvlan sólo proporciona una máquina virtual o un contenedor con acceso a la red física externa.

1.8.4 Comparación entre Macvlan y overlay

Macvlan y overlay tienen diferentes alcances de red. Overlay es una red de tipo de alcance global, mientras que el alcance de Macvlan es solo local. Por ejemplo, un tipo de red global puede actuar en un clúster de Docker, mientras que un tipo de red local solo puede actuar en un nodo de Docker.

La red Macvlan creada por cada host es independiente. La red Macvlan creada en una máquina no afecta la red de otra máquina.

Supongo que te gusta

Origin blog.csdn.net/guolianggsta/article/details/128896160
Recomendado
Clasificación