Belajar MetalLB - Fitur Stabil Terbaru (v0.16.x)
Episode 20 of 23

Belajar MetalLB - Fitur Stabil Terbaru (v0.16.x)

MetalLB 0.16 dirilis Mei 2026 sebagai stable release, sementara v0.15 resmi end of life. Episode ini membahas penyempurnaan CRD v1beta2, manajemen IP pool dan observability, perbaikan BGP dan Layer 2, serta pentingnya upgrade ke v0.16.x.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Teknologi yang tidak berkembang akan tertinggal — dan MetalLB jelas berkembang. MetalLB 0.16 dirilis pada Mei 2026, menandai stable release terbaru setelah v0.15 yang resmi memasuki masa end of life di bulan yang sama. Episode 20 membahas apa saja yang berubah di seri 0.16, mengapa upgrade penting, dan bagaimana melakukannya dengan aman.

Kalau kalian baru memulai dengan MetalLB sekarang, kalian langsung memakai v0.16.1 — versi terbaru yang stabil. Kalau kalian masih di v0.15 atau lebih tua, episode ini adalah alasan sekaligus panduan untuk segera melakukan upgrade.

Apa yang Baru di MetalLB 0.16

Penyempurnaan CRD v1beta2

Seri 0.16 melanjutkan pematangan CRD v1beta2 yang diperkenalkan sejak v0.14. Versi ini membawa perbaikan konsistensi dan kejelasan pada field-field CRD, terutama untuk IPAddressPool yang kini menggunakan metallb.io/v1beta2 sebagai versi utamanya. Perubahan utamanya lebih pada kematangan daripada fitur baru yang revolusioner — hal yang wajar untuk release yang fokus pada stabilitas.

Cek versi CRD yang aktif di cluster kalian:

Melihat versi CRD MetalLB
kubectl get crd ipaddresspools.metallb.io -o jsonpath='{.spec.versions[*].name}'
kubectl get crd | grep metallb.io

kubectl get crd ipaddresspools.metallb.io -o jsonpath='{.spec.versions[*].name}' menampilkan versi yang dilayani oleh CRD — seharusnya ada v1beta1 dan v1beta2. Kolom versi pada output kubectl get crd | grep metallb.io menegaskan versi mana yang menjadi storage.

Manajemen IP Pool

Manajemen pool di v0.16 difokuskan pada stabilitas alokasi. Perilaku autoAssign dan avoidBuggyIPs tetap dipertahankan dan diuji lebih menyeluruh, sehingga alokasi IP antar banyak pool lebih dapat diprediksi. Untuk pengguna, tidak ada perubahan cara kerja yang wajib dipelajari ulang — justru ini kabar baiknya.

Observability yang Ditingkatkan

Metric dan Status yang Lebih Informatif

Seri 0.16 memperbaiki observability: metric Prometheus lebih konsisten penamaannya, dan status pada resource seperti IPAddressPool dan BGPPeer lebih informatif. Ini mempermudah pemantauan yang sudah kita bangun di episode 11.

Memeriksa metric dan status setelah upgrade
kubectl get ipaddresspool
kubectl get bgppeer

kubectl get ipaddresspool dan kubectl get bgppeer menampilkan status resource dengan lebih jelas. Pemanfaatan metric untuk alert tetap mengikuti pola yang sama seperti episode 11 dan 17.

Perbaikan BGP dan Layer 2

Stabilitas Peering BGP

Di mode BGP, v0.16 menghadirkan perbaikan pada stabilitas sesi dan penanganan kondisi edge — misalnya perilaku yang lebih baik saat peer berubah konfigurasi atau saat node kehilangan konektivitas. Bagi yang memakai FRR sebagai backend BGP (default sejak v0.13), perbaikan ini mengurangi flapping sesi yang tidak diinginkan.

Perilaku Layer 2 yang Lebih Halus

Di mode Layer 2, perbaikan difokuskan pada announcement yang lebih responsif saat terjadi failover dan pengurangan gangguan pada traffic yang sedang berjalan. Pengalaman failover Layer 2 di v0.16 umumnya lebih mulus dibanding versi-versi awal.

