SR-IOV is a PCI Express virtualization technology that exposes multiple virtual interfaces from one physical device for direct assignment to workloads. In Anthos clusters on bare metal, it appears as one option for additional Pod interfaces provided through Multus CNI, alongside IPvlan, MacVLAN, and Bridge. section 8.3.2
Deploy the capability through three configuration steps:
- Enable multi-NIC support by setting multipleNetworkInterfaces to true in the clusterNetwork section of the Anthos bare metal cluster resource. section 8.3.2
- Define available additional networks with NetworkAttachmentDefinition custom resources, selecting the appropriate CNI implementation such as SR-IOV. section 8.3.2
- Attach networks to Pods or Deployments with the k8s.v1.cni.cncf.io/networks annotation; the default interface is eth0 and additional interfaces are net1, net2, and so on. section 8.3.2
Restricting network use to a node pool
Add the k8s.v1.cni.cncf.io/nodeSelector annotation to a NetworkAttachmentDefinition to make it valid only for a designated node pool. Anthos bare metal then schedules Pods referencing that network onto the appropriate pool. section 8.3.2
... clusterNetwork: multipleNetworkInterfaces: true pods: cidrBlocks: - 192.168.0.0/16 services: cidrBlocks: - 10.96.0.0/12 ...
Use the cluster-network listing to inspect the multi-NIC enablement field and its surrounding network configuration. section 8.3.2
