Multus CNI: Creating multiple network interfaces for pods in Kubernetes* to enable NFV and SDN use cases in container environments

ID 724746
Updated 11/24/2021
Version Latest
Public

author-image

By

Read Documentation

Overview

Traditionally, multiple network interfaces are employed by network functions to provide for separation of control, management and data/user network planes. They are also used to support different protocols or software stacks and different tuning and configuration requirements. Intel helped facilitate NFV use cases in container environments by contributing the Multus Container Network Interface (CNI) device plugin. This plugin that can be used to create multiple network interfaces for pods in Kubernetes*.

Design and Architecture

Here's an illustration of the network interfaces attached to a pod, as provisioned by Multus CNI. The diagram shows the pod with three interfaces: eth0net0 and net1eth0 connects kubernetes cluster network to connect with kubernetes server/services (e.g. kubernetes api-server, kubelet and so on). net0 and net1 are additional network attachments and connect to other networks by using other CNI plugins (e.g. vlan/vxlan/ptp).

Installation and Usage

The quickstart installation method for Multus requires that you have first installed a Kubernetes CNI plugin to serve as your pod-to-pod network, which we refer to as your "default network" (a network interface that every pod will be creatd with). Each network attachment created by Multus will be in addition to this default network interface. For more detail on installing a default network CNI plugins, refer to our quick-start guide.

Clone this GitHub repository, we'll apply a daemonset which installs Multus using to kubectl from this repo. From the root directory of the clone, apply the daemonset YAML file:

$ cat ./images/multus-daemonset.yml | kubectl apply -f -

This will configure your systems to be ready to use Multus CNI, but, to get started with adding additional interfaces to your pods, refer to our complete quick-start guide

1