Core Concepts
MAAS (Metal as a Service)β
β Bare-metal provisioning tool by Canonical
β Automates OS installation via PXE
β Manages DHCP, DNS, IP assignment
β Injects SSH keys automatically
MAAS treats physical machines the same way cloud platforms treat virtual machines β you enlist, commission, and deploy them through a UI or API.
PXE Bootβ
β Network boot instead of disk boot
β Used for automated OS deployment
β Triggered via BIOS (F12 β Network Boot)
When a node boots via PXE:
- It receives an IP from MAAS DHCP
- Downloads a boot image over the network
- MAAS installs the OS automatically
- Machine is ready for SSH access
Cloud-initβ
β Industry-standard post-install configuration system
β Used for:
- hostname assignment
- package installation
- system configuration (sysctl, timezone)
:::warning Important lesson
Do NOT define users in cloud-init when using MAAS. MAAS handles SSH key injection automatically. Overriding this causes SSH access failures.
:::
Key Principleβ
Provisioning β MAAS
Configuration β Cloud-init
Keep these responsibilities separated. MAAS handles getting the OS on the machine, cloud-init handles configuring it.