Offline docs (switch to live docs)                          UI-only  CLI-only

Controllers: Understanding region and rack

Unveiling the backbone of MAAS: controllers

Errors or typos? Topics missing? Hard to read? Let us know!

Understanding how controllers fit into the MAAS ecosystem is crucial to your success in managing your metal infrastructure. You may find it useful to tweak your controller settings based on your specific network and machine count. Even consider opting for a high availability setup for robustness.

At the core of MAAS are its controllers, which come in two flavours: region controllers and rack controllers. While the region controller is the interaction hub for operators, the rack controller focuses on delivering high-bandwidth services to the machines.

Diving into region controllers

A region controller is a multifaceted component comprising:

It manages either an entire data centre or a specific region and orchestrates a myriad of tasks from API request routing to keeping DNS and RBAC up to date.

Exploring rack controllers

Your rack controller is the workhorse of each 'fabric,' offering four key services:

Positioned strategically in each data centre rack, it caches essential resources like OS install images for optimal performance.

Unravelling the fabric concept

Think of a fabric as a digital loom that interlinks VLANs. It allows VLANs, which are ordinarily isolated, to communicate under specific conditions. This comes in handy when different departments in an organisation, like accounting and facilities in a hospital, need to share data.

Navigating controller communication

The hierarchy of communication in MAAS flows from the UI/API to the region controller, then to the rack controller, and finally to the machines. High availability (HA) setups introduce redundancy but don't alter this fundamental flow.

The rack-controller-to-machine dialogue

All communications from machines route through rack controllers. This includes everything from DNS lookups to APT cache-and-forward proxies via Squid. A unique DNS resource is created for each subnet, which machines use to find an available rack controller.

Interplay between region and rack controllers

The dance between the region and rack controllers is a nuanced one. It involves multiple steps, from initial operator requests to the final storage of machine data in a PostgreSQL database. This multi-step process underpins tasks like commissioning machines and demonstrates the intricate communications within MAAS.

Tell me about the DHCP "next-server" statement The `next-server` directive specifies the host from which a machine should load its initial boot file. In the context of MAAS, the rack controller serving DHCP roles as this host, acting as a broker for boot file delivery.

MAAS Architecture