SR-IOV Network Device Plugin

ID 724678
Updated 11/24/2021
Version Latest
Public

author-image

By

High-performance Network I/O with Single Root I/O Virtualization (SR-IOV) orchestrated through Kubernetes*

Read Documentation

Overview

Kubernetes is typically used to run workloads of production web applications at massive scale. While NFV control plane functions are similar to the usual Kubernetes workloads, data plane functions different greatly and require special attention to extend the capabilities of Kubernetes to support NFV use cases. The Kubernetes Intel SR-IOV network device plug-in extends the capabilities of Kubernetes to address high-performance network I/O by discovering and advertising SR-IOV network virtual functions (VFs) in a Kubernetes host.

Features

  • Handles SR-IOV 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

Supported SR-IOV NICs

The following NICs were tested with this implementation. However, other SR-IOV capable NICs should work as well.

  • Intel® Ethernet Controller X710 Series 4x10G - PF driver: v2.4.6 - VF driver: v3.5.6

please refer to Intel download center for installing latest Intel Ethernet Controller-X710-Series drivers

  • Intel® 82599ES 10 Gigabit Ethernet Controller
  1. PF driver: v4.4.0-k
  2. VF driver: v3.2.2-k

please refer to Intel download center for installing latest Intel-® 82599ES 10 Gigabit Ethernet drivers

  • Mellanox ConnectX®-4 Lx EN Adapter
  • Mellanox ConnectX®-5 Adapter

Network card drivers are available as a part of the various linux distributions and upstream. To download the latest Mellanox NIC drivers, click here.

Installation and Usage

Continue reading...

Blogs

Enhancing K8s Networking