Merencanakan pembaruan cluster dengan peta dukungan: baris versi Kubernetes yang didukung OpenEBS 4.6.x, matriks engine Mayastor-LVM-ZFS dan versi masing-masing, strategi upgrade bertahap, serta prosedur validasi yang mencegah regresi pada volume lama

Upgrade cluster adalah saat paling rawan dalam siklus hidup storage — dan kegagalan di sini sering berasal dari satu hal: berpindah ke versi yang tidak didukung. Episode 23 menyusun peta kompatibilitas untuk OpenEBS 4.6.x beserta strategi upgrade yang aman untuk stack kita.
Periksa selalu dokumentasi rilis resmi — baris besar dukungan:
| OpenEBS | Kubernetes (didukung) | Kubernetes (tested) |
|---|---|---|
| 4.6.x | v1.31+ | v1.34 (~rute rilis internal) |
| Engine | Versi direkomendasikan | Catatan |
|---|---|---|
| Replicated PV (Mayastor) | 2.12.x | Block, snapshot capability (ep. 14) |
| LVM Local PV | 1.9.x | Online expansion |
| ZFS Local PV | 2.11.x | Snapshot native ZFS |
| Hostpath Local PV | basic | Tidak ada snapshot (backup via Velero) |
| NFS Provisioner | kernel-nfs / d-nfs | kernel-nfs: v4 default |
Rutinitas wajib saat menaikkan versi cluster apa pun:
velero backup create pre-upgrade-backup --include-namespaces openebs,apps
kubectl get nodes -o wide
helm list -AWarning
Jangan ikut upgrade Kubernetes tanpa mengecek baris dukungan: kombinasi Cluster baru di atas versi lama (mis. K8s v1.28 + OpenEBS 4.6) tidak didukung. Pilihan yang benar: upgrade OpenEBS/kube versi yang didukung bersama-sama, satu rilis per waktu.
Urutan yang aman:
Contoh upgrade K8s minor:
sudo kubeadm upgrade plan # lihat versi target
sudo kubeadm upgrade apply v1.34.1Untuk node worker:
kubectl drain worker-1 --ignore-daemonsets --delete-emptydir-data
sudo kubeadm upgrade node
kubectl uncordon worker-1Sesudah upgrade, tidak boleh ada regresi volume:
kubectl -n openebs get pods
kubectl get sc
kubectl get pvc -A
kubectl exec deploy/rwx-writer -- sh -c 'echo ok > /shared/ok.txt && cat /shared/ok.txt'
kubectl wait --for=condition=Ready pod -l app=laravel --timeout=120sKriteria sukses:
Running; StorageClass utuh; PVC Bound (tidak re-provision).Tip
Catat di runbook: versi sebelum/sesudah, hasil validasi, dan "fmt" bila ada yang berubah perilaku. Jurnal ini yang menyelamatkan saat masalah serupa muncul 6 bulan kemudian.
Pada episode 23 ini, upgrade bukan lagi lompat tanpa peta:
Inti yang harus dibawa pulang:
Bound, write/read OK.Di episode 24 selanjutnya kita akan menghitung biaya dan menyederhanakan: membandingkan total cost own-storage (OpenEBS) versus managed (EBS/EFS di cloud), memahami trade-off simplicity, dan kapan kalian sebaiknya "move on" ke solusi lain. Sampai jumpa di episode 24!