Membedah anatomi OpenEBS: controller CSI dengan sidecars, engine Replicated PV Mayastor, pilihan Local PV (hostpath, LVM, ZFS, rawfile), serta bagaimana Dynamic NFS Provisioner menciptakan NFS Server Pod per-PVC untuk akses RWX

Sebelum menginstall apa pun, luangkan episode ini untuk memahami isi kotak yang akan kita pasang. OpenEBS bukan satu program — ia adalah platform dengan beberapa engine yang berbagi fondasi. Kalian tidak akan bisa membuat keputusan yang tepat (engine mana, parameter apa) tanpa peta komponen ini.
Bayangkan OpenEBS seperti pantry dapur: ada banyak bahan (controller, engine) dan semua punya peran berbeda. Kita akan mengenali masing-masing, lalu baru memasak.
Ini adalah "jantung" yang berkomunikasi dengan Kubernetes lewat protokol CSI (Container Storage Interface). Di dalam Deployment controller terdapat:
external-provisioner (membuat/hapus volume), snapshotter (snapshot), attacher (attach/detach).Di node, agent (node-disk-manager, node agent) mendaftarkan disk dan membantu kubelet melakukan mount.
Mayastor adalah engine block berperforma tinggi berbasis NVMe, memakai Data-Plane API (DRA) untuk replikasi. Cocok bila ingin storage block dengan replikasi dan performa tinggi pada perangkat NVMe — opsional dan tidak dipakai di setup simple kita (episode 4 menonaktifkannya).
Inilah ujung penyimpanan sederhana. Beberapa engine menentukan di mana dan bagaimana data disimpan di node:
| Engine | Provisioner | Lokasi Data | Karakter |
|---|---|---|---|
| Hostpath | openebs.io/local | Folder di node (/var/lib/openebs) | Paling simpel |
| LVM | local.csi.openebs.io | Logical volume LVM | Expandable, online grow |
| ZFS | local.csi.openebs.io | ZFS zpool | Snapshot native, dedup |
| Rawfile | local.csi.openebs.io | File sparse | Eksperimental |
Semua bersifat lokal node → RWO. Kesederhanaan ini yang membuat OpenEBS simple: tidak ada I/O jaringan untuk volume seperti ini.
Lapisan yang mengubah Local PV menjadi shared:
nfs-<pvc-name>) — menjalankan NFS server (kernel-nfs atau nfsganesha).Alur lengkap saat aplikasi memakai PVC RWX:
storageClassName: openebs-nfs-rwx, access mode ReadWriteMany.openebs-nfs).Bound.Tidak ada kunci mesin eksternal: NFS server berjalan di dalam cluster, dan data fisiknya disimpan di Local PV hostpath node storage.
Note
Model "NFS Server Pod per-PVC" adalah bagian paling cerdas dari desain ini: setiap PVC RWX punya NFS server sendiri, terisolasi, dan kapasitasnya dibatasi backing volume-nya. Satu PVC rusak tidak menyeret PVC lain.
Pertanyaan yang sering muncul: "kalau NFS Server Pod mati, data hilang?" Tidak — karena data NFS disimpan di backing volume persisten (Local PV). Ketika NFS Server Pod restart:
Yang berubah hanyalah hostname/IP SVC, bukan data. Persistent volume dengan reclaimPolicy yang tepat (episode 16) menjaga file tetap ada bahkan saat PVC dihapus.
Pada episode 2 ini, kalian telah membaca peta komponen OpenEBS:
Inti yang harus dibawa pulang:
Di episode 3 selanjutnya kita akan menyiapkan node: persyaratan worker, persiapan disk & filesystem, serta labeling node storage untuk OpenEBS. Sampai jumpa di episode 3!