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
2.0 KiB
Ipvlan Plugin
The Ipvlan plugin allows a virtual device that shares the physical capabilities and connectivity of a device on the host to be created in the container. The virtual device will have the same address as the physical device. The kernel directs traffic to and from the virtualized device based on the IP address.
The following options are used to configure the plugin:
name
(string, required)-
The name of the network.
type
(string, required)-
ipvlan
master
(string, optional)-
The name of the host interface to use. Default: the default route interface.
mode
(string, optional)-
One of
l2
,l3
,l3s
. Default:l2
. mtu
(integer, optional)-
Set the to the specified value. Default: chosen by the kernel.
ipam
(dictionary, required unless chained)-
The configuration to be used for this network.
The following example would create a pod which contains an additional
network interface corresponding to an ipvlan
device which
uses the eth1000
interface on the host:
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
name: ipvlan0
spec:
config: '{
"cniVersion": "0.3.1",
"name": "ipvlan0",
"type": "ipvlan",
"master": "eth1000",
"mode": "l2",
"ipam": {
"type": "static",
"addresses": [
{
"address": "10.10.10.2/24",
"gateway": "10.10.10.1"
}
]
}
}'
---
apiVersion: v1
kind: Pod
metadata:
name: ipvpod0
annotations:
k8s.v1.cni.cncf.io/networks: '[
{ "name": "ipvlan0" }
]'
spec:
containers:
- name: ipv0
image: centos/tools
imagePullPolicy: IfNotPresent
command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 300000; done;" ]