Belajar Kubernetes Block Storage RWO hingga production-grade dengan Longhorn: pre-requisites skill & setup cluster, mengapa database butuh block storage, arsitektur Longhorn & replikasi block, prasyarat open-iscsi, instalasi via Helm & manifest, StorageClass & dynamic provisioning, StatefulSet PostgreSQL, deploy Laravel + PostgreSQL, migrations seeds & data lifecycle, replikasi data & high availability, node & disk management, replica placement & multi-AZ, security CSI RBAC & UI access, enkripsi volume & data at rest, snapshot restore & clone, backup S3/NFS & recurring job, disaster recovery, monitoring & observability, performance tuning & volume expansion, scaling database, upgrade non-disruptive & compatibility matrix, maintenance & node drain, CI/CD & GitOps, backup automation & RTO/RPO drift, troubleshooting, cost sizing & trade-off, hingga studi kasus & refleksi akhir. Total 28 episode.
Sebelum menyentuh Longhorn, kalian perlu menguasai dasar Kubernetes, konsep PV/PVC/StorageClass, block device Linux, serta SQL dan database. Di episode 0 ini kalian menyiapkan cluster Kubernetes 5 node, memasang open-iscsi dan nfs-common di semua worker, lalu memverifikasi seluruh environment siap dipakai sepanjang series.

Membedah mengapa database seperti PostgreSQL butuh block storage, bukan shared filesystem: dari I/O deterministik, fsync, hingga O_DIRECT. Kalian juga akan memahami access mode RWO vs RWX dan alasan StatefulSet selalu menang saat menyimpan database dibanding Deployment.

Memahami arsitektur Longhorn: Engine controller, Replica tersebar, Share Manager untuk RWX, dan perbedaan V1 (iSCSI) vs V2 (SPDK/NVMe). Kalian juga akan melihat cara kerja replikasi sinkron yang membuat Longhorn bebas dari single point of failure.

Menyiapkan node worker agar siap dipakai Longhorn: persyaratan Kubernetes, instalasi open-iscsi di Debian/Ubuntu dan RHEL, mengenali disk kosong yang aman dipakai, serta verifikasi modul kernel iscsi_tcp dan nvme sebelum instalasi operator.

Menginstall Longhorn ke cluster dengan dua cara — Helm chart dan kubectl manifest — lalu memverifikasi seluruh Pod di namespace longhorn-system berjalan, membuka dashboard via port-forward, dan mengenal StorageClass default serta konsep node & disk di UI.

Membuat StorageClass Longhorn kustom dengan parameter numberOfReplicas, dataLocality, dan fsType, lalu memprovisi PVC pertama secara dinamis. Kalian juga akan memverifikasi PV Bound dan membaca health volume dari dashboard Longhorn beserta monitoring I/O-nya.

Menyusun StatefulSet PostgreSQL dengan volumeClaimTemplates di atas StorageClass Longhorn, menyetel fsGroup dan securityContext yang benar, lalu membuktikan persistensi: menulis data, menghapus Pod, dan memastikan data kembali utuh setelah Pod restart.

Menghubungkan aplikasi Laravel ke PostgreSQL yang berjalan di atas Longhorn: menyusun Deployment, mengatur ConfigMap untuk DB connection, Secret untuk kredensial, dan menjalankan migrasi via Kubernetes Job dengan init container untuk menunggu database siap.

Mengelola siklus hidup data di workload stateful: menjalankan migration dan seed pada environment berbeda, memanfaatkan snapshot Longhorn untuk rollback cepat, menyetel backup target S3/NFS dengan recurring schedule, serta aturan emas agar tidak ada data tak persisten yang bocor ke emptyDir.

Membedah perilaku replika Longhorn untuk high availability: bagaimana kuorum bekerja, apa arti status degraded vs offline, cara rebuild replika yang gagal, pengaruh dataLocality terhadap performa, serta simulasi kegagalan node dengan kubectl cordon dan drain.
