¿Cómo configurar Kubernetes con múltiples NIC/VLAN en vSphere?

¿Cómo configurar Kubernetes con múltiples NIC/VLAN en vSphere?

Jugar con el aprovisionamiento del clúster de Kubernetes en vSphere usando Kubespray y Terraform para automatizar el proceso de implementación (no hay problemas con eso).

Mi objetivo es tener la capacidad de conectar Pods a diferentes VLAN (o grupos de puertos), de modo que cada aplicación se ejecute en su propia red como lo hacen mis máquinas virtuales.

Creo que hay 2 enfoques: 1. Crear 'Grupo de puertos de todas las VLAN (0-4095)' y administrar las VLAN dentro del sistema operativo del nodo K8S. 2. Conecte varias NIC a las máquinas virtuales del nodo K8S, cada una de ellas se conectará a una VLAN diferente.

Después de buscar en Google durante semanas, todavía no puedo encontrar una solución para requisitos similares.

Entonces mi problema es que estoy atascado tratando de descubrir cómo construir un clúster K8S de esta manera y, al mismo tiempo, no estoy completamente seguro de estar en el camino correcto.

¡Por favor ayúdame antes de que me vuelva loco!

Respuesta1

Esto se puede lograr conmultus-cnienchufar. CreaNetworkAttachmentDefinitionrecurso personalizado, donde puede especificar la interfaz de red, es decir

apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: macvlan-conf
spec:
  config: '{
      "cniVersion": "0.3.0",
      "type": "macvlan",
      "master": "eth0",
      "mode": "bridge",
      "ipam": {
        "type": "host-local",
        "subnet": "192.168.1.0/24",
        "rangeStart": "192.168.1.200",
        "rangeEnd": "192.168.1.216",
        "routes": [
          { "dst": "0.0.0.0/0" }
        ],
        "gateway": "192.168.1.1"
      }
    }'

Y luego, adjuntas esta configuración al pod:

apiVersion: v1
kind: Pod
metadata:
  name: samplepod
  annotations:
    k8s.v1.cni.cncf.io/networks: macvlan-conf

Además, puede agregar más interfaces a un pod creando más recursos personalizados y luego haciendo referencia a ellos en la anotación del pod.

Másdetalles.

información relacionada