Kemp LBaaS Driver for Mirantis OpenStack
Contents
1 Introduction
OpenStack is a cloud computing software platform. It is primarily deployed as an Infrastructure as a Service (IaaS) solution. The technology consists of a series of interrelated projects that control pools of processing, storage and networking resources throughout a data center. This can be managed through a web-based dashboard, command-line tools or a RESTful API.Mirantis
OpenStack lets users deploy Virtual Machines and other instances that handle different tasks for managing a cloud environment on the fly. With Mirantis OpenStack, horizontal scaling is easy – more instances can be spun up in order to serve more users, as needed.Mirantis
The Kemp Load Balancer as a Service (LBaaS) OpenStack driver allows the Kemp LoadMaster to be deployed in Mirantis OpenStack.
1.1 Document Purpose
This document explains how to install the Kemp LBaaS driver in Mirantis OpenStack and how to deploy a LoadMaster instance in Mirantis OpenStack.
1.2 Intended Audience
This document is for anyone who is interested in finding out how to install and use the Kemp LBaaS Mirantis OpenStack driver.
2 Kemp LBaaS Mirantis OpenStack Driver
For instructions on how to install and use the Kemp LBaaS OpenStack driver, refer to the sections below.
2.1 Prerequisites
The following prerequisites must be in place before following these steps:
OpenStack 8.0 (Liberty release) must be deployed.Mirantis
A LoadMaster must be deployed within OpenStack.
Some of the commands in this document may require sudo or root access.
The Application Program Interface (API) must be enabled on the LoadMaster. For instructions on how to do this, refer to the steps below:
a) In the LoadMaster Web User Interface (WUI), go to Certificates & Security > Remote Access.
b) Select the Enable API Interface check box.
2.2 Install the Kemp LBaaS Mirantis OpenStack Driver Package
The package can either be installed automatically (if a network connection is in place) or manually. Refer to the relevant section below for further information.
2.2.1 Enable LBaaS in Mirantis OpenStack
To enable LBaaS, open the Mirantis Command Line Interface (CLI) and follow the steps below:
1. Edit the local_settings.py file:
vim /etc/openstack-dashboard/local_settings.py
2. Find the following block of code:
OPENSTACK_NEUTRON_NETWORK = {
'enable_lb': False }
3. Change False to True:
OPENSTACK_NEUTRON_NETWORK = {
'enable_lb': True }
True is case sensitive and the case should be exactly as it is in this document.
4. Save the file.
5. Restart the web server:
service apache2 restart
2.2.2 Automatically Install the Driver Package
To automatically install the driver package, open the Mirantis Command Line Interface (CLI) and enter the following command:
pip install <NameOfKempOpenStackDriver>
For example:
pip install kemptech-openstack-lbaas
2.2.3 Manually Install the Driver Package
To manually install the driver package, follow the steps below:
1. Go to the following link: https://pypi.python.org/pypi/kemptech-openstack-lbaas/.
2. Download the .tar.gz file provided.
3. Extract the .tar.gz file.
4. In the Mirantis CLI, find the relevant Python path by running the following commands:
python
import sys
sys.path
The default path is usually /usr/lib/python2.7/dist-packages.
5. Copy the downloaded kemptech_openstack_lbaas folder into the dist-packages folder.
If updating the Kemp driver package, overwrite the existing files.
2.2.4 Enable LBaaS Neutron with the Kemp LoadMaster Driver
Configure the neutron.conf and neutron_lbaas.conf files to use the Kemp LBaaS plugin. To do this, follow the steps below:
1. Edit the neutron.conf configuration file:
vim /etc/neutron/neutron.conf
2. Find the service_plugins line and add neutron_lbaas.services.loadbalancer.plugin .LoadBalancerPluginv2, for example:
service_plugins = neutron.services.l3_router.l3_router_plugin.L3RouterPlugin,neutron.services.metering.metering_plugin.MeteringPlugin,neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2
A comma (,) is used to separate different service plugins.
3. At the bottom of the file, add the following:
[kemptechnologies]
lm_address = <LoadMasterIPAddress>
lm_username = <LoadMasterUsername>
lm_password = <LoadMasterPassword>
For example:
[kemptechnologies]
lm_address = 172.16.2.129
lm_username = bal
lm_password = test1234
4. Save the changes made to the edited file.
5. Edit the neutron_lbaas.conf configuration file:
vim /etc/neutron/neutron_lbaas.conf
6. Save the changes made to the edited file.
7. Go down to the [service_providers] section and add (or append, as needed) the following line:
service_provider = LOADBALANCERV2:kemptechnologies:neutron_lbaas.drivers.kemptechnologies.driver_v2.KempLoadMasterDriver:default
This is case sensitive.
If there are other LBaaS entries in the list, ensure the Kemp one is set as the default.
8. Restart Neutron by running the following command:
service neutron-server restart
2.3 Topology Setup
Refer to the commands below to find out how to create a load balancer, listener, pool, members and health monitor:
Get the Universally Unique Identifier (UUID) of the private subnet:
neutron subnet-list
Create a load balancer:
neutron lbaas-loadbalancer-create --name lb1 private-subnet
Create a listener (health check):
neutron lbaas-listener-create --loadbalancer lb1 --protocol HTTP --protocol-port 80 --name listener1
Create a pool and associate it with the previously created listener:
neutron lbaas-pool-create --lb-algorithm ROUND_ROBIN --listener listener1 --protocol HTTP --name pool1
Create members (Real Servers):
neutron lbaas-member-create --subnet private-subnet --address <ServerIPAddress> --protocol-port 80 pool1
Create a health monitor and associate it with the pool:
neutron lbaas-healthmonitor-create --delay 3 --type HTTP --max-retries 3 --timeout 3 --pool pool1
2.4 Updating the Driver Package
To update the driver package, refer to the relevant point below:
Automatic: Run the following command in the Mirantis CLI:
pip install -U <NameOfKempOpenStackDriver>
For example:
pip install --upgrade kemptech-openstack-lbaas
Manual: To manually update the driver package, follow the steps in the Manually Install the Driver Package section but overwrite the existing files.
Last Updated Date
This document was last updated on 19 September 2022.