9. MetalLB 로드밸런서 서비스
온프레미스에서 구성된 쿠버네티스에서 로드밸런서를 사용해보자 => 외부에서 접속해보자!
※ 간단 개념 정리
□ LB(LoadBalancer) : 네트워크 또는 서버에 가해지는 부하(=로드)를 분산(=밸런싱) 해주는 기술을 의미. => 부하분산
□ MetalLB : 온프레미스/베어메탈로 구성된 쿠버네티스에서도 로드밸런서를 사용할 수 있게 고안된 프로젝트. 기존의 L2 네트워크(ARP/NDP)와 L3(BGP)로 로드밸런서를 구현.
□ MetalLB controller : 작동 방식(프로토콜) 을 정의하고, External-ip를 부여해 관리
□ MetalLB speaker : 정해진 프로토콜(L2/ARP, L3/BGP)에 따라 경로를 만들 수 있게 네트워크 정보를 광고하고 수집해 각 파드의 경로를 제공
□ 온프레미스 : 소프트웨어 등 솔루션을 클라우드 같이 원격 환경이 아닌 자체적으로 보유한 전산실 서버등에 직접 설치하여 운영하는 방식을 의미.
=> vm을 노트북에 구성하여 진행하고있고, 이는 온프레미스로 볼 수 있기 때문에 MetalLB를 통해 로드밸런서를 구성해보자
1. MetalLB 설치하기
# 네임스페이스 생성
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/namespace.yaml
# MetalLB components 생성
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/metallb.yaml
MetalLB의 설정을 정의한 configmap으로 MetalLB의 설정을 적용한다.
이때, VM의 대역대가 10.0.2.0/24이기 때문에 address를 10.0.2.10-10.0.2.200로 지정하였다.
이를 통해 MetalLB로 생성되는 ExternalIP는 이 범위내에서 할당되게된다.
2. nginx를 deploy 하여 웹서비스를 띄워보자
Virtual Box의 경우, VMWare와 다르게, 외부IP에 대해서 별도로 다시 포트포워딩을 지정해줘야 VM외부에서 접속이 가능하다!!
# speaker에 대한 로그 트랙킹
kubetrail -l component=speaker -n metallb-system
# 참고
https://metallb.universe.tf/installation/
MetalLB, bare metal load-balancer for Kubernetes
Installation Before starting with installation, make sure you meet all the requirements. In particular, you should pay attention to network addon compatibility. If you’re trying to run MetalLB on a cloud platform, you should also look at the cloud compat
metallb.universe.tf
07. Kubernetes Network (LoadBalancer)
Kubernetes Network (LoadBalancer) Kubernetes Network 관련 글 이동 1. Kuberentes Network 이론 2. Kubernetes Network (ClusterIP, NodePort) 3. Kubernetes Network (LoadBalancer) 4. Kubernetes Network (I..
ikcoo.tistory.com
↑ 며칠동안 고민하던 vm외부접근을 해결해주신 나의 구원자
# 어디까지 했나
