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.
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.