HAProxy. Ryan O'Hara Principal Software Engineer, Red Hat September 17, 2014. 1 HAProxy



Similar documents
ALOHA LOAD BALANCER MANAGING SSL ON THE BACKEND & FRONTEND

Web Load Balancing on a Budget

Load balancing MySQL with HaProxy. Peter Boros Percona 4/23/13 Santa Clara, CA

Application Note. Active Directory Federation Services deployment guide

Configuring HAproxy as a SwiftStack Load Balancer

CS312 Solutions #6. March 13, 2015

HAProxy. Free, Fast High Availability and Load Balancing. Adam Thornton 10 September 2014

How to Make the Client IP Address Available to the Back-end Server

Exchange 2013 deployment guide

ALOHA Load-Balancer. Microsoft Exchange 2010 deployment guide. Document version: v1.4. ALOHA version concerned: v4.2 and above

Native SSL support was implemented in HAProxy 1.5.x, which was released as a stable version in June 2014.

HaProxy możliwości i zastosowania. Marek Oszczapiński m.oszczapiński@polskapresse.pl

Application Note. Lync 2010 deployment guide. Document version: v1.2 Last update: 12th December 2013 Lync server: 2010 ALOHA version: 5.

EMC VIPR SRM 3.7: GUIDELINES FOR CONFIGURING MULTIPLE FRONTEND SERVERS

PES. High Availability Load Balancing in the Agile Infrastructure. Platform & Engineering Services. HEPiX Bologna, April 2013

What s Your HTTPS Grade? A Case Study of HTTPS/SSL at Mid Michigan Community College. Brandon bkish@midmich.edu

vrealize Operations Manager Load Balancing

High Availability Cluster Solutions for Ubuntu14.04 on Power

Guide to the LBaaS plugin ver for Fuel

Snapt Balancer Manual

Deployment Guide Oracle Siebel CRM

Pass Through Proxy. How-to. Overview:..1 Why PTP?...1

Load Balancing Oracle Application Server (Oracle HTTP Server) Quick Reference Guide

Migrating the SSL Offloading Configuration of the Alteon Application Switch 2424-SSL to AlteonOS version

Deploying the Barracuda Load Balancer with Office Communications Server 2007 R2. Office Communications Server Overview.

Copyright Exceliance

FILECLOUD HIGH AVAILABILITY

Load Balancing VMware Horizon View. Deployment Guide

FortiOS Handbook - Load Balancing VERSION 5.2.2

Microsoft Lync Server Overview

Application Delivery Controller (ADC) Implementation Load Balancing Microsoft SharePoint Servers Solution Guide

Deployment Guide Microsoft IIS 7.0

Red Hat Enterprise Linux 7 Load Balancer Administration

FortiOS Handbook Load Balancing for FortiOS 5.0

Release Notes for Fuel and Fuel Web Version 3.0.1

Prerequisites. Creating Profiles

Load Balancing Microsoft Sharepoint 2010 Load Balancing Microsoft Sharepoint Deployment Guide

Load Balancing. FortiOS Handbook v3 for FortiOS 4.0 MR3

AX Series with Microsoft Exchange Server 2010

Load Balancing Web Proxies Load Balancing Web Filters Load Balancing Web Gateways. Deployment Guide

TESTING & INTEGRATION GROUP SOLUTION GUIDE

Load Balancing VMware Horizon View. Deployment Guide

Installation Runbook for F5 Networks BIG-IP LBaaS Plugin for OpenStack Kilo

CloudCIX Bootcamp. The essential IaaS getting started guide.

AX Series with Microsoft Exchange Server 2010

Thunder Series for SAP Customer Relationship Management (CRM)

Load Balancing Microsoft Terminal Services. Deployment Guide

Deploying SAP NetWeaver Infrastructure with Foundry Networks ServerIron Deployment Guide

Load Balancing McAfee Web Gateway. Deployment Guide

Load Balancing Bloxx Web Filter. Deployment Guide

ALOHA Load-Balancer. API objects. Document version: v2.0. API version concerned: v2.0. Aloha version concerned: Last update date: 24 th November, 2011

Introducing the Microsoft IIS deployment guide

Load Balancing Trend Micro InterScan Web Gateway

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP System v9.x with Microsoft IIS 7.0 and 7.5

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP System v10 with Microsoft IIS 7.0 and 7.5

Load Balancing for Microsoft Office Communication Server 2007 Release 2

Deployment Guide AX Series with Active Directory Federation Services 2.0 and Office 365

