Halo guys, Ridwan heres..
Come again with new notes update!
Di beberapa post sebelumnya kita sudah membahas product dari Canonical yaitu MaaS (Metal-As-A-Service). untuk yang belum baca, kalian bisa lihat disni.
Ok, pada tulisa ini kita mau membahas platform cloud computing yang "kecil" dari Canonical
Biasanya kalau bicara tentang platform cloud computing kita ingat nya "Proxmox, Openstack, VMware, lainnya", tapi beberapa platform yang ta sebutkan tadi membutuhkan server / hardware yang lumayan besar & cara install yang lumayan sulit..
Apakah ada platform cloud computing yang ringan, bisa running hanya 1 hypervisor, dan cara installnya mudah ?
Let me Introduce..
MicroCloud by Canonical - https://canonical.com/microcloud
MicroCloud memungkinkan kita membangun private cloud dengan skala kecil hingga menengah secara efisien, tanpa memerlukan hypervisor dalam jumlah banyak seperti VMware atau OpenStack.
Pada MicroCloud sudah memiliki services-services, seperti:
- LXD (Linux Container Daemon) – Untuk manajemen virtual machine (VM).
- MicroOVN (Open Virtual Network) – Untuk virtualisasi jaringan overlay antar-node.
- MicroCeph – Untuk distributed storage berbasis Ceph.
Sudah lengkap toh.. Penasaran cara install nya ?
1. Prerequisite
Pada Postingan ini, kita memiliki 3 VM / 3 server, dengan kondisi seperti berikut :
- Spec : 4 vCPU & 8GB RAM
- Disk : 3 Disk ( 1 OS , 2 CEPH OSD)
- Network : 2 (Internet & isoalted)
- OS : Ubuntu 24.04
Untuk menginstall atau provisioning Ubuntu 24.04 pada 3 server tersebut, sangat disarankan menggunakan MaaS (Metal-As-A-Service) agar lebih cepat. Karena kalian bisa skip proses deploy ssh public-key, config static IP.
Ok, Selanjutnya kita memerlukan akses "root" dari ke 3 server tersebut, dan akan lebih baik lagi jika kita menggunakan domain untuk naming dari 3 server tersebut.
Pertama, kita akan mengirimkan "ssh public-key" menggunakan "ssh-copy-id", ke semua server. of course, kita menggunakan command loop.
Kemudian, write file "/etc/hosts" pada semua server
**tambahan script netplan untuk config network pada ubuntu
2. Installation
Ok, pada step ini kita pastikan ketiga server tersebut sudah dapat diakses menggunakan SSH dengan access root.
Sesuai dengan official documentation,
https://documentation.ubuntu.com/microcloud/latest/microcloud/how-to/install/#installation
Semua server tersebut harus terinstall packages berikut :
- lxd
- microceph
- microovn
- microcloud
Tenang saja.. kita tidak perlu access satu persatu, kita dapat menggunakan ssh-loop lagi
Gunakan command berikut untuk melakukan install packages ke seluruh server menggunakan ssh loop :
Setelah terinstall, pastikan semua packages tersebut terinstall dengan baik
Ok, sampai step ini kita sudah berhasil menginstall packages yang dibutuhkan "MicroCloud"
sesuai dengan documentasi berikut :
https://documentation.ubuntu.com/microcloud/latest/microcloud/how-to/initialize/#how-to-initialize-microcloud
Selanjutnya kita akan melakukan "Microcloud init" pada server Cloud01,
Masuk ke dalam SSH dari Cloud 01, kemudian masukan command
$ sudo microcloud init
Proses initialization nya berbentuk interactive mode, jadi lebih mudah toh..
"If you run the initialization process in interactive mode (the default), you are prompted for information about your machines and how you want to set them up. The questions that you are asked might differ depending on your setup"
Kemudian, masuk ke dalam SSH dari Cloud02, Cloud03.
Masukan command berikut :
$ sudo microcloud joint
Selanjutnya cukup masukan token, sesuai yang tampil pada Cloud01.
Setelah token dimasukan, Kembali pada Console Cloud01. Dan melanjutkan proses initialization, proses akan automatis mengenali Cloud02, Cloud03 untuk dijoint ke cluster.
Selanjutnya pada proses initialization, kita akan ditanya storage type yang akan digunakan oleh VM. Disini saya memilih tampa menggunakan local-storage, agar menggunakan distrubuted storage yaitu Ceph.
Pada step ini, proses initialization akan menganali disk data yang terdapat pada masing-masing server untuk dijadikan Ceph-OSD
Lanjutkan pada proses initialization, hingga proses selesai. Pada saat selesai nanti dapat menggunakan command berikut :$ sudo microcloud status
$ sudo microcloud services list
Pada step ini kita sudah berhasil melakukan install "MicroCloud"
3. Akses Dashboard
3.1 LXD Dashboard
Ok, untuk cara akses dashboard LXD (Manage Virtual Machine)kita dapat mengakses pada salah satu IP dari MicroCloud, Kemudian akses dari browser pada Port 8443
Tampilan nya akan seperti berikut.
Oiya.. Untuk akses dashboard LXD yang pertama kali, kalian memerlukan generate & install cert seperti berikut :
kemudian download & simpan file .crt ke server Cloud01, jalankan command berikut
$ lcs trust add file.crt
Kemudian install cert ssl berbentuk file .pfx ke browser kalian.
3.2 MicroCeph Dashboard
Secara default dashboard dari Ceph ini belum enable, kita perlu melakukan enable & setup password untuk akses dashboard tersebut
Gunakan command berikut untuk enable :
$ microceph.ceph config set mgr mgr/dashboard/ssl false
$ microceph.ceph mgr module enable dashboard
$ echo -n "RidwanGanteng" > /var/snap/microceph/current/conf/password.txt
$ microceph.ceph dashboard ac-user-create -i /etc/ceph/password.txt admin administrator
setelah command di atas selesai,
Kemudian akses pada salah satu IP dari MicroCloud, pada Port 8080
login menggunakan username admin & password yang sudah di write pada file /var/snap/microceph/current/conf/password.txt.
Tampilan Ceph dashboardnya akan seperti berikut.
Ok.. sepertinya untuk administrasi & cara menggunakan Micrcloud ini kita akan bahas pada post terpisah. Karena sudah panjang sekali tulisa ini..
Mari kita akhiri saja..
Thank you sudah membaca tulisan ini, Semoga bermanfaat.
Best Regard
Rdw