Kembali ke Beranda
Networking

Instalasi MAAS untuk Provisioning OpenStack

Tutorial instalasi MAAS sebagai provisioning layer untuk OpenStack, mulai dari uninstall MAAS lama, instalasi MAAS menggunakan Snap Test DB, konfigurasi MAAS dengan PostgreSQL lokal, pembuatan admin, setup SSH key, akses dashboard, hingga troubleshooting issue DNS NXDOMAIN dan AppArmor pada MAAS Snap.

MAAS dipakai sebagai provisioning layer untuk mendaftarkan, mengelola, dan men-deploy bare metal yang nantinya dipakai oleh Juju/OpenStack.

1. Uninstall MAAS Lama

Gunakan bagian ini jika sebelumnya sudah pernah install MAAS dan ingin mulai bersih.

sudo snap remove maas maas-cli maas-test-db
sudo apt-get purge maas maas-cli maas-cluster-controller maas-common maas-dhcp maas-dns maas-region-controller python-django-maas python-maas-client python-maas-provisioningserver ; apt-get autoremove
sudo apt-get purge maas ; sudo apt-get autoremove

2. Instalasi MAAS dengan Snap Test DB

Versi ini cocok untuk lab atau environment kecil.

sudo snap install --channel=2.8/stable maas-test-db
sudo snap install --channel=2.8/stable maas
sudo maas init region+rack --maas-url http://<MAAS_IP>:5240/MAAS --database-uri maas-test-db:///
sudo maas createadmin --username admin --password <PASSWORD> --email <EMAIL> --ssh-import lp:<LAUNCHPAD_USER>

Command alternatif:

sudo snap install maas
sudo maas init --help
sudo maas init region+rack --database-uri maas-test-db:///
sudo maas createadmin

Contoh input create admin:

Username: <USERNAME>
Password:
Again:
Email: <EMAIL>

3. Instalasi MAAS dengan PostgreSQL External Lokal

Install PostgreSQL:

sudo apt install -y postgresql
sudo -u postgres psql -c "CREATE USER \"admin\" WITH ENCRYPTED PASSWORD '<PASSWORD>'"
sudo -u postgres createdb -O "admin" "maas_sc2_28"

Edit konfigurasi PostgreSQL:

sudo nano /etc/postgresql/12/main/pg_hba.conf

Tambahkan rule:

host    maas            admin           0/0                     md5

Restart PostgreSQL dan init MAAS:

sudo /etc/init.d/postgresql restart
sudo maas init region+rack --database-uri "postgres://admin:<PASSWORD>@localhost/maas_sc2_28_2"

4. SSH Key untuk MAAS

Masuk ke mesin MAAS, lalu generate SSH key:

ssh-keygen

Public key akan berada di:

/home/<USER>/.ssh/id_rsa.pub

Ambil file tersebut untuk diisikan ke public key MAAS.

5. Akses Dashboard MAAS

http://<MAAS_IP>:5240/MAAS

6. Issue: Alert NXDOMAIN pada MAAS / DNS

Jika muncul alert:

Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001

Edit /etc/nsswitch.conf:

sudo nano /etc/nsswitch.conf

Ubah bagian hosts menjadi:

hosts:          resolve files dns

Edit /etc/systemd/resolved.conf:

sudo nano /etc/systemd/resolved.conf

Isi contoh:

[Resolve]
DNS=8.8.8.8 8.8.4.4
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
Cache=yes
DNSStubListener=yes

Restart service:

sudo systemctl restart systemd-resolved
systemctl status systemd-resolved

7. Issue AppArmor MAAS Snap Tidak Bisa Akses Device

Masuk ke folder AppArmor profile:

cd /var/lib/snapd/apparmor/profiles
sudo nano snap.maas.supervisor

Tambahkan akses device:

/dev/sda r,
/dev/sr0 r,
/etc/gss/mech.d/ r,

Reload AppArmor:

sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.maas.supervisor
maasopenstackjujuprovisioningbare metalsnappostgresqlssh keymaas dashboarddnsnxdomainsystemd-resolvedapparmorubuntucloud infrastructure
Nirantara Logo

Published by Nirantara

Nirantara is an Indonesian Enterprise AI company specializing in Enterprise AI, RAG, Intelligent Search, and AI Automation. Article written by jsturana.

Learn more about Nirantara