Murli
Murli

Reputation: 845

OpenStack L3 load balancer

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

Answers (1)

Vikram Hosakote
Vikram Hosakote

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).

  1. Install OpenStack Octavia using the info in: https://docs.openstack.org/octavia/latest/contributor/guides/dev-quick-start.html

    https://github.com/openstack/octavia

  2. Add the following in /etc/neutron/neutron_lbaas.conf:

    service_provider = LOADBALANCERV2:Octavia:neutron_lbaas.drivers.octavia.driver.OctaviaDriver:default
    
  3. Add the following in /etc/neutron/neutron.conf:

    [octavia]
    base_url=http://<IP address of OpenStack controller node>:9876
    
  4. 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>
    
  5. Sample configuration file for Octavia is at https://github.com/openstack/octavia/blob/master/etc/octavia.conf.

Upvotes: 1

Related Questions