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. CreaNetworkAttachmentDefinition
recurso 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.