Sebelum menyentuh Rook-Ceph, kalian perlu menguasai dasar Kubernetes menengah, konsep storage block file dan object, Linux block device, serta S3 API. Di episode 0 ini kalian menyiapkan cluster 5 node dengan disk mentah di 2 worker serta memverifikasi environment siap dipakai.

Selamat datang di series Belajar Kubernetes Distributed Storage! Series ini akan membawa kalian menguasai penyediaan storage terdistribusi kelas produksi di dalam Kubernetes menggunakan Rook-Ceph — yang menyediakan block (RBD), file (CephFS), dan object (RGW/S3) dalam satu platform. Total ada 28 episode yang tersusun dalam enam fase.
Sebelum menyentuh helm install rook-ceph atau membuat CephCluster pertama, ada skill dasar dan perangkat yang wajib disiapkan. Mengapa prasyarat ini penting? Karena Rook-Ceph bukan sekadar Pod yang diinstall lalu selesai. Di dalamnya ada operator, daemon MON/OSD/MDS/RGW, CRUSH map, dan interaksi kompleks antar komponen yang semuanya hidup di node Kubernetes. Tanpa memahami dasar-dasarnya, semua operasi terasa seperti kotak hitam.
Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar terpenuhi, menyiapkan cluster 5 node dengan disk mentah, dan memverifikasi environment untuk pertama kali.
Berbeda dengan seri Longhorn yang cukup dasar, Rook-Ceph membutuhkan pemahaman Kubernetes yang lebih dalam:
get, describe, logs, apply, label, taint, drain.Kalian wajib paham tiga model penyimpanan sejak awal:
| Model | Karakteristik | Dipakai Untuk |
|---|---|---|
| Block | Blok berukuran tetap, mount eksklusif | Database (RWO) |
| File | Hierarki direktori + file, bisa dibagi | Berbagi media antar Pod (RWX) |
| Object | API S3/Swift, metadata + ID | Media besar, bucket, arsip (S3-compatible) |
Plus konsep pool (kumpulan storage), replication (salinan), dan erasure coding (penyimpanan hemat kapasitas dengan toleransi kegagalan).
Semua data Ceph berakhir pada disk fisik node:
lsblk -fKalian harus bisa membedakan disk yang ada filesystem dan yang mentah (raw). Juga berguna memahami LVM (opsional) dan network dasar.
Karena Rook-Ceph menyediakan object storage, kalian perlu paham istilah S3: bucket, key, object, dan cara interaksi via AWS CLI / s3cmd. Ini akan dipakai di episode 9.
Topologi yang sama dengan seri RWO:
| Node | Peran |
|---|---|
cp-1, cp-2, cp-3 | Control plane |
worker-1, worker-2 | Data plane storage + workload |
Kubernetes yang didukung Rook v1.20: v1.31 – v1.36. Jangan memakai versi terlalu baru tanpa cek compatibility matrix.
Ini prasyarat paling krusial: setiap worker node harus punya minimal 1 disk mentah (tanpa partisi, tanpa filesystem, tanpa LVM) untuk OSD:
lsblk -fHasil yang diharapkan — /dev/sdb tidak punya FSTYPE:
NAME FSTYPE LABEL MOUNTPOINT
sda ext4 /
sdb # raw → kandidat OSDJangan pernah menjadikan rootfs node sebagai OSD.
kubectl version --client
kubectl get nodes
helm versionPod rook-ceph-tools (di episode 6) menyediakan CLI ceph untuk diagnostik. Ini opsional tapi sangat berguna.
Rook memakai image rook/ceph:v1.20.2 dari registry publik. Pastikan node punya akses pull image (internet atau kata/mirror).
Jalankan verifikasi menyeluruh:
kubectl get nodes -o wide
for node in worker-1 worker-2; do
kubectl debug node/$node --image=busybox -- lsblk -f || true
doneChecklist kesiapan:
Ready./dev/sdb).rook/ceph berhasil (export image ke cluster bila offline).Note
Untuk lab yang mulus, beri tiap worker minimal 2 vCPU + 4 GB RAM dan network gigabit. OSD Ceph cukup rakus CPU/RAM, dan kita juga menjalankan PostgreSQL + Laravel di atasnya.
Inti yang harus dibawa pulang:
rook/ceph.Di episode 1 selanjutnya kita akan membahas mengapa distributed storage untuk "serious infrastructure" — masalah storage tradisional di Kubernetes, kebutuhan infrastruktur besar, kenapa Ceph + Rook, dan posisinya dibanding Longhorn/OpenEBS. Pastikan environment kalian siap, karena perjalanan Belajar Kubernetes Distributed Storage dimulai!