Skip to main content

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:

  1. It receives an IP from MAAS DHCP
  2. Downloads a boot image over the network
  3. MAAS installs the OS automatically
  4. 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.