Dukungan Versi dan Pentingnya Upgrade

v0.15 End of Life

Keputusan penting dari rilis ini: v0.15 resmi end of life sejak Mei 2026. Artinya:

  • Tidak ada lagi backport perbaikan bug ke v0.15.
  • CVE yang ditemukan tidak akan mendapat patch untuk v0.15.
  • Menggunakan v0.15 berarti menjalankan komponen jaringan dengan risiko keamanan yang tidak tertangani.

Bagi kalian yang masih menjalankan v0.15 atau lebih lama, upgrade bukan lagi pilihan — ini keharusan keamanan.

Memeriksa Versi yang Berjalan

Sebelum upgrade, pastikan versi yang sedang berjalan di cluster:

Memeriksa versi MetalLB yang terpasang
kubectl get deployment metallb-controller -n metallb-system -o jsonpath='{.spec.template.spec.containers[0].image}'
kubectl get daemonset metallb-speaker -n metallb-system -o jsonpath='{.spec.template.spec.containers[0].image}'

Output kubectl get deployment metallb-controller -n metallb-system -o jsonpath='{.spec.template.spec.containers[0].image}' menunjukkan image tag controller saat ini — misalnya v0.15.0. Jika bukan v0.16.1, saatnya upgrade.

Melakukan Upgrade ke v0.16.x

Jalur Helm (Disarankan)

Cara paling aman dan terkontrol adalah melalui Helm:

Upgrade MetalLB ke v0.16.1
helm repo update
helm upgrade metallb metallb/metallb --namespace metallb-system --version 0.16.1
kubectl get pods -n metallb-system

helm upgrade metallb metallb/metallb --version 0.16.1 menerapkan semua perubahan resource sekaligus. Setelah selesai, kubectl get pods -n metallb-system memastikan semua komponen kembali sehat.

Verifikasi Setelah Upgrade

Jangan berhenti di pod yang sehat. Verifikasi juga bahwa konfigurasi tetap berfungsi:

Verifikasi menyeluruh setelah upgrade
kubectl get ipaddresspool
kubectl get l2advertisement
kubectl get bgppeer
kubectl get svc -A

kubectl get ipaddresspool, kubectl get l2advertisement, dan kubectl get bgppeer memastikan semua konfigurasi masih terbaca. kubectl get svc -A memastikan IP LoadBalancer yang sudah ada tidak hilang setelah upgrade.

Warning

Jika upgrade gagal di tengah jalan, jangan panik — tetap pada rilis resmi dan gunakan release notes untuk menyelesaikan konflik field. Data IP yang dialokasikan tidak hilang karena alokasi disimpan di status Service, bukan di konfigurasi.

Penutup

Episode 20 menuntaskan fitur stabil terbaru: MetalLB 0.16 yang dirilis Mei 2026, penyempurnaan CRD v1beta2, manajemen pool dan observability yang lebih baik, perbaikan BGP dan Layer 2, serta urgensi upgrade karena v0.15 sudah end of life.

Inti yang harus dibawa pulang:

  • v0.16.0 dan v0.16.1 dirilis Mei 2026; v0.16.1 adalah stable terbaru.
  • v0.15 resmi end of life — upgrade adalah keharusan keamanan.
  • CRD v1beta2 disempurnakan, dengan v1beta1 tetap dilayani untuk kompatibilitas.
  • Observability di v0.16 lebih konsisten dan informatif.
  • Perbaikan BGP mengurangi flapping; Layer 2 lebih halus saat failover.
  • Cek image tag dengan kubectl, lalu upgrade lewat Helm dan verifikasi resource.

Di episode 21 selanjutnya kita akan membahas production-ready architecture — perencanaan pool IP, pemilihan mode L2 versus BGP, integrasi router, high availability, upgrade strategy, pipeline GitOps, observability dengan Prometheus dan dashboard, sizing, serta runbook insiden.

Belajar MetalLB - Fitur Stabil Terbaru (v0.16.x) | Belajar MetalLB