MaaS Notes

Installation

LXD based maas is so far the best solution. Follow official guide lxc install maas and mass installation.
Few steps to install:

  1. Create dedicated lxd env for maas, including network and storage pool.
  2. maas init to create admin user.
  3. Login https://{MAAS}:5240/MAAS
  4. Setup user public key injection for bare metal commissioning.
  5. Commision nodes and setup networks.
  6. Deploy.

Storage Preparation

Volume can be ZFS/LVM/btrfs:

  1. Create lvm pool. e.g /dev/lxc-vg/maas
  2. apt install thin-provisioning-tools to install lvmthiner driver.
  3. lxd init to choose desired lvm pool.

Network Preparation

Network need to use bridge for lxc to attach with tagged vlans:

  1. atp install bridge-utils to install driver.
  2. Create all network resources on host:
network:
    version: 2
    ethernets:
        enp2s0f0:
            mtu: 1500
            addresses:
            - 10.240.3.18/22
        enp2s0f1: {}
    bridges:
        br-lxc:
            dhcp4: no
            interfaces:
            - enp2s0f1
    vlans:
        br-lxc.2000:
            addresses:
            - 10.240.48.4/24
            gateway4: 10.240.48.1
            id: 2000
            link: br-lxc
            nameservers:
                addresses:
                - 192.x.x.x
  1. lxd init to map existing host bridge for maas profile.
  2. bash into lxc maas and configure its netplan:
network:
    version: 2
    ethernets:
        eth0:
            dhcp4: no
    vlans:
        eth0.2000:
            addresses:
            - 10.240.48.5/24
            gateway4: 10.240.48.1
            id: 2000
            link: eth0
            nameservers:
                addresses:
                - 192.x.x.x