Installing Load Balancer

To install the HAProxy Load Balancer, Cloudera uses an example that uses a single instance of HAProxy, configured with round robin balancing and TCP mode. This allows for non-terminating https (https passthrough). The HAProxy service can be configured for High Availability using keepalived.

You must consult your operating system vendor’s documentation for requirements and the install guide for configuring HAproxy with keepalived.

  1. To install a HAProxy Load Balancer, you must ssh into the HAProxy host, install, and then configure HAProxy:
    sudo su - 
    yum install haproxy -y
    cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
    cat > /etc/haproxy/haproxy.cfg << EOF
    global
        log 127.0.0.1 local2
        chroot /var/lib/haproxy
        pidfile /var/run/haproxy.pid
        user haproxy
        group haproxy
        daemon
    defaults
        mode tcp
        log global
        option tcplog
        option dontlognull
        option redispatch
        retries 3
        maxconn 5000
        timeout connect 5s
        timeout client 50s
        timeout server 50s
    listen stats
        bind *:8081
        mode http
        stats enable
        stats refresh 30s
        stats uri /stats
        monitor-uri /healthz
    frontend fe_k8s_80
        bind *:80
        default_backend be_k8s_80
    backend be_k8s_80
        balance roundrobin
        mode tcp
        server ecs-server1.example.com 10.10.0.1:80 check
        server ecs-server2.example.com 10.10.0.2:80 check
        server ecs-server3.example.com 10.10.0.3:80 check
    frontend fe_k8s_443
        bind *:443
        default_backend be_k8s_443
    backend be_k8s_443
        balance roundrobin
        mode tcp
        server ecs-server1.example.com 10.10.0.1:443 check
        server ecs-server2.example.com 10.10.0.2:443 check
        server ecs-server3.example.com 10.10.0.3:443 check
    EOF
    
    systemctl enable haproxy
    systemctl restart haproxy
    systemctl status haproxy
  2. You can verify that all the hosts are shown from the HAproxy UI. However, at this point the hosts are not listening to the configured ports.
Load Balancer is now installed.