Installing HAProxy
Addressing high availability for OpenStack includes avoiding high load of a single host and ensuring incoming TCP connections to all API endpoints are balanced across the controller hosts. We will use HAProxy, an open source load balancer, which is particularly suited for HTTP load balancing as it supports session persistence and layer 7 processing.
Getting ready
In this section, we will install HAProxy on all controller hosts, configure Pacemaker cluster for HAproxy services, and prepare for OpenStack services configuration.
How to do it...
Run the following steps on all controller nodes:
- Install HAProxy package:
# yum install -y haproxy
- Enable nonlocal binding Kernel parameter:
# echo net.ipv4.ip_nonlocal_bind=1 >> /etc/sysctl.d/haproxy.conf # echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind
- Configure HAProxy load balancer settings for the GaleraDB, RabbitMQ, and Keystone service, as shown in the following diagram:
- Edit
/etc/haproxy/haproxy.cfg
with the following configuration...