Load Balancing Sophos Web Gateway. Deployment Guide

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP system v10 with Microsoft Exchange Outlook Web Access 2007

CumuLogic Load Balancer Overview Guide. March CumuLogic Load Balancer Overview Guide 1

Deploying F5 with Microsoft Active Directory Federation Services

Availability Digest. Redundant Load Balancing for High Availability July 2013

Load Balancing and Sessions. C. Kopparapu, Load Balancing Servers, Firewalls and Caches. Wiley, 2002.

DEPLOYMENT GUIDE DEPLOYING F5 WITH VMWARE VIRTUAL DESKTOP INFRASTRUCTURE (VDI)

Deployment Guide. AX Series with Microsoft Office SharePoint Server

Deployment Guide AX Series with Citrix XenApp 6.5

Load Balancing Barracuda Web Filter. Deployment Guide

Thunder Series for SAP BusinessObjects (BOE)

Deploying the BIG-IP System with Oracle E-Business Suite 11i

Appliance Quick Start Guide. v7.6

Firewall Load Balancing

Deploying the BIG-IP System v10 with VMware Virtual Desktop Infrastructure (VDI)

Networking and High Availability

Implementing Microsoft Office Communications Server 2007 With Coyote Point Systems Equalizer Load Balancing

Smoothwall Web Filter Deployment Guide

Load Balancing Clearswift Secure Web Gateway

Citrix NetScaler Load Balancer Configuration

Deployment Guide. AX Series with Oracle Application Server

DEPLOYMENT GUIDE Version 1.0. Deploying F5 with the Oracle Fusion Middleware SOA Suite 11gR1

Load Balancing Microsoft Lync 2010 Load Balancing Microsoft Lync Deployment Guide

DEPLOYMENT GUIDE Version 1.2. Deploying F5 with Microsoft Exchange Server 2007

Load Balancing RSA Authentication Manager. Deployment Guide

ExamPDF. Higher Quality,Better service!

Securing Networks with PIX and ASA

DEPLOYMENT GUIDE Version 2.1. Deploying F5 with Microsoft SharePoint 2010

Load balancing Microsoft IAG

Networking and High Availability

Score your ACE in Business and IT Efficiency

Introduction to ServerIron ADX Application Switching and Load Balancing. Module 6: Content Switching (CSW) Revision 0310

Owner of the content within this article is Written by Marc Grote

Basic Administration for Citrix NetScaler 9.0

AppDirector Load balancing IBM Websphere and AppXcel

Relayd: a load-balancer for OpenBSD

ClusterLoad ESX Virtual Appliance quick start guide v6.3

Load Balancing Microsoft Exchange Deployment Guide

DEPLOYMENT GUIDE. Deploying F5 for High Availability and Scalability of Microsoft Dynamics 4.0

A Standard Modest WebSite

Deploying the BIG-IP LTM with. Citrix XenApp. Deployment Guide Version 1.2. What s inside: 2 Prerequisites and configuration notes

Transcription:

HAProxy Ryan O'Hara Principal Software Engineer, Red Hat September 17, 2014 1 HAProxy

HAProxy Overview Capabilities Configuration OpenStack HA Neutron LBaaS Resources Questions 2 HAProxy

Overview Load Balancer Layer 4 (TCP) and Layer 7 (HTTP) Reverse Proxy Fast, reliable Easy to handle 10k connections per second High Availability Alone HAProxy is SPOF Can use with Pacemaker or Keepalived for HA Comprehensive statistics and monitoring 3 HAProxy

Availability Available for RHEL6, RHEL7 and Fedora Considered Tech Preview in RHEL6.5 Planned, but not commited, support in RHEL6.6 Load Balancer AddOn in RHEL6 Base OS in RHEL7 4 HAProxy

Capabilities ACLs Extract some information, make decision Block request, select backend, rewrite headers, etc. TCP mode (Layer 4) Basic TCP services, SSL passthrough Some ACLs available HTTP mode (Layer 7) HTTP header inspection ACLs Persistence with cookie insertion 5 HAProxy

Capabilities Stick Tables Record information in table, eg. source address Check table for new connections, select backend New features in HAProxy 1.5 SSL termination Compression Peers 6 HAProxy

HAProxy Server A Server B Client HAProxy Server C 7 HAProxy

HAProxy Client makes connection to HAProxy HAProxy makes connection to backend server Only first connection is considered for algorithms Backend server sees connection from HAProxy HTTP can insert X-Forwarded-For header 8 HAProxy

Configuration global daemon log /dev/log local2 option redispatch retries 3 maxconn 1000 user haproxy group haproxy 9 HAProxy

