diff --git a/doc/source/operations/octavia.rst b/doc/source/operations/octavia.rst index f884d130f..07d561e55 100644 --- a/doc/source/operations/octavia.rst +++ b/doc/source/operations/octavia.rst @@ -2,6 +2,74 @@ Octavia ======= +.. Introduction to Octavia: + +Introduction to Octavia +======================= + +Octavia is known as an *operator-scaled* load balancing service, whose primary goal is to +distribute incoming network traffic, destined for a single VM, across multiple VMs instead; +thus preventing overloading the VM and improving the overall performance of the VM's outbound +service. + +For more information on Octavia, please refer to the `official documentation `_. + +.. _Deploying Octavia: + +Deploying Octavia +================= + +Much like any other Kolla managed service, the method of deploying Octavia is as simple +as: + +#. Enabling ``kolla_enable_octavia: true`` within the chosen environment's ``kolla.yml``. + +#. Check ``octavia_net_interface`` is configured in ``${KAYOBE_CONFIG_PATH}/inventory/group_vars/`` (often in ``controllers/network-interfaces.yml``). + + - IF NOT CONFIGURED + + 2.1. Check if a ``bond_interface`` has been configured, still within ``network-interfaces.yml``. + + 2.2. Check whether other network interfaces, such as ``internal_interface``, are configured to use ``{{ bond_interface }}`` and/or ``{{ .._vlan }}``. + + 2.3. If they are, then ``octavia_net_interface: "{{ brbond0_interface }}.{{ octavia_net`` ± ``_vlan }}"``. + + - IF CONFIGURED + + 2.1. Continue to step 3. + +#. Check that the ``{{ .._net_.. }}`` network configured for ``octavia_net_interface`` exists in ``networks.yml``. + + - IF NOT CONFIGURED + + 3.1. Set ``octavia_net_name: octavia_net``. + + 3.2. Configure the Octavia network IP information, making sure to set ``octavia_net_vlan`` if using a VLAN. + + - IF CONFIGURED + + 3.1. Continue to step 4. + +#. Dependencies if: + + - USING VLAN + + 4.1. Set ``kolla_enable_neutron_provider_networks: true`` in ``kolla.yml``. + + - USING AMPHORA + + 4.1. Set ``octavia_loadbalancer_topology: "ACTIVE_STANDBY"`` in ``${KAYOBE_CONFIG_PATH}/kolla/globals.yml``. + +#. Run ``kayobe overcloud service reconfigure``. + +By default Octavia will deploy an Amphora (a single Ubuntu VM running HAProxy) per load balancing service. +Consequently, if using Amphora, this default behaviour should be changed to make them highly available so that +there are two Amphora VMs per service. Achieved by step 4.2 above, this will ensure that if the master Amphora +VM were to go down, the other would be able to take over the load balancing functions. + +Further configuration options and details on installation can be found in the +`Octavia documentation `_. + .. _Amphora image: Building and rotating amphora images