IBM Cloud Docs
Setting up Single Root I/O Virtualization (SR-IOV) in IBM Cloud Satellite clusters

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

  1. Create a Satellite location.
  2. Set up your location control plane.
  3. 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.

  1. Follow the steps to Install the operator in your cluster. Make sure to set the Update Approval policy to Manual.

  2. Get the details of the ClusterServiceVersion in the openshift-sriov-network-operator namespace.

    oc get ClusterServiceVersion -n openshift-sriov-network-operator 
    
  3. Run the following command to edit the ClusterServiceVersion in the openshift-sriov-network-operator namespace.

    oc edit ClusterServiceVersion -n openshift-sriov-network-operator NAME
    
  4. In the container specification section, add an environment variable with the name CLUSTER_TYPE and value kubernetes.

     - name: RESOURCE_PREFIX
       value: openshift.io
     - name: ENABLE_ADMISSION_CONTROLLER
       value: "true"
     - name: CLUSTER_TYPE
       value: kubernetes
    
  5. Save and close the deployment.

  6. Run the following command to edit the sriov-network-config-daemon DaemonSet in the openshift-sriov-network-operator namespace.

    oc edit daemonsets.apps -n openshift-sriov-network-operator sriov-network-config-daemon
    
  7. Change the value of CLUSTER_TYPE from openshift to kubernetes.

      - name: NAMESPACE
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.namespace
      - name: CLUSTER_TYPE
        value: kubernetes
    
  8. Save and close the DaemonSet.

  9. 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.