Belajar MetalLB (load balancer untuk cluster Kubernetes bare-metal dan on-premise) dari dasar hingga production-grade: pre-requisites skill & setup environment, sejarah latar belakang & mengapa membutuhkan MetalLB, konsep dasar & arsitektur utama, setup & instalasi, IPAddressPool & IPAM, layer 2 mode, BGP mode, service load balancer pertama, kustomisasi advertisement, multi-pool & traffic policies, validating admission & CRD, observability & monitoring, integrasi ingress & nginx, peering & network design, security & access control, high availability & failover, advanced BGP (communities, localPref, aggregation), IP planning & network scale, gitops & config as code, performance & troubleshooting, fitur stabil terbaru v0.16.x, production-ready architecture, hingga ekosistem alternatif & refleksi akhir dengan total 23 episode.
Sebelum menyentuh MetalLB, kalian perlu menguasai Service Kubernetes, dasar networking Linux (ARP dan BGP), serta CLI kubectl, helm, dan ip. Episode ini memandu menyiapkan cluster bare-metal, menginstall kubectl dan helm, serta merencanakan blok IP untuk IP eksternal.

MetalLB lahir dari kebutuhan cluster bare-metal yang tidak memiliki load balancer cloud-native. Episode ini menelusuri sejarah proyek dari Google Cloud 2017 hingga CNCF, masalah yang diselesaikannya, serta perbandingan awal dengan kube-vip, cloud LB, dan NodePort.

MetalLB terdiri dari dua komponen utama: metallb-controller yang mengalokasikan IP dari pool, dan metallb-speaker yang meng-announce IP di setiap node. Episode ini menjelaskan alur kerja end-to-end dan peran CRD IPAddressPool, L2Advertisement, BGPAdvertisement, serta BGPPeer.

Episode ini memandu instalasi MetalLB dengan dua cara: manifest metallb.yaml dan Helm chart. Setelah install, kalian memverifikasi pod controller dan speaker, lalu membuat konfigurasi awal berupa IPAddressPool dan L2Advertisement pertama.

IPAddressPool adalah jantung manajemen alamat MetalLB. Episode ini membahas cara mendefinisikan rentang IP dalam bentuk range dan CIDR, opsi autoAssign serta avoidBuggyIPs, perilaku alokasi controller, dan pembebasan IP ketika Service dihapus.

Layer 2 mode adalah cara paling sederhana meng-announce IP: speaker di satu node terpilih menjawab ARP/NDP untuk IP Service. Episode ini membahas L2Advertisement, leader election, mekanisme failover saat node mati, serta karakteristik dan keterbatasan mode ini.

BGP mode membuat speaker melakukan peering dengan router eksternal dan meng-advertise prefix IP Service. Episode ini membahas BGPPeer dan BGPAdvertisement, ECMP yang menyebar traffic ke banyak node, serta karakteristik dan syarat router BGP yang diperlukan.

Saatnya melihat MetalLB bekerja: deploy aplikasi, expose lewat Service tipe LoadBalancer, verifikasi IP eksternal, dan uji akses dari luar cluster. Episode ini juga membahas troubleshooting dasar untuk IP yang tidak ter-assign dan advertisement yang tidak tampil.

Advertisement tidak harus satu ukuran untuk semua. Episode ini membedah opsi lanjutan L2Advertisement seperti interfaces dan nodeSelectors, opsi BGPAdvertisement seperti communities, aggregationLength dan localPref, serta penggunaan multiple advertisements sekaligus.

Cluster produksi biasanya butuh lebih dari satu pool IP. Episode ini membahas pemisahan pool per lingkungan, cara memilih pool per Service lewat annotation, dan dampak externalTrafficPolicy Local versus Cluster terhadap source IP, konektivitas, dan failover.
