
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
79 lines
2.0 KiB
ReStructuredText
79 lines
2.0 KiB
ReStructuredText
.. _ipvlan-plugin-150be92d0538:
|
|
|
|
=============
|
|
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 |MAC| 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 |MTU| to the specified value. Default: chosen by the kernel.
|
|
|
|
``ipam`` (dictionary, required unless chained)
|
|
The |IPAM| configuration to be used for this network.
|
|
|
|
.. rubric:: |eg|
|
|
|
|
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:
|
|
|
|
.. code-block:: yaml
|
|
|
|
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;" ]
|