sdn: add some reference anchors, some polishing

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2020-05-10 20:09:52 +02:00
parent ee6e18c480
commit 4e652ababb

View File

@ -13,6 +13,7 @@ Documentation for it is also still under development, ask on our
xref:getting_help[mailing lists or in the forum] for questions and feedback. xref:getting_help[mailing lists or in the forum] for questions and feedback.
[[pvesdn_installation]]
Installation Installation
------------ ------------
@ -62,6 +63,7 @@ On the web-interface SDN feature have 4 main sections for the configuration
* Controller: * Controller:
[[pvesdn_config_main_sdn]]
SDN SDN
~~~ ~~~
@ -72,6 +74,7 @@ There is an 'Apply' button, to push and reload local configuration on all
cluster nodes nodes. cluster nodes nodes.
[[pvesdn_config_zone]]
Zones Zones
~~~~~ ~~~~~
@ -92,6 +95,7 @@ You can restrict a zone to specific nodes.
It's also possible to add permissions on a zone, to restrict user to use only a It's also possible to add permissions on a zone, to restrict user to use only a
specific zone and only the VNets in that zone specific zone and only the VNets in that zone
[[pvesdn_config_vnet]]
VNets VNets
~~~~~ ~~~~~
@ -115,23 +119,25 @@ VNet properties are:
on each node part of the Zone. It's only useful for `bgp-evpn` routing. on each node part of the Zone. It's only useful for `bgp-evpn` routing.
[[pvesdn_config_controllers]]
Controllers Controllers
~~~~~~~~~~~ ~~~~~~~~~~~
Some zone types (currently only the `bgp-evpn` plugin) need an external Some zone types need an external controller to manage the VNet control-plane.
controller to manage the VNet control-plane. Currently this is only required for the `bgp-evpn` zone plugin.
[[pvesdn_zone_plugins]]
Zones Plugins Zones Plugins
------------- -------------
Common options Common options
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
nodes:: deploy and allow to use a VNets configured for this Zone only on nodes:: Deploy and allow to use a VNets configured for this Zone only on these
these nodes. nodes.
[[pvesdn_zone_plugin_vlan]]
VLAN Zones VLAN Zones
~~~~~~~~~~ ~~~~~~~~~~
@ -145,6 +151,7 @@ Specific `VLAN` configuration options:
bridge:: Reuse this local VLAN-aware bridge, or OVS interface, already bridge:: Reuse this local VLAN-aware bridge, or OVS interface, already
configured on *each* local node. configured on *each* local node.
[[pvesdn_zone_plugin_qinq]]
QinQ Zones QinQ Zones
~~~~~~~~~~ ~~~~~~~~~~
@ -155,12 +162,15 @@ NOTE: Your physical network switchs must support stacked VLANs!
Specific QinQ configuration options: Specific QinQ configuration options:
bridge:: a local VLAN-aware bridge already configured on each local node bridge:: A local VLAN-aware bridge already configured on each local node
service vlan:: he main VLAN tag of this zone
service vlan:: The main VLAN tag of this zone
mtu:: Due to the double stacking of tags you need 4 more bytes for QinQ VLANs. mtu:: Due to the double stacking of tags you need 4 more bytes for QinQ VLANs.
For example, you reduce the MTU to `1496` if you physical interface MTU is For example, you reduce the MTU to `1496` if you physical interface MTU is
`1500`. `1500`.
[[pvesdn_zone_plugin_vxlan]]
VXLAN Zones VXLAN Zones
~~~~~~~~~~~ ~~~~~~~~~~~
@ -175,9 +185,13 @@ Each VNet will have use specific VXLAN id from the range (1 - 16777215).
Specific EVPN configuration options: Specific EVPN configuration options:
peers address list:: a list of IPs from all nodes where you want to communicate (can also be external nodes) peers address list:: A list of IPs from all nodes through which you want to
mtu:: because VXLAN encapsulation use 50bytes, the MTU need to be 50 bytes lower than the outgoing physical interface. communicate. Can also be external nodes.
mtu:: Because VXLAN encapsulation use 50bytes, the MTU need to be 50 bytes
lower than the outgoing physical interface.
[[pvesdn_zone_plugin_evpn]]
EVPN Zones EVPN Zones
~~~~~~~~~~ ~~~~~~~~~~
@ -202,9 +216,11 @@ mtu:: because VXLAN encapsulation use 50bytes, the MTU need to be 50 bytes
lower than the outgoing physical interface. lower than the outgoing physical interface.
[[pvesdn_controller_plugins]]
Controllers Plugins Controllers Plugins
------------------- -------------------
[[pvesdn_controller_plugin_evpn]]
EVPN Controller EVPN Controller
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
@ -218,11 +234,11 @@ apt install frr
Configuration options: Configuration options:
asn:: a unique BGP ASN number. It's highly recommended to use private ASN asn:: A unique BGP ASN number. It's highly recommended to use private ASN
number (64512 65534, 4200000000 4294967294), as else you could end up number (64512 65534, 4200000000 4294967294), as else you could end up
breaking, or get broken, by global routing by mistake. breaking, or get broken, by global routing by mistake.
peers:: an ip list of all nodes where you want to communicate (could be also peers:: An ip list of all nodes where you want to communicate (could be also
external nodes or route reflectors servers) external nodes or route reflectors servers)
Additionally, if you want to route traffic from a SDN BGP-EVPN network to Additionally, if you want to route traffic from a SDN BGP-EVPN network to
@ -231,12 +247,13 @@ external world:
gateway-nodes:: The proxmox nodes from where the bgp-evpn traffic will exit to gateway-nodes:: The proxmox nodes from where the bgp-evpn traffic will exit to
external through the nodes default gateway external through the nodes default gateway
If you want that gateway nodes don't use the default gateway, but, for example, gateway-external-peers:: If you want that gateway nodes don't use the default
sent traffic to external BGP routers gateway, but, for example, sent traffic to external BGP routers, which handle
(reverse) routing then dynamically you can use. For example
gateway-external-peers:: 192.168.0.253,192.168.0.254 `192.168.0.253,192.168.0.254'
[[pvesdn_local_deployment_monitoring]]
Local Deployment Monitoring Local Deployment Monitoring
--------------------------- ---------------------------
@ -247,6 +264,7 @@ the local network configuration is generated locally on each node in
You can monitor the status of local zones and vnets through the main tree. You can monitor the status of local zones and vnets through the main tree.
[[pvesdn_setup_example_vlan]]
VLAN Setup Example VLAN Setup Example
------------------ ------------------
@ -334,7 +352,8 @@ iface eth0 inet static
Then, you should be able to ping between both VMs over that network. Then, you should be able to ping between both VMs over that network.
QinQ setup example [[pvesdn_setup_example_qinq]]
QinQ Setup Example
------------------ ------------------
TIP: While we show plain configuration content here, almost everything should TIP: While we show plain configuration content here, almost everything should
@ -463,9 +482,13 @@ between 'vm3' and 'vm4'. But, none of VMs 'vm1' or 'vm2' can ping the VMs 'vm3'
or 'vm4', as they are on a different zone with different service-vlan. or 'vm4', as they are on a different zone with different service-vlan.
[[pvesdn_setup_example_vxlan]]
VXLAN Setup Example VXLAN Setup Example
------------------- -------------------
TIP: While we show plain configuration content here, almost everything should
be configurable using the web-interface only.
node1: /etc/network/interfaces node1: /etc/network/interfaces
---- ----
@ -559,8 +582,8 @@ iface eth0 inet static
Then, you should be able to ping between between 'vm1' and 'vm2'. Then, you should be able to ping between between 'vm1' and 'vm2'.
[[pvesdn_setup_example_evpn]]
EVPN setup example EVPN Setup Example
------------------ ------------------
node1: /etc/network/interfaces node1: /etc/network/interfaces