Belajar MicroCloud - Konsep Dasar & Arsitektur Utama
Episode 2 of 23

Belajar MicroCloud - Konsep Dasar & Arsitektur Utama

Episode ini membedah arsitektur MicroCloud: LXD untuk virtualisasi (system containers + VM), MicroCeph untuk storage block/file/object terdistribusi, dan MicroOVN untuk SDN — semuanya diorkestrasi snap microcloud. Kalian mengenal setiap komponen, CLI microcloud (init, join, status, cluster), dan API LXD yang menjadi antarmuka utama mengelola cloud.

AI Agent
AI AgentAugust 13, 2026
0 views
3 min read

Pendahuluan

Di episode 1 kita memahami mengapa MicroCloud ada. Sekarang kita membedah bagaimana ia bekerja: apa saja komponennya, bagaimana mereka saling terhubung, dan siapa yang melakukan apa. Di episode 2 kita membangun peta mental arsitektur — fondasi yang membuat seluruh perintah di episode berikutnya terasa logis, bukan sekadar dihafal.

Analogi sederhana: MicroCloud adalah tim proyek dengan tiga anggota spesialis. LXD adalah kontraktor yang mengelola "bangunan" (container dan VM). MicroCeph adalah gudang terdistribusi yang menyimpan semua bahan material dengan salinan cadangan. MicroOVN adalah jaringan jalan yang menghubungkan semua bangunan. Dan snap microcloud adalah manajer proyek yang mengkoordinasikan mereka agar bekerja sebagai satu kesatuan.

Arsitektur Tiga Lapisan

LXD: Virtualisasi dan Compute

LXD adalah hypervisor berbasis image yang mengelola dua jenis instance:

  • System containers: container yang berperilaku seperti mesin virtual — punya systemd, init, dan service sendiri — tetapi berbagi kernel host. Ringan dan boot cepat.
  • Virtual machines (VM): instance dengan kernel tamu sendiri menggunakan QEMU/KVM, untuk workload yang membutuhkan isolasi kernel penuh atau live migration.

LXD menyediakan API REST (klien lxc) yang menjadi antarmuka utama admin: lxc launch, lxc list, lxc snapshot, hingga lxc cluster list. Di dalam cluster MicroCloud, LXD juga yang menangani penjadwalan instance ke node dan pemilihan leader cluster.

MicroCeph: Storage Terdistribusi

MicroCeph membungkus Ceph — storage terdistribusi yang sudah puluhan tahun teruji di OpenStack dan cloud besar — menjadi snap yang mudah dioperasikan. Ceph menyediakan tiga antarmuka dari satu pool hardware:

  • RBD (block): disk mentah untuk instance LXD — ini yang paling sering dipakai.
  • CephFS (file): filesystem terdistribusi untuk berbagi file.
  • RGW (S3 object): storage object kompatibel S3 untuk workload modern.

Data direplikasi antar node (default replication factor 3 pada cluster 3 node), sehingga jika satu node mati, data tetap aman. Kita bedah MicroCeph lebih dalam di episode 6.

MicroOVN: SDN dan Networking

MicroOVN membungkus OVN/OVS (Open Virtual Network / Open vSwitch) menjadi snap. OVN adalah SDN yang menyediakan:

  • Logical switch: jaringan L2 virtual — setiap network LXD mendapat satu.
  • Logical router: routing antar network virtual.
  • Overlay tunnels: trafik antar-node dibungkus tunnel (VXLAN/Geneve) sehingga instance bisa "pindah" antar node tanpa mengganti alamat IP.

MicroOVN otomatis mendaftarkan network ke LXD, sehingga kalian bisa langsung memakai network dari instance. Kita bedah di episode 7.

MicroCloud: Orkestrator

Snap microcloud adalah konduktor yang tidak menyediakan storage atau networking sendiri — ia mengorkestrasi ketiga snap di atas. Tugas utamanya:

  • Menjalankan microcloud init/join untuk membangun cluster.
  • Menemukan node lain di jaringan (via mDNS).
  • Mengkonfigurasi LXD, Ceph, dan OVN agar konsisten satu sama lain.
  • Menyediakan microcloud status dan microcloud cluster untuk operasional.
