Learn how to configure an OVHcloud Load Balancer with the help of this guide.
Our new Load Balancer as a Service (LBaaS) solution is based on OpenStack Octavia and is fully integrated into the Public Cloud universe.
Requirements
- A Public Cloud project in your OVHcloud account
- Using the OpenStack command line environment
- The OpenStack Command Line Interface tool installed on your working environment
Instructions
Configuring your private network
Before creating a Load Balancer, you will need to set up a private network:
openstack network create my_network
openstack subnet create my_subnet --subnet-range <my_private_ip_range/mask> --network my_network --no-dhcp
openstack router create my_router
openstack router add subnet my_router my_subnet
openstack router set --external-gateway Ext-Net my_router
You can now attach your instances to the new network. We recommend following our guide to integrate an instance into vRack. List the addresses of your instances in your network with the following command:
openstack server list
In the next step, configure the network interfaces of your instances according to this output.
Creating the Load Balancer
You can view a list of the different Load Balancer flavors we offer with this command:
openstack loadbalancer flavor list
To find your subnet ID, use the following command:
openstack network list
You can now create your Load Balancer with the following command. In this example, we will create a "Small" Load Balancer.
openstack loadbalancer create --name my_load_balancer --flavor small --vip-subnet-id my_subnet
Your Load Balancer will be configured with an IP address of the private network. If you want to have access from the internet, you will need to attach a Floating IP address.
Attaching a Floating IP address to a Load Balancer
This is how to attach a Floating IP address to a Load Balancer:
openstack floating ip create Ext-Net
openstack floating ip set --port <my_load_balancer_vip_port_id> <floating_ip>
openstack loadbalancer show my_load_balancer
.
Configuring your Load Balancer
In this example, we will configure an HTTP Load Balancer. In order to listen on port 80 of the Load Balancer, create a Listener with this command:
openstack loadbalancer listener create --name my_listener_http --protocol HTTP --protocol-port 80 my_loadbalancer
Once the Listener has been created, you need to add each instance that can respond to external requests. To do this, you must create an Instance Pool:
openstack loadbalancer pool create --name my_pool_http --lb-algorithm ROUND_ROBIN --listener my_listener --protocol HTTP
Add your instances to the Instance Pool:
openstack loadbalancer member create --subnet-id my_subnet --address <private_ip_instance_1> --protocol-port 80 my_pool
openstack loadbalancer member create --subnet-id my_subnet --address <private_ip_instance_2> --protocol-port 80 my_pool
You can now access your Load Balancer via the Floating IP or private IP address from an instance in your private network.
Go further
For further information about Openstack Octavia, please see the official documentation of OpenStack Octavia or the Cookbook OpenStack Octavia resource.
For more OVHcloud guides, please see our other Public Cloud support guides or explore the guides for other OVHcloud products and services.