Setting up Single Root I/O Virtualization (SR-IOV) in IBM Cloud Satellite clusters
Satellite
Single Root I/O Virtualization (SR-IOV) allows you to share a single, supported network device with multiple pods in your Satellite cluster. You can enable SR-IOV in your cluster by installing and configuring the SR-IOV network operator. For more information about SR-IOV, see About Single Root I/O Virtualization (SR-IOV) hardware networks.
- Supported network interface controllers
- The SR-IOV Network Operator can be used with supported network interface controllers (NICs) only. For more information, see Supported NICs.
Prerequisites for using SR-IOV
- Create a Satellite location.
- Set up your location control plane.
- Attach more hosts to your location to use as worker nodes in your cluster. The hosts that you want to use as worker nodes must have a Supported NIC.
Installing the SR-IOV network operator
Access your Red Hat OpenShift cluster.
-
Follow the steps to Install the operator in your cluster. Make sure to set the Update Approval policy to Manual.
-
Get the details of the
ClusterServiceVersion
in theopenshift-sriov-network-operator
namespace.oc get ClusterServiceVersion -n openshift-sriov-network-operator
-
Run the following command to edit the
ClusterServiceVersion
in theopenshift-sriov-network-operator
namespace.oc edit ClusterServiceVersion -n openshift-sriov-network-operator NAME
-
In the container specification section, add an environment variable with the name
CLUSTER_TYPE
and valuekubernetes
.- name: RESOURCE_PREFIX value: openshift.io - name: ENABLE_ADMISSION_CONTROLLER value: "true" - name: CLUSTER_TYPE value: kubernetes
-
Save and close the deployment.
-
Run the following command to edit the
sriov-network-config-daemon
DaemonSet in theopenshift-sriov-network-operator
namespace.oc edit daemonsets.apps -n openshift-sriov-network-operator sriov-network-config-daemon
-
Change the value of
CLUSTER_TYPE
fromopenshift
tokubernetes
.- name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: CLUSTER_TYPE value: kubernetes
-
Save and close the DaemonSet.
-
You can now begin configuring your SRIOV-enabled network device.
The default Calico network interface for pod-to-pod network is always present in all pod networking stacks, including pods that have an SR-IOV network attachment. This means, that in such pods, the Calico network interface is also present next to SR-IOV virtual interfaces. Also, the Calico interface provides the default gateway for IP routing.