anuket-project / anuket-specifications

Anuket specifications
https://docs.anuket.io
123 stars 116 forks source link

[RA-1 Ch04] 4.2.3.3. LBaaS v2 compliant Load Balancing #725

Closed pgoyal01 closed 4 years ago

pgoyal01 commented 4 years ago

[RA-1 Ch04] 4.2.3.3. LBaaS v2 compliant Load Balancing -- LBaaS v2 is in the process of being deprecated -- replaced by Octavia.

Suggest change of Title of 4.2.3.3 to Octavia Load Balancer; and the following content:

Load balancing is needed for automatic scaling and availability. Octavia is an open-source load balancer for OpenStack and replaces the deprecated (as of OpenStack Queens release) Neutron LBaaS. Octavia supports the Neutron LBaaS v2 API and also has a similar CLI for seamless transition.

Octavia delivers horizontal scaling by managing a fleet of VMs, containers or bare metal servers (collectively amphorae) and spinning up the necessary resources on demand. To accomplish this Octavia depends upon a number of OpenStack services including Nova for spinning up compute resources on demand and their life cycle management; Neutron for connectivity between the compute resources, project environment and external networks; Keystone for authentication; and Glance for storing of the compute resource images.

iangardner22 commented 4 years ago

@pgoyal01 - I think we should ask a networking person for comment. LBaaS v2 is pretty basic and vendors such as AVI Networks (VMWare) often fill in the gaps. Octavia is good for OVS but does it work with OVS-DPDK / VLANs?

iangardner22 commented 4 years ago

So we need to add other options for LB... do we need an SDN? do we want to use an external LB and statically configure it (nasty)?

pgoyal01 commented 4 years ago

Change, " Octavia is an open-source load balancer for OpenStack and replaces the deprecated (as of OpenStack Queens release) Neutron LBaaS. " to " Octavia is an open-source load balancer for OpenStack, based on HAProxy, and replaces the deprecated (as of OpenStack Queens release) Neutron LBaaS. "

ADD: The neutron-lbaas proxy plugin is used to pass load balancing requests from Neutron API to Octavia API; The Neutron_lbaas driver is configured to use the Octavia driver. Other, say vendor provided, load balancers (LB) can be deployed instead of Octavia by similarly configuring the LB specific plugin and driver.

iangardner22 commented 4 years ago

@pgoyal01 so let me check here - are you saying Octavia is a replacement for LBaaS v2 as I thought Octavia was just an example HA proxy based LB provider which I am not sure would be very useful for NFV... I thought LBaaS v2 remained here and interfaced with the commercial LB product like AVI Networks / F5 etc.

pgoyal01 commented 4 years ago

@iangardner22 LBsaS has been deprecated; the Ovtavia v2 API is backward compatible with the LBaaS v2 API. In Octavia, the reference implementation of the amphorae image is an Ubuntu virtual machine running HAProxy; amphorae are the virtual machines, containers, or bare metal servers that accomplish the delivery of load balancing service.

iangardner22 commented 4 years ago

OK thanks for this - we need to show how we can use a plug-in like an F5 / AVI Networks etc. I don't know if the reference implementation using haproxy would be suitable for production and if it was it would presumably only be good for OVS and not OVS-DPDK or? Where can we get some expertise to answer this?

pgoyal01 commented 4 years ago

@iangardner22 Octavia supports provider drivers which allows third party load balancing drivers (such as F5, AVI, ...) to be integrated with the Octavia v2 API. Users select the “provider” for a load balancer at creation time.

iangardner22 commented 4 years ago

@pgoyal01 OK then as per my point about LBaaS v2 we may want to show this as a pluggable option in the RA. Clearly we cannot favour one provider over another but may wish to call out how integration is done. (AVI Networks -is an entirely software oriented approach compared to those provided by F5 etc. - AVI they were purchased by VMWare). This kind of fits into the SDN topic so perhaps we mention the plug-in nature here and then park until we address SDN

pgoyal01 commented 4 years ago

PR #756 created

@deebhatia @iangardner22 Please review