MAAS High Availability Overview

Preview:

Citation preview

MAAS 2.0 High Availability

Architectural overview and scenarios

MAASArchitecture

Primer

Region & Rack

○ MAAS consists of two high-level components: Region and Rack

○ In the simplest possible deployment, both components can run on a single system(That's what you get when you simply do apt-get install maas)

Region & Rack

The Region is what the sysadmin directly interacts with:

○ Delivers Web interface and REST API

○ Services DNS requests via BIND

○ Provides an HTTP proxy via SQUID

○ Provides API endpoints used by curtin and cloud-init during node lifecycle

○ Stores deployment metadata and downloaded images in PostgreSQL

Region & Rack

The Rack directly manages nodes in order to inventory and deploy:

○ Provides DHCP services via dhcpd

○ Provides TFTP (built-in)

○ Delivers an ephemeral environment via PXE and iSCSI which is used for commissioning and deployment

Region

Rack 1

○ MAAS can be easily scaled out by separating the Region and Rack onto separate machines(Separate VMs on different hosts are OK too)

○ The Rack controller can manage a rack (or more) directly

○ The Region can manage multiple Rack controllers

High AvailabilityRegion and Rack-level scenarios

HA Region(2+ servers)

HA Rack Controller

* ideally on switch* typically in-rack or row-level* cache of images* provides backup services for adjacent racks/rows

HA Rack Controller

HA Overview

Rack Server

Rack Server

Rack Server

Rack Server

Rack Server

Rack Server

Rack Server

Rack Server

Rack Server

Rack Server

Rack Server

Rack Server

Rack Server

Rack Server

HA PostgreSQL(2+ servers)

Managed VIP or haproxy

Region

Rack 1 Rack 2 Rack 3

○ Single MAAS region

○ No HA configured

○ Region & Rack-level SPOFs

Region

Rack 1 Rack 2 Rack 3

Region○ Region HA

○ Region controllers share DB

DB Cluster

Region

Rack 1 Rack 2 Rack 3

Region○ Region HA

○ Master dies

○ No problem!

○ Spare region controller takes over

DB Cluster

Region

Rack 1 Rack 2 Rack 3

Region○ Region HA

○ Rack HA

○ Each rack controller can manage multiple networks

DB Cluster

Region

Rack 1 Rack 2 Rack 3

Region○ Region HA

○ Rack HA

○ Rack 1 dies

○ No problem!

○ Rack 2 takes over

DB Cluster

maas.io