Berlatih menangani masalah di lapangan: diagnose PVC pending lengkap dengan event, mengatasi NFS server down dan hang pada mount, fitur troubleshoot performa menurun dan mount NFS gagal, serta membedakan noise versus darurat — dengan urutan langkah yang dapat dieksekusi di lab

Masalah storage hampir selalu muncul dalam bentuk merah: PVC Pending, Pod ContainerCreating, atau aplikasi menggantung saat menulis file. Episode 25 melatih mata dan tangan — dari diagnosa berbasis event hingga tindakan yang memulihkan — sehingga kalian tidak lagi panik saat insiden.
Gejala: kubectl get pvc menunjukkan Pending.
Tiga penyebab umum:
kubectl get sc.WaitForFirstConsumer — Pod yang memakainya belum ada.Diagnosa:
kubectl describe pvc media-storage
kubectl get events --sort-by=.lastTimestampPerbaikan berdasarkan event: buat SC, jadwalkan Pod, atau naikkan quota.
Note
WaitForFirstConsumer bukan bug — itu desain untuk Local PV (volumes menempel saat Pod pertama dijadwalkan). PVC Pending di sini normal hanya bila Pod yang memakainya belum di-deploy.
Gejala: Pod yang me-mount NFS hang / busy (proses tidak membalas cat), NFS server Pod CrashLoopBackOff.
kubectl -n openebs-nfs get pods -o wide
kubectl -n openebs-nfs describe pod -l app=nfs
kubectl -n openebs-nfs logs -l app=nfs --tail=50Perbaikan bertahap:
kubectl -n openebs-nfs rollout restart sts <nfs-<pvc>>.hard menggantung proses client — setelah server kembali, NFSv4 retry internal meyakinkan operasi selesai otomatis (episode 19).Gejala: upload besar lambat, top CPU NFS server tinggi, I/O tinggi di satu node.
Diagnosa:
kubectl -n openebs-nfs top pods | sort -k2 -h
kubectl top nodes
df -h /var/lib/openebsPenyebab yang sering:
Gejala: Pod ContainerCreating berkepanjangan; event FailedMount.
kubectl describe pod rwx-writer
kubectl events --for pod/rwx-writer
kubectl -n openebs-nfs get svc nfs-<pvc>Penyebab umum + obat:
| Gejala | Penyebab | Perbaikan |
|---|---|---|
timed out mount | Service NFS tidak resolvable / port tertutup | Cek SVC & NetworkPolicy (ep. 11) |
permission denied | UID/GID tidak cocok | Sesuaikan fsGroup / UID (ep. 5) |
no such file di node | Backing volume hilang di node | Verifikasi folder hostpath; restore backup |
KubeletMountError | CNI/network node | Cek kubelet & CNI logs |
Tidak semua "merah" adalah darurat:
Pending dengan WaitForFirstConsumer + Pod belum ada → normal.Hindari mengubah StorageClass/ReclaimPolicy saat insiden — dokumentasikan, evaluasi dengan tenang, lalu terapkan.
Tip
Latihan terbaik: buat Pod yaml yang memicu tiap penyebab (salah SC, quota kecil, UID false), rilis di lab, dan tulis satu halaman "Troubleshooting" per skenario. Wiki tim yang diuji langsung — bukan pinda teoretis.
Pada episode 25 ini, insiden menjadi daftar yang bisa dikerjakan:
Inti yang harus dibawa pulang:
Pending: selalu mulai dari kubectl describe pvc + events.top pods, top nodes, df — jangan tebak.FailedMount → SVC/NetworkPolicy/UID/backing.Di episode 26 selanjutnya kita akan merakit skenario kompleks: studi kasus multi-namespace dengan RWX bersama, migrasi data antar node, cluster multi-DC dengan latency, dan skala menengah — di mana keputusan yang diambil episode 1-25 benar-benar diuji. Sampai jumpa di episode 26!