Removes deprecated lbaasv2 haproxy docs

The lbaasv2 haproxy driver was removed and deprecated,
and the only supported option at the moment is octavia.
The Kuryr-Kubernetes documentation for Kubernetes services networking was
updated to reflect this change.

Change-Id: I72811ae0b9d15c781a7cce567d29c8189832fcb7
Closes-Bug: #1899284
This commit is contained in:
Tabitha 2020-10-14 22:53:21 +01:00
parent 2f828486c7
commit 5a1842bf7b
1 changed files with 18 additions and 45 deletions

View File

@ -3,7 +3,7 @@ Kubernetes services networking
==============================
Kuryr-Kubernetes default handler for handling Kubernetes `services`_ and
endpoints uses the OpenStack Neutron `LBaaS API`_ in order to have each service
endpoints uses the OpenStack `Octavia API`_ in order to have each service
be implemented in the following way:
* **Service**: It is translated to a single **LoadBalancer** and as many
@ -21,59 +21,32 @@ be implemented in the following way:
corner are implemented in plain Kubernetes networking (top-right) and in
Kuryr's default configuration (bottom)
If you are paying attention and are familiar with the `LBaaS API`_ you probably
noticed that we have separate pools for each exposed port in a service. This is
probably not optimal and we would probably benefit from keeping a single
Neutron pool that lists each of the per port listeners. Since `LBaaS API`_
doesn't support UDP load balancing, service exported UDP ports will be ignored.
If you are paying attention and are familiar with the `Octavia API`_ you
probably noticed that we have separate pools for each exposed port in a
service. This is probably not optimal and we would probably benefit from
keeping a single Neutron pool that lists each of the per port listeners.
When installing you can decide to use the legacy Neutron HAProxy driver for
LBaaSv2 or install and configure OpenStack Octavia, which as of Pike implements
the whole API without need of the neutron-lbaas package.
Kuryr-Kubernetes uses OpenStack Octavia as the load balancing solution for
OpenStack and to provide connectivity to the Kubernetes Services.
It is beyond the scope of this document to explain in detail the inner workings
of these two possible Neutron LBaaSv2 backends thus, only a brief explanation
will be offered on each.
Legacy Neutron HAProxy agent
----------------------------
The requirements for running Kuryr with the legacy Neutron HAProxy agent are
the following:
* Keystone
* Neutron
* Neutron-lbaasv2 agent
As you can see, the only addition from the minimal OpenStack deployment for
Kuryr is the Neutron lbaasv2 agent.
In order to use Neutron HAProxy as the Neutron LBaaSv2 implementation you
should not only install the neutron-lbaas agent but also place this snippet in
the *[service_providers]* section of neutron.conf in your network controller
node:
.. code-block:: ini
NEUTRON_LBAAS_SERVICE_PROVIDERV2="LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default"
When Kuryr sees a service and creates a load balancer, the HAProxy agent will
spawn a HAProxy process. The HAProxy will then configure the LoadBalancer as
listeners and pools are added. Thus you should take into consideration the
memory requirements that arise from having one HAProxy process per Kubernetes
Service.
It is beyond the scope of this document to explain in detail the inner
workings of Openstack Octavia thus, only a brief explanation will be offered.
Octavia
-------
OpenStack Octavia is a new project that provides advanced Load Balancing by
using pre-existing OpenStack services. The OpenStack requirements that Octavia
adds over the Neutron HAProxy agent are:
OpenStack Octavia is a project that provides advanced Load Balancing by using
pre-existing OpenStack services. The requirements for running Kuryr with
OpenStack Octavia are the following:
* Nova
* Neutron
* Glance
* Barbican (if TLS offloading functionality is enabled)
* Keystone
* Rabbit
* MySQL
You can find a good explanation about the involved steps to install Octavia in
the `Octavia installation docs`_.
@ -787,5 +760,5 @@ Troubleshooting
.. _services: https://kubernetes.io/docs/concepts/services-networking/service/
.. _LBaaS API: https://wiki.openstack.org/wiki/Neutron/LBaaS/API_2.0
.. _Octavia API: https://docs.openstack.org/api-ref/load-balancer/v2/
.. _Octavia installation docs: https://docs.openstack.org/octavia/latest/contributor/guides/dev-quick-start.html