Belajar MetalLB - Pre-Requisites Skill & Setup Environment
Episode 0 of 23

Belajar MetalLB - Pre-Requisites Skill & Setup Environment

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.

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

Pendahuluan

Selamat datang di series Belajar MetalLB! Series ini akan membawa kalian menguasai MetalLB — project CNCF yang menyediakan LoadBalancer Service untuk cluster Kubernetes yang berjalan di bare-metal atau on-premise — dari fondasi konsep sampai production readiness. Total ada 23 episode yang tersusun dari enam fase.

Di cloud, layanan seperti AWS ELB atau GCP Load Balancer hadir begitu kalian membuat Service bertipe LoadBalancer. Di cluster on-premise, layanan semacam ini tidak ada. Di sinilah MetalLB bekerja: dia men-assign IP eksternal dari pool yang kalian definisikan, lalu meng-announce IP tersebut ke jaringan lewat Layer 2 (ARP/NDP) atau BGP.

Sebelum memulai, ada beberapa skill dasar dan perangkat lunak yang wajib kalian siapkan. Episode 0 ini adalah peta jalan: kita akan memastikan skill dasar, menyiapkan cluster dan tooling, serta merencanakan blok IP yang akan dipakai sepanjang series.

Skill Dasar yang Wajib Dikuasai

Service Kubernetes

MetalLB bekerja pada level Service, jadi kalian harus paham tiga tipe Service berikut:

  • ClusterIP: IP virtual di dalam cluster, hanya bisa diakses dari dalam.
  • NodePort: mengekspos Service di port tertentu pada setiap node.
  • LoadBalancer: yang akan disediakan MetalLB — Service mendapat IP eksternal dan di-announce ke jaringan.

Biasakan juga membaca hasil kubectl get svc dan kubectl describe svc — dua perintah ini akan menjadi senjata utama troubleshooting di episode 7 dan 19.

Melihat status Service
kubectl get svc -A

Jika output masih kosong, tidak masalah. Yang penting kalian paham membaca kolom TYPE, CLUSTER-IP, EXTERNAL-IP, dan PORT(S) saat ada data.

Networking Linux: ARP dan BGP

MetalLB meng-announce IP lewat dua mekanisme, dan keduanya memerlukan pemahaman dasar:

  • ARP/NDP: protokol Layer 2 untuk memetakan IP ke MAC address. Mode Layer 2 MetalLB menggunakan ARP (IPv4) dan NDP (IPv6).
  • BGP: protokol routing antar router. Mode BGP MetalLB melakukan peering dengan router eksternal untuk meng-advertise prefix.

Kalian tidak perlu menjadi network engineer dulu, tapi harus nyaman membaca output ip addr, ip route, dan konsep ASN serta peering. Analogi sederhananya: ARP seperti bertanya "siapa yang punya IP ini?" di satu jaringan, sedangkan BGP seperti memberi tahu router lain "jalur ke IP ini ada di sini".

CLI: kubectl, helm, dan Perintah Jaringan

Tiga CLI utama yang akan dipakai terus-menerus:

  • kubectl untuk mengelola resource Kubernetes.
  • helm untuk menginstall MetalLB lewat chart.
  • ip dan arping untuk memeriksa jaringan saat troubleshooting.

kubectl get nodes seharusnya menjadi kebiasaan pertama kalian, karena semua operasi di series ini diawali dengan memastikan cluster sehat.

Perangkat Lunak yang Perlu Disiapkan

Cluster Bare-Metal atau On-Premise

MetalLB membutuhkan cluster Kubernetes yang berjalan di lingkungan tempat kalian bisa mengontrol jaringan — kubeadm, k3s, atau kind semuanya bisa dipakai. Untuk development, kind adalah pilihan paling ringan:

Install kind dan buat cluster
brew install kind
kind create cluster --name metallb-lab
kubectl get nodes

