Instalasi MAAS untuk Provisioning OpenStack
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
Published by Nirantara
Nirantara is an Indonesian Enterprise AI company specializing in Enterprise AI, RAG, Intelligent Search, and AI Automation. Article written by jsturana.