Advertising Antrea Egress IP via BGP with FRR-k8s #6467
Labels
kind/support
Categorizes issue or PR as related to a support question.
triage/duplicate
Indicates an issue is a duplicate of other open issue.
Advertising Antrea EgressIP via BGP with FRR-k8s
High Availability on Antrea Egress IP on different L3 subnet advertising via BGP not working as expected.
TL;DR
Is it possible with Antrea version v2.0.0 to achieve Egress HA using a different L3 network segment IP and being dynamically advertised via BGP?
Diagram
I have installed Antrea v2.0.0 and enabled the following features:
Installed FRR according to https://github.com/metallb/frr-k8s
Configured FRR to peer with a router external to the cluster, the router is the same gateway for the nodes' network.
frr.yaml.txt
External router configuration:
configure terminal ip forwarding router-id 10.63.16.2 router bgp 64500 neighbor 10.63.16.101 remote-as 64500 neighbor 10.63.16.102 remote-as 64500 neighbor 10.63.16.103 remote-as 64500 exit
Deployment with egress no selector and BGP advertisement:
service-egress-no-selector.yaml.txt
Using Antrea LoadBalancer with an IP (10.10.235.33/32) from a different L3 segment than the nodes, and advertising the IP via BGP using FRR, clients external to the cluster can communicate with the Service LoadBalancer.
External Router BGP routes
The External router shows the IP 10.10.235.33/32 of the LoadBalancer as accessible via any of the 3 worker nodes.
When configuring the Egress 10.10.235.34/32, and advertise the EgressIP via BGP using FRR, the BGP router shows the EgressIP accessible by any of the three worker nodes, which is not accurate since the Egress IP is only accessible through the node that has the EgressIP assigned.
In this way the EgressIP does not work as expected.
The only way I have been able to get Egress to work is by specifying a worker node in EgressIPPool, and advertising the EgressIP via BGP using FRR as reachable only by the node that has the EgressIP.
service-egress-specific-node-selector.yaml.txt
External Router BGP routes (with node selector for egress)
Doing this way, the EgressIP works.
But, the HA of the EgressIP is lost, since if the node fails the Egress becomes inaccessible and is not scheduled for another node.
With this scenario, we would have to manually modify the EgressIPPool definition so that it runs the Egress on another node and manually modify the BGP advertisement for that specific new node.
My question is:
Is it possible with Antrea version v2.0.0 to achieve Egress HA using a different L3 network segment IP and being dynamically advertised via BGP?
The text was updated successfully, but these errors were encountered: