KEMP Driver for OpenStack Helion

 

1Introduction

OpenStack is a free and open-source 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.

OpenStack lets users deploy Virtual Machines and other instances which handle different tasks for managing a cloud environment on the fly. It makes horizontal scaling easy, which means that tasks which benefit from running concurrently can easily serve more or less users on the fly by just spinning up more instances.

The KEMP Load Balancer as a Service (LBaaS) OpenStack driver allows the KEMP LoadMaster to be deployed in OpenStack.

1.1Document Purpose

The purpose of this document is to explain how to install the KEMP LBaaS driver in OpenStack Helion and how to deploy a LoadMaster instance in OpenStack Helion.

1.2Intended Audience

This document is intended to be read by anyone who is interested in finding out how to install and use the KEMP LBaaS OpenStack driver.

2Install the KEMP LBaaS OpenStack Driver

For instructions on how to install the KEMP LBaaS OpenStack driver, follow the steps in the sections below.

The installation steps are only valid for the HP Helion Community Virtual Installation. Steps will differ on other installations of OpenStack.

2.1Enable LBaaS in the Horizon Web User Interface (WUI)

Horizon is the OpenStack Web User Interface (WUI). To enable LBaaS in the Horizion WUI, follow the steps below on the machine where HP Helion is installed:

These steps must be performed on all controller nodes.

  1. SSH into the Overcloud OpenStack host Virtual IP Address (VIP).
  2. Change to the root directory by running the following command:

sudo su

  1. Edit the Horizon settings by editing the local_settings.py file:

vim /opt/stack/venvs/openstack/lib/python2.7/site-packages/openstack_dashboard/local/local_settings.py

  1. Find the following block of code:

OPENSTACK_QUANTUM_NETWORK = {

'enable_lb': False

}

The first line in the code snippet might say NEUTRON instead of QUANTUM. Either way is OK.

OpenStack Neutron is a networking project focused on delivering Networking-as-a-Service (NaaS). Neutron has replaced the original networking Application Program Interface (API) which was called Quantum.

  1. Change False to True:

OPENSTACK_QUANTUM_NETWORK = {

'enable_lb': True

}

True is case sensitive and the case should be exactly as it is in this document.

  1. Save the file.
  2. Restart the web server:

service apache2 restart

2.2Enable LBaaS Neutron with the KEMP LoadMaster Driver

LBaaS (Load Balancing as a Service) is currently an advanced service of Neutron. It allows for proprietary and open-source load balancing technologies to drive the actual load balancing of requests. To enable LBaaS Neutron with the KEMP LoadMaster driver, follow the steps below:

These steps must be performed on all controller nodes.

  1. Download the KEMP LoadMaser LBaaS OpenStack driver archive file from the KEMP website: http://kemptechnologies.com/.

The archive file contains three Python files which contain the driver code that Neutron will run to communicate with the LoadMaster.

  1. Extract the archive file. A folder called kemptechnologies will be extracted.
  2. Copy the kemptechnologies folder and paste it into the following compute host directory in the Overcloud:

/opt/stack/venvs/openstack/lib/python2.7/site-packages/neutron/services/loadbalancer/drivers

  1. Edit the neutron.conf configuration file:

vim /etc/neutron/neutron.conf

  1. Find the following line in the file and add lbaas at the end, if it is not already there:

service_plugins = neutron.services.l3_router.l3_router_plugin.L3RouterPlugin,lbaas

A comma (,) is used to separate different service plugins. If a service plugin is listed, add ,lbaas after it.

  1. Go down to the [service_providers] section and add the following line:

LOADBALANCER:kemptechnologies:neutron.services.loadbalancer.drivers.kemptechnologies.driver.KempLoadMasterDriver

  1. Restart Neutron by running the following command:

service neutron-server restart

2.3Change the IP Address in the Driver.py File

In order to allow the plugin to access the LoadMaster, the IP address in the Driver.py file must be pointed to the floating IP address of the LoadMaster instance.

This must be done on all controllers and compute nodes.

To update the file, follow the steps below:

  1. Navigate to the location of the file:

/opt/stack/venvs/openstack/lib/python2.7/site-packages/neutron/services/loadbalancer/drivers/kemptechnologies

  1. Open the driver.py to edit.
  2. Look for the following line:

self.address = “Floating_IP”

  1. Replace Floating_IP with the floating IP address of the LoadMaster instance, for example:

self.address = “10.11.0.10”

  1. Change the username and password, where applicable, for example:

