docs/doc/source/usertasks/kubernetes/add-an-additional-network-interface-to-a-container-616bc5c5a6dd.rst
Ron Stone 539fb24b44 Container Network Interface (CNI) Plugin Up-version
Add descriptions and examples of new CNI plugins.
Note: Bond plugin is covered in https://review.opendev.org/c/starlingx/docs/+/837599
Content restructuring per patchset 1 comments.
Patchset 2 review updates.
Patchset 3 review updates.
Fix merge conflict.
eth1001 > eth1000 for consistency in example.
Patchset 6 review updates.

Story: 2009832
Task: 45235

Signed-off-by: Ron Stone <ronald.stone@windriver.com>
Change-Id: Idab0308ff8f973c4aa20b66fbcfb932bf3dcf92c
2022-06-02 12:58:54 -04:00

3.0 KiB

Add an Additional Network Interface to a Container

Network attachment definition specifications can be created in order to reference / request additional interfaces or network configurations in a container specification.

The type of network attachment definition corresponds to a container networking plugin which performs the actions necessary to set up the interface in the container. Some plugins correspond directly to a new interface in the container, while other "meta" plugins are typically chained with an interface-plugin to perform additional network configuration. Further, ipam plugins can be used to control the IP address allocation for the interface.

"interface-creating" plugin types

sriov <sriov-plugin-4229f81b27ce>

Adds an interface to a container.

host-device <host-device-plugin-714d4862a825>

Adds an already-existing device to a container.

macvlan <macvlan-plugin-e631cca21ffb>

Creates an interface with a new address, usually from a shared host interface.

ipvlan <ipvlan-plugin-150be92d0538>

Creates an ipvlan interface in the container.

bridge <bridge-plugin-7caa94024df4>

Creates a bridge on the host and adds a veth interface in the container to it.

ptp <ptp-plugin-bc6ed0498f4c>

Creates a veth pair between the container and host.

vlan <vlan-plugin-37938fe8578f>

Creates a vlan device in the container.

See bond <integrate-the-bond-cni-plugin-2c2f14733b46> for more information.

bond

Creates a bonded interface in the container.

vrf <virtual-routing-and-forwarding-plugin-0e53f2c2de21>

Enables virtual routing and forwarding in the network namespace of the container.

"meta" plugin types

tuning <tuning-plugin-08f8cdbf1763>

Allows some sysctl parameters of an existing interface to be modified.

portmap

Maps ports from the host's address space to the container.

bandwidth <bandwidth-plugin-3b8966c3fe47>

Applies bandwidth-limiting on a container interface through use of traffic control tbf.

sbr <source-based-routing-plugin-51648f2ddff1>

Enables source based routing for an interface.

"ipam" plugin types

dhcp

Runs a daemon on the host which makes requests on behalf of the container. Requires a server to be connected to the interface.

host-local

Maintains a local database of allocated IP addresses.

static

Allocate a static IPv4/IPv6 addresses to container.

calico-ipam

Use Calico managed IP pools to allocate an address to the interface.