Q&A/K8s

인그레스 컨트롤러와 로드밸런서 차이는 무엇인가?

Tech Crunchy 2025. 4. 26. 12:05
728x90

개요

Q. 인그레스 컨트롤러와 로드밸런서 차이는 무엇인가?

A. 인그레스 컨트롤러는 로드밸런서의 한 형태이지만, K8s 환경에 특화되어 있습니다.

 

내용

인그레스 컨트롤러 로드밸런서
주로 L7 동작 L4 / L7
경로/호스트 기반 라우팅
SSL 인증 및 종료
세밀한 트래픽 제어
단순 트래픽 분산
IP/Port 기반 라우팅
클러스터 내부에 배포되어 Ingress 리소스와 연동 CSP 서비스 또는 H/W로 제공
Ingress 리소스 설정
(K8s 오브젝트)
Service 리소스
(LB 타입 등)

 

인그레스 컨트롤러는 K8s의 인그레스 리소스에서 정의한 라우팅 규칙(예: URL 경로, 도메인 등)을 실제로 적용하여, 외부에서 들어오는 HTTP/HTTPS 요청을 내부 서비스로 전달하는 역할을 합니다. 로드밸런서는 외부 트래픽을 여러 서버나 파드로 분산시키는 일반적인 네트워크 컴포넌트로, L4(전송 계층)에서 동작하는 경우가 많으며, IP와 포트 기반으로 부하를 분산합니다.

 

인그레스 컨트롤러는 주로 L7에서 동작하며, HTTP 헤더, 경로, 쿠키 등 다양한 정보를 바탕으로 트래픽을 세밀하게 제어할 수 있습니다. 로드밸런서는 L4 또는 L7에서 동작하지만, K8s의 서비스 리소스에서 LB 타입은 주로 L4 계층에서 동작합니다.

 

인그레스 컨트롤러는 인그레스 리소스에 정의된 규칙을 해석해, 클러스터 내부의 여러 서비스에 대한 HTTP(S) 트래픽을 중앙에서 관리하고 라우팅합니다. 로드밸런서는 주로 단일 서비스 또는 포트에 대한 트래픽 분산에 초점을 맞추며, 클라우드 벤더가 제공하는 경우(예: AWS ELB)는 별도의 관리가 필요합니다.

 

여러 도메인, 경로, 인증, SSL 종료 등 복잡한 HTTP(S) 트래픽 관리가 필요할 때는 인그레스 컨트롤러를 사용합니다. 단순히 외부 트래픽을 여러 파드로 분산시키고 싶을 때는 로드밸런서(특히 L4 기반)를 사용합니다.

728x90