본문 바로가기
Kubernetes/활용

MetalLB를 이용한 로드밸런서 타입 서비스 구축

by lumination 2024. 2. 23.

노드포트 타입 서비스는 외부 클라이언트에서 접속했을 때 특정 도메인이 아닌 특정 노드가 실제로 사용하는 IP 주소를 지정해서 접속한다.

하지만 노드 IP는 변경될 수 있고, 80, 443 등 기본 포트가 아닌 특수 포트 30000 ~ 32767 중 하나의 포트를 사용해야 하므로 실제 서비스에 적응하기는 어렵다.

이를 해결하기 위해 쿠버네티스는 부하분산이 가능한 로드밸런서 타입의 서비스를 제공한다.

 

  • NodePort: 100.2.3.4:30000 접속
  • Load-Balancer: http(s)://www.myweb.com 접속

 

*퍼블릭 클라우드에서는 로드밸런서를 사용하면 추가 비용이 발생하기 때문에 주로 Ingress를 사용해 비용을 절감한다.

 

대표적인 LB 솔루션은 MetalLB와 Porter가 있다. (둘 다 CNCF 프로젝트)

MetalLB는 쿠버네티스 자체 솔루션에 포함되지 않은 외부 솔루션이다.


1.헬름을 이용한 MetalLB 설치

https://metallb.universe.tf

 

1. 로드밸런서에 할당할 외부에서 접속 가능한 IP 대역을 지정한다..

2. 헬름을 이용해 MetalLB를 설치한다.

3. 테스트 용도의 데모 'voting-app' 어플리케이션을 설치한다. 프론트엔드 웹에서 사용하는 서비스 타입(vote)을 로드밸런서로 지정한다.
각 파드에 정상적으로 부하분산이 되는지 확인한다.


 

'Kubernetes > 활용' 카테고리의 다른 글

쿠버네티스 스토리지  (0) 2024.02.26
kube-proxy 부하분산 설정의 이해  (0) 2024.02.23
쿠버네티스 DNS 기능 이해  (0) 2024.02.22
쿠버네티스 서비스(service) 사용하기 (1)  (0) 2024.02.22
Helm 헬름 활용(3)  (0) 2024.02.19