Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Goal:

This Wiki describes the steps on how to deploy SRIOV device plugin in edge location node and how to use SRIOV device plugin in K8s pod.

Implemented details

The SRIOV network device plugin is Kubernetes device plugin for discovering and advertising SRIOV network virtual functions (VFs) in a Kubernetes host. and it provides below features:

  • Handles SRIOV capable/not-capable devices (NICs and Accelerators alike)
  • Supports devices with both Kernel and userspace(uio and VFIO) drivers
  • Allows resource grouping using "Selector"
  • User configurable resourceName
  • Detects Kubelet restarts and auto-re-register
  • Detects Link status (for Linux network devices) and updates associated VFs health accordingly
  • Extensible to support new device types with minimal effort if not already supported

To automatically deploy SRIOV network device plugin in ICN, SRIOV KuD SRIOV device plugin includes:

Installation script:

(1) Install and probe Intel Nic kernel driver (e.g. iavf.ko for Intel Ethernet Controller 700 series etc.)

(2) Enable virtual functions (VFs)

Daemon set yaml:

(1) sriov-cni.yaml: deploy sriov cni plugin as daemon set in edge location node, the sriov cni plugin is responsible to create network interface based on SRIOV VF when creating pod.

(2) sriovdp-daemonset.yaml: deploy sriov network device plugin as daemon set in edge location node. the sriov network device plugin is responsible to discovery and advertise SRIOV VFs to K8s.

Use SRIOV device plugin in ICN

...