
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
74 lines
1.9 KiB
ReStructuredText
74 lines
1.9 KiB
ReStructuredText
.. _vlan-plugin-37938fe8578f:
|
|
|
|
===========
|
|
VLAN Plugin
|
|
===========
|
|
|
|
The |VLAN| plugin allows a virtual device to be created in the container that
|
|
is attached to a physical device in the host via a ``veth`` pair. The veth in
|
|
the host namespace will be a ``VLAN`` sub-interface of the physical device.
|
|
|
|
The following options are used to configure the plugin:
|
|
|
|
``name`` (string, required)
|
|
The name of the network.
|
|
|
|
``type`` (string, required)
|
|
``vlan``
|
|
|
|
``master`` (string, required)
|
|
The name of the host interface to use. Default: default route interface.
|
|
|
|
``vlanId`` (integer, required)
|
|
Id of the |VLAN|.
|
|
|
|
``mtu`` (integer, optional)
|
|
Explicitly set |MTU| to the specified value. Default: chosen by the kernel.
|
|
|
|
``ipam`` (dictionary, required)
|
|
|IPAM| configuration to be used for this network. For an interface without
|
|
an IP address, use an empty dictionary.
|
|
|
|
The following example creates a pod containing an additional network
|
|
interface corresponding to a |VLAN| interface. There is no need to apply the
|
|
``vlan`` tag in the container.
|
|
|
|
.. code-block:: yaml
|
|
|
|
apiVersion: "k8s.cni.cncf.io/v1"
|
|
kind: NetworkAttachmentDefinition
|
|
metadata:
|
|
name: vlan0
|
|
spec:
|
|
config: '{
|
|
"cniVersion": "0.3.1",
|
|
"name": "vlan0",
|
|
"type": "vlan",
|
|
"master": "eth1001",
|
|
"vlanId": 100,
|
|
"ipam": {
|
|
"type": "static",
|
|
"addresses": [
|
|
{
|
|
"address": "10.10.10.1/24",
|
|
"gateway": "10.10.10.2"
|
|
}
|
|
]
|
|
}
|
|
}'
|
|
---
|
|
apiVersion: v1
|
|
kind: Pod
|
|
metadata:
|
|
name: vlanpod0
|
|
annotations:
|
|
k8s.v1.cni.cncf.io/networks: '[
|
|
{ "name": "vlan0" }
|
|
]'
|
|
spec:
|
|
containers:
|
|
- name: vlan0
|
|
image: centos/tools
|
|
imagePullPolicy: IfNotPresent
|
|
command: [ "/bin/bash", "-c", "--" ]
|
|
args: [ "while true; do sleep 300000; done;" ] |