Skip to content

Instantly share code, notes, and snippets.

@apowers313
Created April 17, 2023 04:44
Show Gist options
  • Save apowers313/4e1f5b99daaa38b3467764bb2ab72c61 to your computer and use it in GitHub Desktop.
Save apowers313/4e1f5b99daaa38b3467764bb2ab72c61 to your computer and use it in GitHub Desktop.
MAAS Setup Steps
#!/bin/bash
###
# install maas
###
sudo snap install maas
sudo snap install maas-test-db
maas init region+rack --database-uri maas-test-db:///
maas createadmin --username admin --password admin --email admin
###
# login to maas from CLI
###
export APIKEY=$(sudo maas apikey --username admin)
maas login admin 'http://localhost:5240/MAAS/' $APIKEY
###
# config maas
###
#set name
maas admin maas set-config name=maas_name value=cdp-west1
# set DNS forwarder
maas admin maas set-config name=upstream_dns value=1.1.1.1
# set boot images
maas admin boot-source-selections create 1 os="ubuntu" release="jammy" arches="amd64" subarches="*" labels="*"
maas admin boot-source-selections read 1
maas admin boot-resources import
# make subnet managed
maas admin subnet update 172.16.8.0/24 managed=true
# set ssh key
ssh-keygen -t ed25519 -C apowers@ato.ms
maas admin sshkeys create key="$(cat /home/apowers/.ssh/id_ed25519.pub)"
maas admin sshkeys create "key=$SSH_KEY"
# set default gateway
maas admin subnet update 172.16.8.0/24 gateway_ip=172.16.8.1
# reserve IPs on fabric-0
maas admin ipranges create type=reserved start_ip=172.16.8.1 end_ip=172.16.8.79 comment='Reserved for infrastructure and load balancer'
maas admin ipranges create type=dynamic start_ip=172.16.8.80 end_ip=172.16.8.190 comment='DHCP pool'
enable DHCP on fabric-0
FABRIC_ID=$(maas admin subnet read 172.16.8.0/24 | grep fabric | cut -d ' ' -f 10 | cut -d '"' -f 2)
maas admin vlan update fabric-0 0 dhcp_on=True primary_rack=k8s4
# set default images
maas admin maas set-config name=commissioning_distro_series value=jammy
maas admin maas set-config name=default_distro_series value=jammy
# don't show intro on website
# TODO: completed_intro
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment