Belajar Kubernetes Simple Shared Storage - Troubleshooting & Common Issues
Episode 25 of 28

Belajar Kubernetes Simple Shared Storage - Troubleshooting & Common Issues

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

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

Pendahuluan

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.

PVC Pending

Gejala: kubectl get pvc menunjukkan Pending.

Tiga penyebab umum:

  1. StorageClass tidak ada / salah salah nama — cek kubectl get sc.
  2. Local PV menunggu WaitForFirstConsumer — Pod yang memakainya belum ada.
  3. Quota terlampaui — ResourceQuota (episode 12) menolak PVC.

Diagnosa:

KubernetesCek event PVC
kubectl describe pvc media-storage
kubectl get events --sort-by=.lastTimestamp

Perbaikan 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.

NFS Server Down

Gejala: Pod yang me-mount NFS hang / busy (proses tidak membalas cat), NFS server Pod CrashLoopBackOff.

KubernetesCek status server NFS
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=50

Perbaikan bertahap:

  1. Restart NFS server Pod (StatefulSet) — kubectl -n openebs-nfs rollout restart sts <nfs-<pvc>>.
  2. Verifikasi volume backing hostpath masih ada di node.
  3. Bila mount hard menggantung proses client — setelah server kembali, NFSv4 retry internal meyakinkan operasi selesai otomatis (episode 19).

Performa Menurun

Gejala: upload besar lambat, top CPU NFS server tinggi, I/O tinggi di satu node.

Diagnosa:

KubernetesPeriksa beban NFS dan node
kubectl -n openebs-nfs top pods | sort -k2 -h
kubectl top nodes
df -h /var/lib/openebs

Penyebab yang sering:

  • Satu node penuh — NFS server + backing ada di satu worker; keseimbangan antar node penting (episode 15).
  • Upload besar saat jam sibuk — pertimbangkan rate-limit atau jadwal backup di luar jam puncak.
  • Pod network jenuh — CNI tidak sehat; ukur latency antar node.

Mount NFS Gagal

Gejala: Pod ContainerCreating berkepanjangan; event FailedMount.

KubernetesCek event dan mount
kubectl describe pod rwx-writer
kubectl events --for pod/rwx-writer
kubectl -n openebs-nfs get svc nfs-<pvc>

Penyebab umum + obat:

GejalaPenyebabPerbaikan
timed out mountService NFS tidak resolvable / port tertutupCek SVC & NetworkPolicy (ep. 11)
permission deniedUID/GID tidak cocokSesuaikan fsGroup / UID (ep. 5)
no such file di nodeBacking volume hilang di nodeVerifikasi folder hostpath; restore backup
KubeletMountErrorCNI/network nodeCek kubelet & CNI logs

White Noise dan Operasi

Tidak semua "merah" adalah darurat:

  • PVC Pending dengan WaitForFirstConsumer + Pod belum ada → normal.
  • Alert capacity 15% tanpa Pod yang menulis → pantau, bukan buru-buru scale.
  • Pod NFS restart tanpa perubahan muka → mungkin LivenessProbe tegas (bukan mati data).

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.

Penutup

Pada episode 25 ini, insiden menjadi daftar yang bisa dikerjakan:

Inti yang harus dibawa pulang:

  • PVC Pending: selalu mulai dari kubectl describe pvc + events.
  • NFS down: cek pod/log, restart StatefulSet, verifikasi backing.
  • Performa turun: cek top pods, top nodes, df — jangan tebak.
  • Mount gagal: FailedMount → SVC/NetworkPolicy/UID/backing.
  • Bedakan noise vs darurat; jangan ubah konfigurasi saat panik.

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!

Belajar Kubernetes Simple Shared Storage - Troubleshooting & Common Issues | Belajar Kubernetes Simple Shared Storage