Posted in

Install LoadBalancer Kubernetes using MetalLB

Introduction

MetalLB adalah tools loadbalancer untuk bare-metal kubernetes cluster. Untuk kebutuhan MetalLB kita harus meyiapkan IP Address yang bisa digunakan (Avalilable).

Installation

Chck strict ARP

kubectl get configmap -n kube-system kube-proxy -o yaml |grep strictARP

Jika false, kita harus ubah ke true

kubectl edit configmap -n kube-system kube-proxy

Kemudian cari pada bagian strictARP

apiVersion: v1
data:
  config.conf: |-
  ........
    ipvs:
      .........
      strictARP: true # Change here to true
      .........
  .........

Sekarang kita check versi metalLB pada saat tutor ini dibuat (0.15.2)

MetalLB_RTAG=$(curl -s https://api.github.com/repos/metallb/metallb/releases/latest|grep tag_name|cut -d '"' -f 4|sed 's/v//')

echo $MetalLB_RTAG

Install MetalLB dengan apply

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v$MetalLB_RTAG/config/manifests/metallb-native.yaml

Check apakah metalLB sudah terinstall

kubectl get all  -n metallb-system

Create IP Pool

Membuat IP Pool untuk metalLB

cat <<EOF | kubectl apply -f -
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: ip-tools
  namespace: metallb-system
spec:
  addresses:
  - 10.100.19.91-10.100.19.100
  autoAssign: false
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: ip-apps
  namespace: metallb-system
spec:
  addresses:
  - 10.100.19.71-10.100.19.90
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: adv-pool1
  namespace: metallb-system
spec:
  ipAddressPools:
  - ip-tools
  - ip-apps
EOF
  • ip-tools -> Kita membuat pools untuk kebutuhan tools, dan kita disable autoAssign
  • ip-apps -> Kita membuat pools untuk kebutuhan aplikasi, dan kita enable untuk autoAssign

Check IP Pool yang sudah kita buat

kubectl get IPAddressPool -n metallb-system

Leave a Reply

Your email address will not be published. Required fields are marked *