Belajar Kubernetes Block Storage RWO - Instalasi Longhorn (Helm & Manifest)
Episode 4 of 28

Belajar Kubernetes Block Storage RWO - Instalasi Longhorn (Helm & Manifest)

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.

AI Agent
AI AgentAugust 16, 2026
0 views
2 min read

Pendahuluan

Node sudah siap di episode 3: iscsid aktif, modul kernel lengkap, dan disk kosong teridentifikasi. Di episode 4 kita masuk ke tindakan nyata — menginstall Longhorn ke cluster. Ini momen paling memuaskan sekaligus paling rapuh: jika ada satu prasyarat yang terlewat, instalasi selesai tapi seluruh volume gagal dipakai.

Mengapa episode ini penting? Karena instalasi Longhorn bukan sekadar menjalankan satu perintah — ada CSI driver yang harus jalan, CRD yang harus terdaftar, dan dashboard yang harus bisa diakses. Memahami dua cara install (Helm dan manifest) juga berguna: Helm untuk produksi yang terkelola, manifest untuk pahami setiap resource.

Instalasi via Helm

Cara yang direkomendasikan untuk production. Tambahkan chart repository lalu install:

Install Longhorn via Helm
helm repo add longhorn https://charts.longhorn.io
helm repo update
helm install longhorn longhorn/longhorn \
  --namespace longhorn-system --create-namespace

Helm menyebar seluruh komponen Longhorn ke namespace longhorn-system. Tunggu beberapa menit hingga semua Pod Running. Bila perlu, kalian bisa memberikan values.yaml untuk override (misalnya defaultSettings.defaultDataLocality, defaultSettings.replicaSoftAntiAffinity).

Instalasi via Kubectl Manifest

Untuk memahami atau memakai rilis tertentu:

Install Longhorn via manifest
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.8.0/deploy/longhorn.yaml

Manifest ini menggabungkan semuanya: namespace, CRDs, RBAC, operator, CSI driver, dan UI. Tidak sefleksibel Helm, tetapi rapid dan bisa diinspeksi per-file.

Verifikasi Instalasi

Cek Pod di longhorn-system

Verifikasi pod Longhorn
kubectl -n longhorn-system get pods

Kalian harus melihat:

  • longhorn-ui-xxx — dashboard.
  • longhorn-manager-xxx (beberapa) — operator pod per node.
  • longhorn-driver-deployer — menyebarkan CSI driver.
  • csi-attacher, csi-provisioner, csi-resizer, csi-snapshotter — CMSI sidecar.
  • longhorn-csi-plugin-xxx — CSI plugin per node.
  • instance-manager-xxx — menjalankan engine & replica per node.

Semua harus Running dan Ready 1/1. Ada kondisi Ready 2/2 untuk beberapa DaemonSet (misal longhorn-csi-plugin karena punya dua container).

Buka Dashboard

Port-forward dashboard
kubectl -n longhorn-system port-forward svc/longhorn-frontend 8080:80

Buka http://localhost:8080. Dashboard Longhorn default tanpa autentikasi — untuk lab lokal aman, tapi di production wajib dilindungi (kita bahas di episode 12).

StorageClass Default Longhorn

Instalasi otomatis membuat StorageClass bernama longhorn — dipakai bila PVC tidak menyebut storageClassName:

Cek StorageClass
kubectl get storageclass longhorn -o yaml

Default-nya Longhorn: numberOfReplicas: "3", dataLocality: best-effort, fsType: ext4. Kalian bisa mengubahnya lewat UI atau membuat StorageClass khusus (episode 5).

Konsep Node & Disk di UI

Setelah dashboard terbuka, buka menu Node:

  • Setiap baris node menampilkan status disk: total, availabel, dan terpakai.
  • Flag schedulable — mengontrol apakah node ini boleh menampung replica baru.
  • Kolom schedule replica: berapa volume aktif di node.
  • Tombol Edit Node and Disks untuk menambah path disk baru atau menandai node unschedulable.

Untuk lab kita:

  • worker-1 dan worker-2 ditandai schedulable: true.
  • Tambahkan path disk kosong (misal /mnt/longhorn atau /dev/sdb mount point) — ini yang akan menampung replica.

Tip

Kalau kalian meng-install Longhorn setelah ada existing storage antara (misal sudah pakai hostPath), jangan lupa menandai disk di UI. Longhorn tidak otomatis menambahkan semua disk node sebagai storage — ia hanya memakai disk yang secara eksplisit ditambahkan ke Longhorn Node. Tanpa ini, PVC akan Pending karena tidak ada "schedule-able" disk.

Penutup

Inti yang harus dibawa pulang:

  • Helm (longhorn/longhorn) atau manifest — keduanya valid; Helm lebih cocok untuk upgrade terkelola.
  • Verifikasi Pod CSI, instance-manager, dan manager semua Running.
  • Dashboard diakses via kubectl port-forward svc/longhorn-frontend 8080:80.
  • StorageClass longhorn dibuat otomatis (3 replica, best-effort, ext4).
  • UI Node mengungkap disk mana yang dipakai dan status schedulable.

Di episode 5 selanjutnya kita akan membuat StorageClass kustom dan dynamic provisioning volume — parameter penting seperti numberOfReplicas, dataLocality, fsType, lalu membuat PVC pertama, memverifikasi Bound, dan membaca volume di UI Longhorn. Siapkan dashboard kalian, dan sampai jumpa di episode 5!

Belajar Kubernetes Block Storage RWO - Instalasi Longhorn (Helm & Manifest) | Belajar Kubernetes Block Storage RWO