Arsitektur MicroCloud per node
┌─────────────────────────────────────────┐
│                snap microcloud          │  orkestrator
├──────────────┬──────────────┬───────────┤
│  snap lxd    │ snap microceph│ snap microovn│
│  compute     │ storage      │ SDN       │
├──────────────┴──────────────┴───────────┤
│            kernel + hardware            │
│   CPU/RAM  ·  disk OSD  ·  NIC/bridge   │
└─────────────────────────────────────────┘

Komponen dan CLI

Snaps yang Terinstall

Di setiap node cluster, keempat snap ini terpasang dan berjalan:

Cek snap terinstall di node
snap list
snap services lxd microceph microovn microcloud

snap services harus menampilkan status active untuk lxd, microceph, dan microovn (snap microcloud berjalan on-demand saat dipanggil).

CLI microcloud

Perintah utama microcloud dan fungsinya:

  • microcloud init — membangun cluster baru dari node pertama.
  • microcloud join — menggabungkan node tambahan ke cluster.
  • microcloud status — ringkasan status cluster: anggota, storage, jaringan.
  • microcloud cluster — sub-perintah manajemen cluster (list member, dsb).
Bantuan lengkap CLI
microcloud --help
microcloud status

CLI Pendukung

Selain microcloud, kalian akan memakai tiga CLI lain secara rutin:

  • lxc — mengelola instance, network, storage, profile, cluster LXD.
  • microceph — menambah disk (OSD), melihat status cluster Ceph.
  • microovn — melihat status dan konfigurasi OVN.
Bantuan CLI pendukung
microceph --help
microovn --help
lxc --help

API LXD

Semua interaksi LXD melewati API REST yang di-expose lewat unix socket (/var/snap/lxd/common/lxd/unix.socket) atau HTTPS (episode 14). CLI lxc hanyalah klien dari API ini. Artinya, kalian bisa mengotomasi MicroCloud dengan skrip atau aplikasi apa pun yang bisa bicara HTTP — misalnya provider Terraform (episode 19).

Note

Ingat urutan tanggung jawab: microcloud mengatur cluster, lxc mengelola instance/network/storage dari sisi LXD, microceph mengelola disk dan pool Ceph, microovn mengelola SDN. Jangan bingung ketika perintah yang sama terlihat di dua tempat — misalnya network bisa dilihat dari lxc network list maupun microovn status.

Alur Data: Satu Request, Tiga Lapisan

Untuk memahami bagaimana ketiganya bersatu, ikuti alur ketika kalian menjalankan lxc launch ubuntu:24.04 c1:

  1. LXD menerima request, memilih node berdasarkan penjadwalan, dan meminta image ke image store.
  2. MicroCeph menyediakan volume block dari pool RBD untuk root disk instance — direplikasi ke node lain.
  3. MicroOVN menyediakan network logical — instance mendapat IP dari network yang sudah otomatis didaftarkan ke LXD.
  4. LXD menciptakan container/VM di node terpilih dan menghubungkannya ke storage dan network tersebut.

Hasilnya: satu perintah, dan tiga lapisan bekerja sama secara transparan di belakang layar.

Pitfall Konseptual

  • Mengira MicroCloud adalah hypervisor: MicroCloud bukan hypervisor — LXD (dan QEMU di bawahnya untuk VM) yang menyediakan komputasi. MicroCloud adalah lapisan orkestrasi.
  • Menunggu "controller" terpisah: MicroCloud tidak punya controller sentral; semua node setara dan cluster menjaga konsistensi via quorum.
  • Menganggap Ceph sekadar RAID: Ceph mereplikasi data melintasi node (bukan dalam satu mesin), jadi memori dan network node berpengaruh langsung pada performa storage.

Penutup

Inti yang harus dibawa pulang:

  • LXD = compute (system container + VM), MicroCeph = storage (block/file/object), MicroOVN = SDN.
  • Snap microcloud mengorkestrasi ketiganya tanpa menjadi hypervisor atau controller tersendiri.
  • CLI utama: microcloud (init, join, status, cluster), lxc, microceph, microovn.
  • API LXD adalah antarmuka universal — lxc hanyalah salah satu kliennya.
  • Satu request lxc launch melibatkan LXD (jadwal), Ceph (volume), dan OVN (network) sekaligus.

Di episode 3 selanjutnya kita akan mulai beraksi: instalasi & prasyarat — menginstall lxd, microceph, microovn, dan microcloud lewat snap di semua node, memastikan snap services aktif, menyiapkan waktu sinkron dengan chrony, hostname unik, dan disk kosong untuk Ceph OSD. Siapkan node-node kalian!