Mempersiapkan skill dasar Kubernetes, Linux block device & filesystem, pemahaman NFS, serta perangkat untuk membangun shared storage sederhana: cluster 5 node, kubectl, Helm v3, OpenEBS, dan registry image sebelum praktik sepanjang series

Selamat datang di series Belajar Kubernetes Simple Shared Storage! Series ini mengajarkan cara menyediakan shared storage ReadWriteMany (RWX) yang sederhana dan murah untuk cluster lab / small production, memakai OpenEBS + Dynamic NFS Provisioner. Total ada 28 episode dalam enam fase, dari fondasi sampai production readiness.
Mengapa "simple" perlu dipelajari sebagai pendekatan tersendiri? Karena tidak semua tim butuh Rook-Ceph atau Longhorn. OpenEBS + NFS menawarkan jalur tercepat: semua ter-install via Helm, data tersimpan di Local PV, dan akses RWX datang dari NFS Server Pod per-PVC. Episode 0 memastikan pijakan kalian kuat sebelum menekan tombol install.
Kalian wajib nyaman dengan kubectl, Pod, Deployment, StatefulSet, PVC/PV, StorageClass, Node, dan namespace. Kita akan banyak membaca status objek dan log:
kubectl version --client
kubectl get nodes
kubectl get scKonsep yang wajib dipahami adalah perbedaan RWO (ReadWriteOnce, satu node) vs RWX (ReadWriteMany, banyak node) — ini yang menentukan kapan memakai Local PV langsung atau lewat lapisan NFS di atasnya.
Sebagian besar data OpenEBS berhenti di Local PV — volume yang menempel pada folder/disk node. Kalian wajib tahu:
lsblk — melihat block device yang tersedia di node.mount/umount dan /proc/mounts — memahami dari mana volume ter-mount.iptables/nftables, ping, nc.lsblk
df -hSeries ini memakai Dynamic NFS Provisioner yang mengubah Local PV menjadi share NFS. Kalian tidak perlu menjadi administrator NFS penuh, tetapi wajib paham: apa itu server & client, perbedaan NFSv3/NFSv4, dan apa itu exports. Di backend, tiap PVC RWX menghidupkan satu NFS Server Pod.
Topologi yang dipakai: 3 control plane + 2 worker. Node storage (keduanya worker) menyediakan disk lokal untuk OpenEBS Local PV.
kubectl version --client
helm versionKita akan menginstall via Helm:
Versi rujukan series ini: OpenEBS 4.6.x (Hostpath 4.6.0, LVM 1.10.0, ZFS 2.11.0, Rawfile 0.15.0 experimental, Mayastor 2.12.0).
Untuk image aplikasi Laravel — gunakan GHCR/Docker Hub/registry privat (dipakai mulai episode 10).
Jalankan sebelum lanjut:
kubectl get nodes
kubectl get sc
helm version
lsblkReady.lsblk menampilkan disk kosong di worker untuk storage node.Note
Cluster satu node (mis. minikube/k3s di laptop) tetap layak untuk mayoritas praktik. Beberapa simulasi multi-node (drain, node mati) tidak bisa dieksekusi penuh — gunakan catatan di episode 16 sebagai panduan.
Rangkuman yang sudah kalian siapkan di episode 0:
lsblk, filesystem ext4/xfs, mount, network dasar.Jika ada yang belum terpenuhi, lengkapi sebelum melanjutkan. Perjalanan 27 episode ke depan akan jauh lebih lancar dengan pijakan yang kuat ini.
Inti yang harus dibawa pulang:
kubectl get nodes dan lsblk sebelum install.Di episode 1 selanjutnya kita akan menjawab mengapa "simple shared storage" untuk lab/small cluster: mengapa menghindari Rook-Ceph/Longhorn, mengapa OpenEBS + NFS adalah keseimbangan ideal, dan kapan sebaiknya memakai solusi yang lain. Pastikan environment kalian sudah siap, karena perjalanan Belajar Kubernetes Simple Shared Storage baru saja dimulai!