self.username = “bal”

self.password = “1fourall”

  1. Restart Neutron by running the following command:

service neutron-server restart

2.4Create a Flavor

Virtual hardware templates are called “flavors” in OpenStack. These flavors define sizes for RAM, disk, number of cores etc. To create a flavor, follow the steps below in the Horizon WUI:

Figure 2‑1: Flavors

  1. In the Admin > System section of the main menu, select Flavors.

Figure 2‑2: Create Flavor

  1. Click Create Flavor.

Figure 2‑3: Flavor Info

  1. Fill out the fields as needed.

The minimum requirements for a LoadMaster is 2 VCPUs, 2GB of RAM and a 32GB Root Disk. However, these values may need to be increased depending on the type of LoadMaster being deployed.

Enter 0 in the Ephemeral Disk GB and Swap Disk MB fields. KEMP provides a Virtual Machine Disk (VMDK) which takes care of these values.

  1. Click Create Flavor.

3Import and Deploy a LoadMaster Image

To import and deploy a LoadMaster image, refer to the steps in the sections below.

3.1Import a LoadMaster Image

Download the VMware (VMDK) image from the KEMP website: http://kemptechnologies.com/try. Then, follow the steps below in the Horizon WUI:

Figure 3‑1: Images

  1. In the Admin > System section of the main menu, select Images.

Figure 3‑2: Create Image

  1. Click Create Image.

Figure 3‑3: Create an Image

  1. Enter a recognizable Name for the image.
  2. Select Image File in the Image Source drop-down list.
  3. Click Choose File.
  4. Browse to and select the LoadMaster image file.
  5. Select the relevant Format. VMDK is the only supported format at present.
  6. Leave the Architecture, Minimum Disk and Minimum Memory fields blank as they will be set by a the flavor which will be selected when deploying a LoadMaster instance.
  7. Click Create Image.

3.2Set Custom Fields

After the image has been imported, certain custom fields need to be set in order for the LoadMaster to be bootable.

This step is very important as the LoadMaster will not work if the command below is not run. In the command below, the hw_vif_model is set to e100 and the hw_disk_bus is set to ide as that is what the LoadMaster expects, rather than the default values that OpenStack provides.

To set these fields, run the following command in the command line on a controller node.

OpenStack controller nodes contain all OpenStack API services, schedulers and the memcached service.

glance image-update --property hw_disk_bus=ide --property hw_vif_model=e1000 <LoadMasterImageName>

<LoadMasterImageName> is the name that was given to the image that was imported. For example - in this document the <LoadMasterImageName> is Example, as can be seen in the Name field in the previous screenshot.

3.3Deploy a LoadMaster Instance

To deploy a LoadMaster instance, follow the steps below in the Horizon WUI:

Figure 3‑4: Instances

  1. In the main menu, go to Project > Compute > Instances.

Figure 3‑5: Launch Instance

  1. Click Launch Instance.

Figure 3‑6: Details

  1. Enter a recognizable Instance Name.
  2. Select the relevant Flavor that was created in Section 2.3.
  3. Select Boot from image in the Instance Boot Source drop-down list.
  4. Select the LoadMaster image in the Image Name drop-down list.
  5. If you have created different security groups, select the Access & Security tab and fill out the details as needed.

Figure 3‑7: Networking

  1. Select the Networking tab.
  2. Drag and drop the relevant network that the unit needs to be attached to from the Available networks section to the Selected networks section.
  3. Click Launch.

Figure 3‑8: Instance Name

  1. Click the Instance Name link, for example LM in the screenshot above, to view details/logs and access the Console.

3.4Add a Floating IP Address

To make the LoadMaster accessible externally, assign a floating IP address to it. To do this, follow the steps below in the Horizon WUI:

Figure 3‑9: Instances

  1. In the main menu, go to Project > Compute > Instances.

Figure 3‑10: Associate Floating IP

  1. On the relevant LoadMaster entry, click More and select Associate Floating IP.

Figure 3‑11: Add a Floating IP Address

  1. If there are no floating IP addresses set up, click the plus icon to add one.

Figure 3‑12: Allocate IP

  1. Select the relevant Pool and click Allocate IP.

Figure 3‑13: Associate

  1. Select the LoadMaster in the Port to be associated drop-down list.
  2. Click Associate.

After following the above steps the LoadMaster image should now be up and running.

3.5Create and Configure a Pool

