Skip to main content

Overview

Creating a load balancer in Xloud involves provisioning the top-level resource with a virtual IP, then adding a listener (protocol and port), a pool (backend collection), pool members (backend instances), and a health monitor. The Dashboard creation wizard guides you through all five steps in sequence. The CLI allows each component to be created independently.
Prerequisites
  • An active Xloud account with appropriate permissions
  • Access to the Xloud Dashboard (https://connect.<your-domain>) or CLI configured with credentials
  • API credentials sourced (source admin-openrc.sh)
Load balancers must be placed on a subnet that has routing access to your backend instances. Verify that security group rules allow ingress on the member port from the load balancer’s VIP subnet before adding members.

Create via Dashboard (Wizard)

Open the creation wizard

Log in to the Xloud Dashboard (https://connect.<your-domain>) and navigate to Project → Network → Load Balancers. Click Create Load Balancer.

Configure load balancer details

Complete the Load Balancer Details panel:
FieldDescription
NameDisplay name (e.g., prod-web-lb)
DescriptionOptional description
IP AddressLeave blank to auto-assign a VIP, or specify a fixed IP
SubnetThe subnet hosting the VIP — must be reachable from backend instances
Availability ZoneFault domain for appliance placement
Use a dedicated management subnet for the VIP to isolate load balancer traffic from application data paths.

Add a listener

Complete the Listener Details panel:
FieldValueDescription
Namelistener-httpDisplay name
ProtocolHTTPLayer 7 protocol
Protocol Port80Port accepting connections
Connection Limit-1Unlimited; set positive integer to cap

Configure the pool

Complete the Pool Details panel:
FieldValueDescription
Namepool-httpPool display name
AlgorithmROUND_ROBINTraffic distribution method
Session PersistenceNoneEnable for stateful application sessions
Algorithm options:
  • ROUND_ROBIN — distributes requests evenly across all UP members
  • LEAST_CONNECTIONS — sends to the member with fewest active connections
  • SOURCE_IP — routes the same client IP to the same member

Add pool members

In the Pool Members panel, click Add next to each instance to register it.
FieldDescription
IP AddressAuto-populated from the selected instance
Protocol PortPort your application listens on (e.g., 8080)
WeightRelative weight — higher weight receives proportionally more requests
Members must be reachable from the load balancer’s VIP subnet. Verify security groups allow ingress on the member port from the VIP address.

Configure health monitor

Complete the Monitor Details panel:
FieldValueDescription
TypeHTTPSends a GET request and validates the response code
Delay5Seconds between probes
Timeout3Seconds to wait for a probe response
Max Retries3Failures before marking a member DOWN
URL Path/healthEndpoint returning HTTP 200 when healthy
Expected Codes200Comma-separated acceptable HTTP status codes

Review and create

Review the summary and click Create Load Balancer.The load balancer enters PENDING_CREATE status. Provisioning typically completes within 30–60 seconds.
The load balancer displays status ACTIVE in the Load Balancers list.

Create via CLI

Authenticate and create the load balancer

Source credentials
source openrc.sh
Create load balancer
openstack loadbalancer create \
  --name prod-web-lb \
  --vip-subnet-id <subnet-id>
Wait for ACTIVE status:
Wait for ACTIVE status
openstack loadbalancer show prod-web-lb \
  -c provisioning_status -c operating_status

Create a listener

Create HTTP listener
openstack loadbalancer listener create \
  --name listener-http \
  --protocol HTTP \
  --protocol-port 80 \
  prod-web-lb

Create a pool

Create pool with round-robin algorithm
openstack loadbalancer pool create \
  --name pool-http \
  --lb-algorithm ROUND_ROBIN \
  --listener listener-http \
  --protocol HTTP

Add members

Add backend member
openstack loadbalancer member create \
  --subnet-id <instance-subnet-id> \
  --address <instance-ip> \
  --protocol-port 8080 \
  pool-http
Repeat for each backend instance.

Create a health monitor

Create HTTP health monitor
openstack loadbalancer healthmonitor create \
  --name hm-http \
  --delay 5 \
  --timeout 3 \
  --max-retries 3 \
  --type HTTP \
  --url-path /health \
  --expected-codes 200 \
  pool-http
Load balancer is ACTIVE. Health monitor is probing members.

Next Steps

Floating IP Assignment

Expose the load balancer VIP on a public network for external access.

Listeners

Add HTTPS, TCP, or additional HTTP listeners to the load balancer.

Health Monitors

Tune health check parameters for your application’s response characteristics.

Troubleshooting

Resolve PENDING_CREATE status and member health issues.