O que é o MAAS?

MAAS ou Metal as a Service (Metal como Serviço) é uma ótima ferramenta da Canonical, capaz de provisionar máquinas bare metal, bem como máquinas virtuais. Essa tool permite implantar Windows, Linux, ESXi e muitos outros sistemas operacionais, ajudando você a construir uma “nuvem” bare metal.

INSTALAÇÃO

Nesse cenário instalarei o MAAS em uma máquina Ubuntu Server 22.04 Jammy. Logo no inicio, tive alguns problemas com a instalação utilizando o apt e por isso optei pela instalação utilização o snapd, sendo assim, caso você não tenha o snapd instalado, utilize o comando:

sudo apt install snapd

Agora, iniciaremos o processo de construção do MAAS, para isso primeiro realizaremos o download da versão 3.4 (atualmente a mais estável):

sudo snap install --channel=3.4 maas

O MAAS é um serviço que necessita de um banco de dados, para isso, utilizaremos o postgres. Caso você já possua o postgres em seu ambiente, pule essa etapa. Mas caso desejar utilizar um banco de dados de teste MAAS:

sudo snap install maas-test-db

testando o banco de dados:

sudo maas-test-db.psql

INICIALIZANDO O MAAS

Caso esteja utilizando o banco de dados acima, inicialize o MAAS:

sudo maas init region+rack --database-uri maas-test-db:///

Caso você já utilize o postgres em seu ambiente, poderá inicializar o MAAS usando o seu próprio serviço postgres. Certifique-se de criar o banco de dados, o usuário e atribuir ermissões a esse usuário antes de executar o comando init.

sudo maas init region+rack --database-uri "postgres://username:password@<IP_MAAS>/maas" # replace with username /password / ip /db name

Caso não deseje armazenar suas secrets no histórico do terminal, considere utilizar variáveis ENV:

sudo maas init region+rack --database-uri "postgres://$MAAS_DBUSER:$MAAS_DBPASS@$HOSTNAME/$MAAS_DBNAME"

Para acessar o MAAS, precisamos antes, criar uma conta de administrador:

sudo maas createadmin

OBSERVAÇÕES

Futuramente farei alguns testes utilizando a ferramenta Packer, da Hashicorp, para aumentar a possibilidades de imagens para o provisionamento de novas máquinas virtuais. Mas esse post é exclusivamente sobre o Metal as a Service.

REFERÊNCIAS

Documentação MAAS

Referência de Tutorial (technotim)