Metallb-LoadBalancer 외부 배포
- 아래 그림과 같이 metallb를 설치하기 전 상태부터 확인하여 봅니다.
1
$ minikube addons list
- metallb를 통하여 외부에 노출시키기 위하여 아래와 같은 방법으로 설치하여 줍니다.
- 설치는 별도의 namespace에 아래 metallb와 관련된 pod를 구성하여 줍니다.
- 이후 MacOs에서는 무슨 문제지 모르겠지만 계속하여 실패 오류가 나 진행을 못하고 있습니다 ㅠㅠ
- 윈도우에서 동일하게 실행하여 보았으나, 이슈 없이 진행되네요.. 대체 무슨 차이일까요
1
2
3
4
5
6
7
8
9
10
11
12
13
$ minikube addons enalbe metallb
$ minikube addons configure metallb
minikube-ip
minikube-ip
# namespace
$ kubectl get ns
# 설치가 잘되었는지 확인
$ kubectl get pods -n metallb-system
# namespace 전체 삭제
$ kubectl delete namespace metallb-system
metallb 에러 해결하기
- 구글링하다가 최근 버전을 찾게되었다.
- docker network subnet 값을 확인 후 범위 내에서 externalip를 설정
- 192.168.49.0/24 임으로 뒤 8자리는 동적으로 가능 → 192.168.49.0~192.168.49.255까지 설정 가능
- 설치한 metallb 삭제 후 진행
1
$ kubectl delete namespace metallb-system
1
$ kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml
1
$ docker network inspect minikube
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# metallb-config.yml
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: example
namespace: metallb-system
spec:
addresses:
- 192.168.49.0 - 192.168.49.255
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: empty
namespace: metallb-system
1
$ kubectl apply -f metallb-config.yml
결과
- 아래와 같이 External-ip가 127.0.0.1 에서 192.168.49.2 설정한 값으로 변경한 것을 볼 수 있다.
- 하지만, Mac OS에서는 External-ip로 설정이 불가능하다고 한다..
- Linux 혹은 window에서 테스트 필요하다.