Ssup2 Blog logo Ssup2 Blog

1. 설치 환경

설치 환경은 다음과 같다.

2. Network 설정

[그림 1] Kubernetes Network

Network는 다음과 같다.

3. MetalLB 설치

# git clone https://github.com/helm/charts.git
# cd charts/stable/metallb

Helm의 Offical Stable Chart를 받는다. MetalLB는 현재 Helm의 Offical Stable Chart에 포함되어 있다.

...
configInline:
  address-pools:
  - name: default
    protocol: layer2
    addresses:
    - 10.0.0.200-10.0.0.220    
...
[파일 1] MetalLB Chart의 values.yaml

MetalLB를 설정한다.MetalLB Chart의 value.yaml 파일을 [파일 1]과 같이 수정한다. MetalLB를 ARP Mode로 설정하고, LoadBalancer Service IP의 범위를 설정한다.

# helm install --name metallb --namespace metallb .

MetalLB를 설치한다.

4. MetalLB 검증

# root@kube01:~/charts/stable/metallb# kubectl get service --all-namespaces
NAMESPACE     NAME                    TYPE           CLUSTER-IP       EXTERNAL-IP    PORT(S)                           AGE
default       my-nginx-loadbalancer   LoadBalancer   10.96.98.173     10.0.0.200   80:30781/TCP                      34m
...                                                                             

LoadBalancer Service를 생성하여 External IP가 제대로 할당되는지 확인한다.

5. 참조