Halo guys, Ridwan heres..
Come again with new notes update!
Sebelumnya aku sudah tulis terkait Baseboard Management Controller (BMC).
dengan BMC kita bisa provisioning OS pada server secara remote hanya melalui console tampa perlu akses fisik ke ruang server/datacenter.
Tetapi, proses provisioning nya sama seperti kita meng'install OS pada umumnya.
Seperti boot DVD-ROM / ISO Files, kemudian setup installer, select disk parition, select setting, dan lainnya..
Sangat berbeda dengan "provisioning cloud" yang bisa menggunakan images dan bisa langsung deploy tampa perlu banyak setup.
Kemudian bagaimana kalau kita ingin provisioning server dalam jumlah banyak.. Akan kan kita mau mengeluarkan effort, menginstall satu per satu pada seluruh server ?
Apakah bisa provisioning server seperti kita provisioning cloud..
Just One Klik, Deploy !!
Let me Introduce..
MaaS (Metal-As-A-Service)
Cloud style provisioning for servers.
Ok, Penjelasan simple nya..
MaaS ini menggunakan service PXE (Preboot eXecution Environment) untuk provisioning boot ke server/machine yang akan di manage, Kemudian OS yang di-kirimkan oleh PXE-Server bukan ISO files, Tetapi MaaS images/Packer templates. (https://maas.io/docs/about-images)
Bagaiamana, mudah dipahami ?
Jika masih belum akan saya perlihatan contoh review-nya, Pada Video Berikut :
If we see on the right side, The machine is not being touched.
Fully automatic power on via IPMI, then boot into PXE with MaaS images.
Right away..
Let's jump on installation step!
---------
1. Installation
Disini saya menggunakan Ubuntu 24.04.1 untuk di installkan MaaS.
untuk menginstall MaaS sangat direkomendasikan Menggunakan "snap" sebagai installer dari pada "APT".
Install "MaaS" menggunakan command berikut :
$ sudo snap install --channel=$VERSION maas
Seperti aplikasi ada umumnya, pasti akan membutuhkan databases untuk back-end data nya..
kita bisa menggunakan postgresql atau RDBMs (Relational Database Management System) lainnya untuk production level.
Tapi karena tujuan kita saat ini hanya untuk testing. kita akan menggunakan Test DB dari MaaS.
Install "maas-test-db" menggunakan command berikut :
$ sudo snap install maas-test-db
Selanjutnya, setelah databases sudah terinstall, Initialize MaaS menggunakan maas-test-db.
Dengan command berikut :
$ sudo maas init region+rack --database-uri maas-test-db:///
Ok.. Pada step ini kita sudah berhasil melakukan Install MaaS menggunakan TestDB, tahap selanjutnya kita akan masuk ke step config!
-------
2. Configuration
Melanjutkan step sebelumnya, setelah berhasil terinstall kita perlu setup user untuk akses MaaS.
Create administrator user, dengan command berikut :
$ sudo maas createadmin
Selanjutnya.. Akses Web-UI dari MaaS,
untuk alamat Web-UI nya kalian bisa lihat details pada proses Init databases sebelumnya~
Login dengan account yang sudah di create menggunakan command "createadmin" pada step sebelumnya. Kemudian, kalian akan melakukan setup :
- MaaS Region Name
- DNS
- Repo Addr
- Images
Setelah selesai config, kita perlu upload "SSH Public-Key",
Tujuan nya agar setiap machine yang berhasil ter-deploy oleh MaaS dapat diakses via SSH menggunakan SSH-Key tersebut.
Terakhir, active-kan services TFTP & DHCP (Next-Server) :
Masuk ke menu "Network" > "Subnet" > "VLAN" > "Configure DHCP".
DHCP yang dimaksud oleh MaaS adalah "Next-Server" DHCP dengan configurasi khusus untuk PXE-Boot, Serices TFTP, Reserved Dyanamic Range ini adalah range yang akan digunakan oleh MaaS untuk proses provisioning / deploy machine saja.
Saat machine sudah terdeploy OS maka IP yang digunakan sesuai DHCP dari router/network.
-------
3. Machine Provisioning With MaaS
Ok, Disini kita sudah menyiapkan satu machine yang terkoneksi dengan server MaaS.Dan machine sudah di-arahkan agar menggunakan network boot. Setelah di-nyalakan, machine akan langsung detect server MaaS sebagai PXE Boot nya. seperti tampilan berikut :
Sekarang lihat pada Web-UI dari MaaS, Pada Menu "Hardware" > "Machine".
Akan tampil sebuah machine yang terdeteksi menggunakan PXE boot, dan akan mencul "New Machine" seperti tampilan berikut :
Seperti yang terlihat pada gambar di atas, masih terdapat error dengan message "unconfigurated power type".
Error ini terjadi karena MaaS masih belum memiliki akses "Power Controll" dari machine tersebut. sehingga MaaS tidak bisa melakukan reboot/shutdown/poweroff pada machine tersebut.
Disini kita perlu melakukan config "Power Configuration" dari machine tersebut.
https://maas.io/docs/reference-power-drivers
Pada Test ini, saya menggunakan Power Driver dari "Virsh",
Karena machine nya berbentuk virtual machine dari Qemu dan controll by Virt-Manager/Virsh.
Kalian juga bisa menggunakan driver IPMI dengan config vBMC, atau langsung login dengan account BMC dari Server BareMetal milik kalian.
Ok, lanjut setelah MaaS berhasil mendapatkan akses power dari Machine.
Kemudian.. klik "commissioning" pada Machine tersebut.
Apa itu proses commissioning?
Details nya kalian bisa lihat pada refrensi berikut :
https://maas.io/docs/about-commissioning-machines
Tunggu hingga status mesin berubah menjadi "Ready",
Kemudian pilih "Deploy" dan machine akan automatic meng-install OS!
Tunggu hingga status deploy berubah
Sepeerti yang kalian lihat IP Addr dari machine tersebut berbeda pada saat provisioning dengan saat terdeploy OS.
Kemudian kalian bisa akses machine tersebut via SSH menggunakan ssh-key yang sudah di upload ke Maas!
Are you interested in deploying OS to the baremetal/virtual machine with cloud experience with MaaS ?
Let's try it together and get in touch~
Best Regards
Rdw














