es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Pods habilitados para IPVLAN CNI a través de hosts utilizando encabezados de VLAN.

Tengo 2 nodos trabajadores en un clúster de Kubernetes. Los nodos trabajadores están en el mismo dominio L2.

$]cat ipvlanconf1.yaml
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: ipvlanconf1
  namespace: cncf
spec:
  config: '{
      "cniVersion": "0.3.0",
      "type": "ipvlan",
      "master": "enp1s0.10",
      "mode": "l3",
      "vlan": 10,
      "ipam": {
        "type": "whereabouts",
        "range": "10.1.1.1/24",
        "gateway": "10.1.1.254"
      }
    }'

El Pod00 en Worker-node0 está utilizando IPVLAN. Entonces, net1 obtiene 10.1.1.1.

El Pod01 en Worker-node1 está utilizando IPVLAN. Entonces, net1 obtiene 10.1.1.2.

Quiero poder hacer ping a 10.1.1.1 <--- > 10.1.1.2 y debería llevar el encabezado VLAN. No veo ninguno en el tcpdump.
Preguntas:
* Supuse que el encabezado VLAN es insertado por el propio Pod. Sin embargo, en IPVLAN CNI no veo ningún código que tome información de VLAN a través de la configuración. ¿Es correcta mi comprensión?

  • ¿Deben configurarse explícitamente las interfaces en el pod como subinterfaces de VLAN (net1.10) o debo hacerlo en el nodo trabajador (enp1s0.10)?
  • ¿Qué debo usar como interfaz ‘master’? ¿enp1s0 o enp1s0.10?

Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai
    1. Supuse que el encabezado de VLAN era insertado por el Pod mismo. Sin embargo, en el CNI IPVLAN no veo ningún código donde se tome la información de VLAN a través de la configuración. ¿Es correcta mi comprensión?

    Tu suposición es incorrecta. En la configuración del CNI IPVLAN, no hay ningún código presente para insertar información de VLAN de forma predeterminada. La configuración del IPVLAN, como se muestra en el YAML proporcionado, solo especifica la identificación de VLAN que se va a utilizar para la red, pero no hay ninguna configuración para agregar un encabezado de VLAN a los paquetes.

    1. ¿Deberían configurarse explícitamente las interfaces en el pod como subinterfaces VLAN (net1.10) o debería hacerlo en el nodo trabajador (enp1s0.10)?

    Depende de la configuración de tu red. Si la interfaz de red enp1s0 del nodo trabajador ya es una interfaz VLAN (es decir, está configurada para trabajar en el ID de VLAN 10), entonces puedes usarla directamente como la interfaz principal en la configuración IPVLAN (enp1s0.10 no es necesario). Sin embargo, si la interfaz de red enp1s0 del nodo trabajador no es una interfaz VLAN, entonces necesitarías agregar una subinterfaz con el ID de VLAN 10 (enp1s0.10) y usarla como la interfaz principal en la configuración IPVLAN.

    En cuanto a las interfaces en el pod, no es necesario configurarlas explícitamente como subinterfaces VLAN (por ejemplo, net1.10). La definición de adjunto de red (NAD) creará una nueva interfaz de red en el pod, y los pods podrán usar esta interfaz de red como cualquier otra interfaz de red convencional.

    1. ¿Qué debo usar como interfaz ‘master’? ¿enp1s0 o enp1s0.10?

    Como se mencionó anteriormente, depende de la configuración de red del nodo trabajador. Si enp1s0 ya está configurado para trabajar en el ID de VLAN 10, entonces puedes usarlo directamente como la interfaz principal en la configuración IPVLAN. Si enp1s0 no está configurado para trabajar en el ID de VLAN 10, entonces necesitarías agregar una subinterfaz con el ID de VLAN 10 (enp1s0.10) y usarla como la interfaz principal en la configuración IPVLAN.

    En resumen, debes asegurarte de que la configuración de red del nodo trabajador sea coherente con la configuración IPVLAN que estás utilizando, y luego usar la interfaz principal apropiada (enp1s0 o enp1s0.10) en la configuración IPVLAN.

Comments are closed.