Configuration defaults log global option dontlognull timeout connect 500ms timeout client 30s timeout server 30s 10 HAProxy

Configuration Proxy listen http-proxy 192.168.1.201:80 mode http option httpchk GET /test balance roundrobin timeout server 30s timeout client 30s server server-01 192.168.1.101:80 check inter 2s server server-02 192.168.1.102:80 check inter 2s server server-03 192.168.1.103:80 check inter 2s 11 HAProxy

Configuration Proxy frontend http-frontend bind 192.168.100.101:80 bind 192.168.100.102:80 default_backend http_backend backend http-backend balance leastconn server server-01 192.168.1.101:81 check inter 2s server server-02 192.168.1.102:81 check inter 2s server server-03 192.168.1.103:81 check inter 2s 12 HAProxy

Configuration Cookie Insertion frontend horizon-proxy... cookie SERVERID insert indirect nocache default_backend horizon-servers backend horizon-servers... server horizon-01 192.168.16.91:80 check inter 1s cookie horizon-01 server horizon-02 192.168.16.92:80 check inter 1s cookie horizon-02 13 HAProxy

Configuration Statistics listen stats bind *:81 mode http stats enable stats-uri /haproxy?stats 14 HAProxy

Configuration SSL Termination frontend http-proxy mode http bind 10.15.85.31:80 redirect scheme https if!{ ssl_fc } frontend https-proxy mode http bind 10.15.85.31:443 ssl crt /etc/pki/haproxy.pem default_backend http-servers 15 HAProxy

Configuration Stick Tables backend galera-servers... stick-table type ip size 1 stick on dst... server galera-01 192.168.16.58:3306 check inter 1s port 9200 server galera-01 192.168.16.59:3306 check inter 1s port 9200... 16 HAProxy

OpenStack HA 17 HAProxy

OpenStack HA Key component in OpenStack HA architecture Pacemaker provides IP failover, service monitoring HAProxy performs load balaning, health checks All OpenStack API services have unique VIPs VIPs on both public and private networks MySQL (Galera), QPID, RabbitMQ 18 HAProxy

OpenStack HA 19 HAProxy

OpenStack LBaaS Load balance client traffic from one network to application services running on virtual machines TCP and HTTP Session persistence Health monitoring API for rapid deployment Drivers for various load balancers, including HAProxy 20 HAProxy

OpenStack LBaaS Pools Logical group of members Virtual machines that provide service (eg. Httpd) Same subnet as members Policy for health checking Load-balancing algorithm ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP Protocol TCP, HTTP, HTTPS 21 HAProxy

OpenStack LBaaS Member Correspond to a service running on a virtual machine Designated by IP address and port Also have weight attribute Default weight is 1 0 : Member will not be considered for new connection, can still handle persistent connections N : Member will receive traffic proportional to weight, relative to total combined weight of all members in pool 22 HAProxy

OpenStack LBaaS Health monitors Periodic check of members Associated with pool All members of pool get health check Multiple health monitors per pool Active member must pass all health checks Types (PING, TCP, HTTP, HTTPS) Delay, retry, timeout 23 HAProxy

OpenStack LBaaS Member Service running on backend virtual machine IP address and port Health monitor Check member health Must be associated with a pool 24 HAProxy

OpenStack LBaaS VIP IP address and port for incoming connections Protocol (TCP, HTTP, HTTPS*) Connection limit Default is -1 (unlimited) Session persistence SOURCE_IP, HTTP_COOKIE, APP_COOKIE Associate with pool Starts haproxy 25 HAProxy

OpenStack LbaaS Deployment Create a pool # neutron lb-pool-create Create members, add members to pool # neutron lb-member-create Create health monitors, associate with pool # neutron lb-healthmonitor-create # neutron lb-healthmonitor-associate Create VIP, associate with pool # neutron lb-vip-create 26 HAProxy

OpenStack LBaaS HAProxy not started until VIP is created One haproxy process per VIP Network namespace qlbaas-${pool_id} State information /var/lib/neutron/lbaas/${pool_id}/... conf pid sock 27 HAProxy

OpenStack LbaaS Future New LbaaS v2 API Layer 7 rules SSL termination Octavia Potential replacement to LbaaS Deploy load balancer in virtual machine New project, still being defined 28 HAProxy

Resources http://www.haproxy.org/ http://cbonte.github.io/haproxy-dconv/configuration-1.5.html https://openstack.redhat.com/lbaas https://wiki.openstack.org/wiki/neutron/lbaas 29 HAProxy

Questions? 30 HAProxy