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

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.
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.external-snapshotter saat memakai snapshot (episode 17).kubectl -n kube-system get pod -l app=csi-nfs-controller -o jsonpath='{.items[0].spec.containers[0].image}{"\n"}'Sebelum upgrade, langkah yang menghemat nyawa:
subDir atau perilaku provisioning.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.
Jalankan di cluster staging terlebih dahulu bila ada. Prosedur yang aman:
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):
csi-nfs-controller + sidecars) — menangani provisioning.csi-nfs-node DaemonSet) di-update setelahnya — memegang mount yang hidup.Praktik yang perlu ditambah manual:
helm rollback.kubectl -n kube-system get pods -l app=csi-nfs-node -o wide
kubectl get pv
kubectl describe pvc rwx-media | tail -5Tip
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.
Ini ujian pamungkas. Setelah upgrade:
kubectl get pod -l app=laravel -o wide
kubectl exec deploy/laravel -- findmnt -t nfs4,nfsJika ada node yang gagal re-mount, lihat log node plugin:
kubectl -n kube-system logs -l app=csi-nfs-node --tail=30Pada episode 25 ini, kalian tahu cara memperbarui driver tanpa rasa takut:
Inti yang harus dibawa pulang:
volumeAttributesClass, fsGroupPolicy.helm upgrade → verifikasi controller → node plugin → volume lama.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!