Errors or typos? Topics missing? Hard to read? Let us know.
MAAS is not just a collection of tasks—it’s a system for discovering, preparing, deploying, and managing machines at scale. This guide introduces a workflow-driven model, mapping MAAS functions into a repeatable, structured process for infrastructure automation. Instead of treating MAAS as a set of isolated operations, this approach helps you understand, optimize, and automate the full lifecycle of machines from power-on to retirement.
Set MAAS up for success
Install and configure MAAS
- Install and initialize MAAS.
- Configure authentication and API access.
- Set up administrators and users.
Configure networking
- Reflect your physical network in MAAS:
- Define your network.
- Enable DHCP on management networks.
- Manage DNS resolution.
- Enable network discovery for automated detection.
Prepare MAAS for production
- Add rack controllers to enable high availability.
- Add region controllers for for better performance and isolation.
- Configure availability zones for reliability.
Add & manage servers
Enlist machines
- Ensure servers have working power management.
- Enable network boot to make them discoverable by MAAS.
- Manage machines as needed.
Commission machines
- Gather detailed hardware information.
- Run custom commissioning scripts.
- Review commissioning logs for errors or inconsistencies.
Test machines
- Validate hardware with built-in MAAS tests.
- Run custom test scripts.
- Review test logs to catch issues before deployment.
Tag & categorize machines
- Use manual tags for organizing hardware.
- Apply automatic tags based on hardware profiles.
- Set kernel parameters for specific machine types.
Find & allocate resources
Search & filter machines
- Use search filters to find machines that meet specific criteria.
- Locate machines with specific hardware, tags, or availability zones.
Collaborate with teams
- Allocate machines to specific users, teams, or projects.
- Define resource pools for controlled access.
Deploy machines
Deploy to different environments
- Deploy to disk for persistent workloads.
- Deploy in memory for ephemeral workloads.
- Deploy as a VM host to manage virtualization.
Customize deployment
- Apply custom curtin scripts for pre-deployment hardware configuration.
- Apply custom cloud-init scripts for post-deployment software configuration.
- Use custom images or build your own images.
- Enlist running machines without deploying them.
- Enable hardware synchronization for optimized performance.
Monitor & access deployments
- Track deployment progress in real-time.
- Log in to deployed machines for verification.
Manage machine life-cycles
Release & recycle machines
- Erase disks and return machines to an idle state.
- Run custom release scripts (e.g., restore a DPU to a predefined state).
Improve performance, reliability, and security
- Use Prometheus and Loki to monitor performance.
- Deploy a real-time kernel for better response.
- Enhance MAAS security.
- Manage cryptographic security with TLS.
- Integrate Vault for secrets management.
- Improve network security with an air-gapped MAAS.
- Deploy a FIPS-compliant kernel for hardened operations.
Troubleshoot & automate
- Identify trouble spots before they become major issues.
- Monitor logs, test failures, and deployment problems.
- Mark machines as broken or fixed.
- Use rescue mode for debugging machine issues.
- Automate fixes and repeated actions with custom scripts.
Summary: The end-to-end MAAS workflow
- Set up MAAS and networking → Make sure MAAS can see and manage your environment.
- Discover and prepare machines → Add, enlist, commission, test, and tag.
- Find and allocate the right resources → Assign machines to projects and teams.
- Deploy with custom settings → Choose OS, kernel, cloud-init, and monitoring.
- Manage reliability and performance → Optimize infrastructure and handle failures.
- Troubleshoot and automate → Ensure long-term efficiency with proactive monitoring and effective scripting.
This structured approach guides you through the full lifecycle of MAAS, making it clear what needs to be done at each stage while allowing flexibility for different environments.
Last updated 7 days ago.