Bridged Overlay Network#
In this exercise we configure a bridged overlay network using EVPN. The same principle apply here. The default network config is used to simplify the configuration for the end user as much as possible.
Bridged Network
Execute the following command to instantiate the bridged network
Configue a bridged EVPN overlay network
=======================================
# apply the default network config [1/1]:
> kubectl apply -f https://raw.githubusercontent.com/kubenet-dev/kubenet/v0.0.1/network/vpc1-bridged-network.yaml
network.network.app.kuid.dev/topo3nodesrl.vpc1 created
An abstract data model is derived per device for this confiuration, which is translated to the specific implementation of srlinux and finally transacted to the device. Important to note that only edge01 and edge02 got a new configuration, since these devices are only used for this specific configuration. The topology information is used to determine this.
The abstracted device models per device can be viewed with this command
NAME READY PROVIDER
topo3nodesrl.default.core01 True srlinux.nokia.com
topo3nodesrl.default.edge01 True srlinux.nokia.com
topo3nodesrl.default.edge02 True srlinux.nokia.com
topo3nodesrl.vpc1.edge01 True srlinux.nokia.com
topo3nodesrl.vpc1.edge02 True srlinux.nokia.com
through the -o yaml option in kubectl
you get the detailed view of the config in yaml format; -o json provide the json based output
example command for the abstracted config of the edge01 device
The final device specific srlinux configuration send to the device can be seen through this command.
NAME READY REASON TARGET SCHEMA
topo3nodesrl.default.core01 True ready default/core01 srl.nokia.sdcio.dev/24.3.2
topo3nodesrl.default.edge01 True ready default/edge01 srl.nokia.sdcio.dev/24.3.2
topo3nodesrl.default.edge02 True ready default/edge02 srl.nokia.sdcio.dev/24.3.2
topo3nodesrl.vpc1.edge01 True ready default/edge01 srl.nokia.sdcio.dev/24.3.2
topo3nodesrl.vpc1.edge02 True ready default/edge02 srl.nokia.sdcio.dev/24.3.2
through the -o yaml option in kubectl
you get the detailed view of the config in yaml format; -o json provide the json based output
example command for the detailed srlinux config of the edge01 device
Let's check if this final ended up on the devices.
Expected output
+------------------------------+----------------+----------------+----------------+------------------------------+--------------------------------------+
| Name | Type | Admin state | Oper state | Router id | Description |
+==============================+================+================+================+==============================+======================================+
| default | default | enable | up | | k8s-default |
| mgmt | ip-vrf | enable | up | | Management network instance |
| vpc1.br10 | mac-vrf | enable | up | N/A | k8s-vpc1.br10 |
+------------------------------+----------------+----------------+----------------+------------------------------+--------------------------------------+
Expected output
+------------------------------+----------------+----------------+----------------+------------------------------+--------------------------------------+
| Name | Type | Admin state | Oper state | Router id | Description |
+==============================+================+================+================+==============================+======================================+
| default | default | enable | up | | k8s-default |
| mgmt | ip-vrf | enable | up | | Management network instance |
| vpc1.br10 | mac-vrf | enable | up | N/A | k8s-vpc1.br10 |
+------------------------------+----------------+----------------+----------------+------------------------------+--------------------------------------+
--{ + running }--[ ]--
You can also see the resulting configuration using kubectl using the following command.
kubectl get runningconfigs.config.sdcio.dev edge01 -o yaml
kubectl get runningconfigs.config.sdcio.dev edge02 -o yaml
Nice !!