Op 17/04/2024 om 14:29 schreef Dietrich, Alex:
Hello CloudStack Community,
I am attempting to establish full Layer 3 connectivity between the KVM hosts in
my CloudStack deployment. I have found a few resources to assist in the
process, including the modifyvxlan.sh script necessary to establish the
appropriate network bridge configuration for new VXLAN networks. I have been
able to successfully establish underlay/overlay connectivity between
top-of-rack and the hypervisors running FRR.
The issue I am running into is how to properly configure the cloudbr interfaces
to properly support using Layer 3 uplinks, which by their nature are on
different subnets. Is it not necessary to specify the physical interfaces in
the bridge? As I understand the operation of a linux bridge, it would not be
optimal to bridge two interfaces with different IP addresses.
In addition, is it feasible to also use VXLAN for the Public and Management
traffic? If so, does anyone have any examples how they’ve leveraged that to
configure the management IP addresses for the KVM hosts?
Yes, we have done so using bridges on VXLAN using systemd-networkd. I
think it could be good to have a workshop around this at CloudStack
Conference in Madrid this year.
Does a single cloudbr with the various traffic labels assigned make sense for
all traffic in the VXLAN use case?
For each new network a bridge is created by modifyvxlan.sh, you don't
need to create one yourself.
Your only create cloudbr1 on top of VXLAN, as we did using systemd-networkd:
root@hv-138-a13-37:/etc/systemd/network# cat cloudbr1.net*
# Managed by Salt
[NetDev]
Name=cloudbr1
Kind=bridge
# Managed by Salt
[Match]
Name=cloudbr1
[Network]
LinkLocalAddressing=no
[Address]
Address=10.100.2.108/20
[Route]
Gateway=10.100.1.1
[Link]
MTUBytes=1500
root@hv-138-a13-37:/etc/systemd/network#
root@hv-138-a13-37:/etc/systemd/network# cat vxlan*.net*
# Managed by Salt
[NetDev]
Name=vxlan100
Kind=vxlan
[VXLAN]
Id=100
Local=10.255.255.108
MacLearning=false
DestinationPort=4789
# Managed by Salt
[Match]
Name=vxlan100
[Network]
Bridge=cloudbr1
[Link]
MTUBytes=1500
root@hv-138-a13-37:/etc/systemd/network#
root@hv-138-a13-37:/etc/systemd/network# ls -al
total 28
drwxr-xr-x 2 root root 4096 Apr 21 2023 .
drwxr-xr-x 6 root root 4096 Apr 21 2023 ..
-rw-r--r-- 1 root root 203 Apr 21 2023 00-uplinks.network
-rw-r--r-- 1 root root 54 Apr 21 2023 cloudbr1.netdev
-rw-r--r-- 1 root root 160 Apr 21 2023 cloudbr1.network
-rw-r--r-- 1 root root 126 Apr 21 2023 vxlan100.netdev
-rw-r--r-- 1 root root 87 Apr 21 2023 vxlan100.network
root@hv-138-a13-37:/etc/systemd/network#
root@hv-138-a13-37:/etc/systemd/network# cat
/etc/cloudstack/agent/agent.properties|grep cloudbr1
private.network.device=cloudbr1
root@hv-138-a13-37:/etc/systemd/network#
Hope this helps!
Wido
Thanks,
Alex