Output kubectl get nodes harus menampilkan node dengan status Ready. Catatan penting: untuk mode BGP (episode 6) dan pengujian failover (episode 15), topology multi-node jauh lebih baik daripada single-node. kind create cluster --name metallb-lab di atas membuat cluster single-node yang cukup untuk mengikuti episode awal.

kubectl dan helm

Pastikan kubectl versi minor tidak tertinggal jauh dari versi cluster kalian:

Verifikasi kubectl dan helm
kubectl version --client
helm version

helm version menampilkan versi Helm 3, yang diperlukan karena chart MetalLB hanya mendukung Helm 3. Jika versi kalian masih Helm 2, lakukan migrasi dulu.

Blok IP Eksternal

Ini prasyarat yang paling sering dilupakan. MetalLB men-assign IP dari pool yang kalian definisikan, dan IP itu harus benar-benar tidak dipakai di jaringan kalian. Cara paling mudah: pilih rentang IP di subnet LAN yang tidak di-announce DHCP, misalnya 192.168.1.200 sampai 192.168.1.250 pada subnet 192.168.1.0/24.

Memeriksa blok IP yang tersedia
ip addr show dev eth0
arping -c 3 192.168.1.200

arping -c 3 192.168.1.200 mengirim tiga permintaan ARP. Jika tidak ada balasan, IP tersebut tampaknya belum dipakai. Ulangi untuk beberapa IP di rentang pilihan kalian.

Verifikasi Environment

Sebelum lanjut ke episode 1, pastikan semuanya siap dengan satu rangkaian verifikasi:

Verifikasi akhir environment
kubectl version
kubectl get nodes
helm version
ip addr show

Keempat perintah di atas harus berjalan tanpa error. Cluster harus berstatus Ready, kubectl dan helm terpasang, dan kalian sudah punya daftar IP yang bisa dipakai untuk pool.

Info

Tuliskan blok IP pilihan kalian di suatu tempat. Mulai episode 3, blok ini akan menjadi IPAddressPool pertama, dan seluruh episode praktik di series ini akan memakainya berulang kali.

Ringkasan Skill yang Harus Dikuasai

Rangkuman prasyarat yang sudah kalian siapkan di episode 0:

  • Service Kubernetes: paham perbedaan ClusterIP, NodePort, dan LoadBalancer.
  • Networking dasar: paham ARP/NDP dan konsep BGP untuk mode yang akan datang.
  • CLI: kubectl, helm, dan perintah jaringan ip serta arping.
  • Cluster: bare-metal/on-premise yang node-nya berstatus Ready.
  • Blok IP eksternal: rentang IP yang bebas konflik dan tidak dikelola DHCP.

Jika ada yang belum terpenuhi, lengkapi dulu sebelum melanjutkan. Fondasi yang kuat akan membuat 22 episode berikutnya terasa jauh lebih ringan.

Penutup

Di episode 0 kalian sudah menyiapkan pijakan untuk seluruh series: memahami Service Kubernetes dan networking dasar, menyiapkan cluster dan tooling CLI, serta memilih blok IP yang akan dijadikan pool.

Inti yang harus dibawa pulang:

  • MetalLB bekerja pada level Service LoadBalancer — kuasai dulu ketiga tipe Service.
  • Mode Layer 2 memakai ARP/NDP; mode BGP memakai peering dengan router.
  • kubectl, helm, ip, dan arping adalah CLI utama di seluruh series.
  • Cluster harus sehat dengan node berstatus Ready sebelum menginstall MetalLB.
  • Blok IP eksternal harus bebas konflik dan dicatat untuk dipakai nanti.

Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa membutuhkan MetalLB — dari kelahiran proyek di Google Cloud tahun 2017, masalah cluster bare-metal tanpa load balancer cloud-native, hingga perbandingan awal dengan kube-vip dan NodePort. Pastikan environment kalian sudah siap, karena perjalanan Belajar MetalLB baru saja dimulai!

Belajar MetalLB - Pre-Requisites Skill & Setup Environment | Belajar MetalLB