Reputation: 845
Is it possible to implement an L3 load balancer in open stack?
I want to load balance incoming traffic to a Virtual IP across multiple VMs based on source IP. Does any of the OpenStack neutron plugin have this feature?
If not, is there any other Linux based approach that I could use to implement this feature?
HA proxy and OpenStack LBaaS is not suitable for me as there are L4 load balancers and handles only TCP and UDP traffic.
Upvotes: 0
Views: 948
Reputation: 3674
Yes, it is possible to do L3 load-balancing in OpenStack. OpenStack has a project for this called Octavia (Load-Balancer-as-a-service).
Install OpenStack Octavia
using the info in:
https://docs.openstack.org/octavia/latest/contributor/guides/dev-quick-start.html
Add the following in /etc/neutron/neutron_lbaas.conf
:
service_provider = LOADBALANCERV2:Octavia:neutron_lbaas.drivers.octavia.driver.OctaviaDriver:default
Add the following in /etc/neutron/neutron.conf
:
[octavia]
base_url=http://<IP address of OpenStack controller node>:9876
Add the following in /etc/octavia/octavia.conf
:
[neutron]
service_name = <name of the neutron service in the keystone catalog>
endpoint = <custom neutron endpoint if override is necessary>
Sample configuration file for Octavia
is at https://github.com/openstack/octavia/blob/master/etc/octavia.conf.
Upvotes: 1