It is important to create a pool before configuring the LoadMaster. A number of actions can be performed from within a pool, such as adding a Virtual Service (VIP), Real Server (Member) and health check (Monitor). This can also be done in the LoadMaster WUI. For instructions on how to create a pool and perform these steps in Horizon, refer to the steps below.

A LoadMaster instance must be deployed before creating a pool.

To create a pool, follow the steps below in the Horizon WUI:

Figure 3‑14: Load Balancers

  1. In the main menu, go to Project > Network > Load Balancers.

Figure 3‑15: Add Pool

  1. In the Pools tab, click Add Pool.

Figure 3‑16: Pool Details

  1. Enter a recognizable Name for the pool.
  2. Select the relevant Subnet.
  3. Select the relevant Protocol.
  4. Select the relevant Load Balancing Method.

For a description of each of the load balancing methods, refer to the KEMP LoadMaster, Product Overview.

  1. Click Add.

3.5.1Add a Virtual Service (VIP)

A Virtual Service is called a VIP (Virtual IP Address) in OpenStack. To add a Virtual Service to the LoadMaster via the OpenStack Horizon dashboard, follow the steps below:

Figure 3‑17: Load Balancers

  1. In the main menu, go to Project > Network > Load Balancers.

Figure 3‑18: Add VIP

  1. In the Actions column, click More and select Add VIP.

Figure 3‑19: VIP Details

  1. Enter a recognizable Name.
  2. Select the relevant VIP Subnet.
  3. Enter a valid IP address in the Specify a free IP address from the selected subnet text box.
  4. Enter the relevant Protocol Port.
  5. Select the relevant Protocol.
  6. Select the relevant Session Persistence type.

For a description of each of the persistence methods, refer to the KEMP LoadMaster, Product Overview.

  1. Click Add.

3.5.2Add a Real Server (Member)

To add a Real Server (Member) to the LoadMaster via the OpenStack Horizon dashboard, follow the steps below:

Figure 3‑20: Load Balancers

  1. In the main menu, go to Project > Network > Load Balancers.

Figure 3‑21: Members

  1. Select the Members tab.

Figure 3‑22: Add Member

  1. Click Add Member.

Figure 3‑23: Add Member

  1. Select the relevant Pool relating to KEMP LBaaS.
  2. Select the Select from active instances option in the Member Source drop-down list.
  3. Select the relevant Member(s).

A list of already existing Real Servers (members) will be displayed. The members are the instances that are hosted on OpenStack’s Nova compute nodes.

  1. Specify a Weight for the Real Server.

The higher the weight a Real Server has, the higher the proportion of connections it will receive.

  1. Enter the Protocol Port.
  2. Click Add.

3.5.3Add a Health Check (Monitor)

To add a health check (monitor) to the LoadMaster via the OpenStack Horizon dashboard, follow the steps below:

Figure 3‑24: Load Balancers

  1. In the main menu, go to Project > Network > Load Balancers.

Figure 3‑25: Monitors

  1. Select the Monitors tab.

Figure 3‑26: Add Monitor

  1. Click Add Monitor.

Figure 3‑27: Add Monitor

  1. Select the Type of monitoring.
  2. Enter a value for Delay (the minimum time in seconds between regular checks of a member).
  3. Enter a value for Timeout (the maximum time in seconds for a monitor to wait for a reply).
  4. Enter a value for Max Retries (the number of permissible failures before changing the status of a member to inactive).

9, 4 and 2 are the recommended minimum values for Delay, Timeout and Max Retries respectively.

  1. Click Add.

4Configure and License the LoadMaster

Finally, the LoadMaster needs to be configured and licensed. For steps on how to do this, refer to the sections below.

4.1Configure the Address Settings of the LoadMaster

To configure the address settings of the LoadMaster, follow the steps below:

Figure 4‑1: Instances

  1. In the main menu, go to Project > Compute > Instances.

Figure 4‑2: IP Address

  1. Take a note of the first IP address shown in the IP Address column in the relevant LoadMaster row.

When a LoadMaster image is deployed, an internal IP address is automatically assigned to the Virtual Machine. This is the first IP address listed here. The second IP is the floating IP address which Network Address Translates (NATs) into the internal one.

Figure 4‑3: Console

  1. Click the Instance Name link for the relevant LoadMaster.
  2. Select the Console tab.

Figure 4‑4: Log in

  1. Log in to the LoadMaster console.

The default username is bal and the password is 1fourall.

Figure 4‑5: IP address

  1. Enter the IP address that was noted in Step 2.
  2. Press OK.

