How to configure Kubernetes with multiply NIC / VLAN on vSphere?
This can be achieved with multus-cni plugin. It creates NetworkAttachmentDefinition
custom resource, where you can specify network interface, i.e.
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"
}
}'
And then, you attach this configuration to the pod:
apiVersion: v1
kind: Pod
metadata:
name: samplepod
annotations:
k8s.v1.cni.cncf.io/networks: macvlan-conf
Furthermore, you can add more interfaces to a pod by creating more custom resources and then referring to them in pod’s annotation
More details.