OpenStack Networking LBaaS

19
Load Balancing as-a-service Ilya Shakhat Eugene Nikanorov

description

The presentation on OpenStack Networking Loadbalancing-as-a-service held at Havana summit in Portland, 18 Apr 2013

Transcript of OpenStack Networking LBaaS

Page 1: OpenStack Networking LBaaS

Load Balancingas-a-service

Ilya ShakhatEugene Nikanorov

Page 2: OpenStack Networking LBaaS

Avishay, Eugene, KC, Leon, Mark, Oleg, Youcef

... and all who helped with discussions,

specifications and testing

Thanks!

Page 3: OpenStack Networking LBaaS

● History

Agenda

● Grizzly○ features○ architecture○ workflow

● Future

Page 4: OpenStack Networking LBaaS

● Stand-alone solutions:○ Atlas (Java)○ Equilibrium (Python)

● In Grizzly became Quantum extension

History

Page 5: OpenStack Networking LBaaS

● REST API● CLI ● UI in Horizon● On-host HAProxy● DevStack out-of-box support

Features Overview

Page 6: OpenStack Networking LBaaS

● Load balancing between services on VMs● Load balancing methods (e.g. round-robin)● Session persistence● Health monitoring (TCP, HTTP)● Connection limit

Load Balancing Features

Page 7: OpenStack Networking LBaaS

Quantum

Quantum Service Plugins

Core Plugin

Service PluginService PluginService Plugin

L2 and L3 network

LB Service

Page 8: OpenStack Networking LBaaS

Architecture

Plugin

Agent HAProxy process

RPC

REST API

DB

Extension

python-quantumclient

Horizon

Quantum

Page 9: OpenStack Networking LBaaS

Pool

Model

Member Member

VM A10.0.0.4:80

VM B10.0.0.5:80

Vip (10.0.0.10:80)

Health Monitor

Subnet

Subnet

Page 10: OpenStack Networking LBaaS

Wiring

VM A Load Balancer

Router

10.0.0.1010.0.0.4

VM B

10.0.0.5

External Traffic

Internal Trafficfloating ip172.0.0.10

Page 11: OpenStack Networking LBaaS

1. Create pool 2. Create members (1 per VM / service)3. Create vip for the pool4. (opt.) Create health monitor and

associate with Pool

Workflow

Page 12: OpenStack Networking LBaaS

UI | Step 1

Page 13: OpenStack Networking LBaaS

UI | Step 2

Page 14: OpenStack Networking LBaaS

UI | Step 3

Page 15: OpenStack Networking LBaaS

UI | Step 4

Page 16: OpenStack Networking LBaaS

● Support of HW / VM LBs ○ driver API

● Device Inventory● Service insertion modes

○ routed mode○ 1-arm○ other modes

LBaaS Next

Page 17: OpenStack Networking LBaaS

Architecture

LBaaS Plugin

Agent

LB A

LBaaS Extension

Driver A Driver B

Device Inventory Pluginmaps service type to device

(mgmt interface)

Device Inventory Ext.

LB B

Page 18: OpenStack Networking LBaaS

Routed Mode Insertion

VM A

Load Balancer

10.0.0.4

VM B

10.0.0.5

provider network

tenantnetwork

172.0.0.10

Page 19: OpenStack Networking LBaaS

Q&A