Figure 4‑6: Enter default gateway address

  1. Enter the IP address of the Default Gateway.

Figure 4‑7: Nameserver IP addresses

  1. Enter a space-separated list of nameserver IP addresses.
  2. A message will appear asking to continue licensing via the WUI. Try to access the IP address via a web browser. Ensure to enter https:// before the IP address.

Contact a local KEMP Customer Services Representative for further support if needed.

4.2Licensing and Configuration

The LoadMaster must now be licensed and configured to operate within the network. To do this, follow the steps below:

  1. In the address bar of a web browser, enter https:// followed by the IP address of the LoadMaster.
  1. A warning may appear regarding website security certificates. Please click the continue/ignore option.
  2. The LoadMaster End User License Agreement screen appears. Please read the license agreement and, if you are willing to accept the conditions therein, click on the Agree button to proceed.
  3. A screen will then appear asking if you are OK with the LoadMaster regularly contacting KEMP to check for updates and other information. Click the relevant button to proceed.
  4. If using the Online licensing method, fill out the fields and click License Now.

If you are starting with a trial license, there is no need to enter an Order ID. If you are starting with a permanent license, enter the KEMP Order ID# if this was provided to you.

If using the Offline Licensing method, select Offline Licensing, obtain the license text, paste it into the License field and click Apply License.

For detailed instructions on how to register for a KEMP ID and license the LoadMaster, refer to the Licensing, Feature Description.

  1. The Change Password screen appears.

Figure 4‑8: Set Password

  1. Enter a new password for the bal user in the Password text box and retype it in the Retype Password text box.
  2. The login screen appears again; enter the bal user name and the new password as set in the previous step.
  3. In the screen informing that the password has changed, click the Continue button.
  4. If the LoadMaster has a temporary license, a warning will appear informing that a temporary license has been installed on the LoadMaster.
  5. Click OK.

Figure 4‑9: LoadMaster home page

  1. The LoadMaster home page will appear.
  2. Go to System Configuration> Network Setup in the main menu.
  3. Click the eth0 menu option within the Interfaces section.

Figure 4‑10: Network Interface

  1. In the Network Interface 0 screen, enter the IP address of the eth0 interface, the network facing interface of the LoadMaster, in the Interface Address text box.
  2. Click the Set Address button.
  3. Click the eth1 menu option within the Interfaces section.
  4. In the Network Interface 1 screen, enter the IP address of the eth1 interface, the farm-side interface of the LoadMaster, in the Interface Address text box.
  5. Click the Set Address button.

This interface is optional, depending on the network configuration.

  1. In the main menu, go to System Configuration > Host & DNS Configuration.

  1. Enter the hostname in the Current Hostname text box.
  2. Click Set Hostname.

Figure 4‑11: DNS Servers

  1. Enter the IP address(es) of the DNS Server(s) which will be used to resolve names locally on the LoadMaster in the IP Address text box.
  2. Click Add.
  3. Enter the domain name that is to be prepended to requests to the DNS nameserver into the Domain text box.
  4. Click Add.
  5. In the main menu, go to System Configuration > Network Setup > Default Gateway.

Figure 4‑12: IP Addresses

  1. Enter the IP address of the default gateway in the IPv4 Default Gateway Address text box.
  2. Click the Set IPv4 Default Gateway button.
  3. If you have an IPv6 Default Gateway, enter the value in the IPv6 Default Gateway Address text box and click Set IPv6 Default Gateway.

The LoadMaster is now fully installed and ready to be used. For further information on how to configure and implement the LoadMaster, please refer to the LoadMaster documentation: http://kemptechnologies.com/documentation.

References

Unless otherwise specified, the following documents can be found at http://kemptechnologies.com/documentation.

KEMP LoadMaster, Product Overview

Licensing, Feature Description

Document History

Date

Change

Reason for Change

Version

Resp.

Dec 2014

Initial draft

First draft of document

1.0

LB

Jan 2015

Changes made

Feedback received

1.1

LB

Feb 2015

Release updates

Updates for 7.1-24

1.2

LB

Feb 2015

Minor updates

Screenshot updated

1.3

LB

Apr 2015

Minor updates

Updates for 7.1-26

1.4

LB

Sep 2015

Release updates

Updates for 7.1-30 release

3.0

LB

Jan 2016

Minor updates

Updated

4.0

LB

Mar 2016

Minor updates

Enhancement made

5.0

LB

Was this article helpful?

0 out of 0 found this helpful

Comments