K8S Load Balancer는 클라우드 플랫폼(aws, azure 등) 기본적으로 제공(온프레미스 환경에서는 사용 불가) → metalLB 온프레미스 환경(IDC)에서 사용할 수 있는 서비스 : L2 네트워크(ARP/NDP), L3 네트워크(BGP)로 Load Balancer를 구현
namespace
kubectl apply -f [https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/namespace.yaml](https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/namespace.yaml)
metalLB
kubectl apply -f [https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/metallb.yaml](https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/metallb.yaml)
Secret
kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)" -o yaml --dry-run=client > metallb-secret.yaml
kubectl apply -f metallb-secret.yaml
Configmap
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- 외부 IP