Belajar Kubernetes Shared Filesystem RWX - Upgrade Driver & Kubernetes Compatibility
Episode 25 of 28

Belajar Kubernetes Shared Filesystem RWX - Upgrade Driver & Kubernetes Compatibility

Menjaga driver tetap sehat dan aman: mengenal rilis NFS CSI Driver v4.x dan peta kompatibilitas Kubernetes, meninjau breaking changes, prosedur upgrade Helm yang mengurutkan controller sebelum node plugin, dan memverifikasi volume lama tetap mount pasca-update

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

Pendahuluan

Driver CSI adalah perangkat lunak seperti lainnya: ia menerima perbaikan, fitur baru, dan — yang sering memusingkan — perubahan perilaku. Episode 25 membahas bagaimana memperbarui NFS CSI Driver tanpa melukai volume yang sudah ada.

Update driver adalah salah satu operasi paling sensitif dalam arsitektur storage: sebuah bug di versi baru bisa mengubah parameter provisioning, sementara kelalaian verifikasi bisa membuat PV lama tidak mau mount lagi.

Rilis NFS CSI Driver

Driver nfs.csi.k8s.io saat ini bergerak di jalur v4.x (misal v4.13.4, rilis Juli 2026) — status GA dengan dukungan Kubernetes ≥ 1.21. Fitur yang perlu kalian kenali:

  • volumeAttributesClass — kustomisasi atribut volume per PVC.
  • fsGroupPolicy — kebijakan pemetaan fsGroup untuk volume.
  • Konsistensi dengan versi CRD external-snapshotter saat memakai snapshot (episode 17).
KubernetesCek versi driver yang terpasang
kubectl -n kube-system get pod -l app=csi-nfs-controller -o jsonpath='{.items[0].spec.containers[0].image}{"\n"}'

Check Konfigurasi Breaking Change

Sebelum upgrade, langkah yang menghemat nyawa:

  1. Baca release notes pada tag yang dituju. Beberapa parameter driver berubah antar rilis — misal default subDir atau perilaku provisioning.
  2. Cocokkan kompatibilitas: versi Kubernetes kalian vs minimal driver.
  3. Pastikan StorageClass yang dipakai tetap kompatibel dengan parameter baru.

Contoh kerusakan khas: dari rilis tertentu, subDir wajib menyertakan dynamic/ prefix atau parameter share berubah semantik — PV baru terdorong, PV lama tidak.

Warning

Upgrade driver di cluster produksi tanpa membaca changelog adalah seperti mengganti mesin pesawat sambil terbang. Luangkan 10 menit membaca release notes — itu waktu paling berharga dalam prosedur ini.

Prosedur Upgrade

Jalankan di cluster staging terlebih dahulu bila ada. Prosedur yang aman:

Upgrade driver via Helm
helm repo update
helm upgrade csi-driver-nfs csi-driver-nfs/csi-driver-nfs \
  --namespace kube-system \
  --version <versi-baru>

Urutan operasi internal yang dipegang Helm (rolling update):

  1. Controller di-update dulu (csi-nfs-controller + sidecars) — menangani provisioning.
  2. Node plugin (csi-nfs-node DaemonSet) di-update setelahnya — memegang mount yang hidup.
  3. CRDs/sidecar registry rilis menangani migrasi versi.

Praktik yang perlu ditambah manual:

  • Backup dulu — catat versi lama siap helm rollback.
  • Verifikasi volume lama setelah upgrade:
KubernetesVerifikasi pasca-upgrade
kubectl -n kube-system get pods -l app=csi-nfs-node -o wide
kubectl get pv
kubectl describe pvc rwx-media | tail -5
  • Trust, but verify — jalankan read/write probe pada volume yang lama (mis. tulis file di Pod, cek di Pod kedua).

Tip

Catat putaran upgrade: tanggal, versi lama → baru, hasil verifikasi. Drift antar versi adalah alasan umum bug yang sulit dilacak — log ini menyelamatkan debugging di episode berikutnya.

Verifikasi Volume Lama Tetap Mount

Ini ujian pamungkas. Setelah upgrade:

KubernetesCek mount volume lama di semua worker
kubectl get pod -l app=laravel -o wide
kubectl exec deploy/laravel -- findmnt -t nfs4,nfs

Jika ada node yang gagal re-mount, lihat log node plugin:

KubernetesLog node plugin
kubectl -n kube-system logs -l app=csi-nfs-node --tail=30

Penutup

Pada episode 25 ini, kalian tahu cara memperbarui driver tanpa rasa takut:

Inti yang harus dibawa pulang:

  • Driver v4.x GA: dukungan K8s ≥ 1.21, volumeAttributesClass, fsGroupPolicy.
  • Baca release notes & peta kompatibilitas sebelum upgrade — parameter bisa berubah.
  • Urutkan: backup → helm upgrade → verifikasi controller → node plugin → volume lama.
  • Verifikasi mount volume lama di semua worker setelah upgrade.
  • Catat riwayat upgrade untuk jejak audit.

Di episode 26 selanjutnya kita akan berpikir ekonomi: cost, sizing, dan saat yang tepat pindah — menghitung biaya NFS sendiri vs managed, siapa yang ideal dan ketika NFS dasarnya harus diganti. Sampai jumpa di episode 26!

Belajar Kubernetes Shared Filesystem RWX - Upgrade Driver & Kubernetes Compatibility | Belajar Kubernetes Shared Filesystem RWX