TIL

Kube)NodePort vs LoadBalancer

하얀잔디 2026. 6. 17. 10:31

알았다고 생각했는데 헷갈렸던 개념 살짝 정리!

가장중요한건 Port를 외부에 노출하는지, IP를 호출하는지 차이임.

 

NodePort (각 노드의 문을 열어두는 방식)

  • 개념: 모든 쿠버네티스 노드(서버)의 똑같은 포트(예: 30001번)를 외부로 활짝 열어버리는 방식입니다.
  • 접속 방법: http://노드A_IP:30001 또는 http://노드B_IP:30001로 노드 IP를 직접 치고 들어옵니다.
  • 단점: 노드가 죽으면 그 IP로는 접속이 안 됩니다. 사용자가 노드 IP들을 일일이 다 알고 있어야 하고, 보안상 노드의 포트를 직접 노출해야 하므로 실무 운영 환경에서는 단독으로 잘 쓰지 않습니다.

 

 LoadBalancer (단일 진입점을 제공하는 방식)

  • 개념: NodePort들 앞에 대표 진입점(단일 IP 또는 도메인)을 가진 진짜 로드밸런서를 하나 세우는 방식입니다.
  • 접속 방법: 사용자는 노드 IP를 몰라도 됩니다. 그냥 로드밸런서가 준 대표 IP(http://1.2.3.4) 하나로만 접속하면 됩니다.
  • 장점: 로드밸런서가 알아서 살아있는 노드들에게 트래픽을 골고루 나눠줍니다(부하분산). 보안도 안전하고 외부에 깔끔한 하나의 주소만 노출되므로, 실제 서비스 운영 시 필수적으로 사용됩니다.

 

요약 표

구분 NodePort LoadBalancer
핵심 개념 모든 노드에 동일한 외부 포트를 개방 NodePort 앞에 대표 로드밸런서(IP)를 배치
접속 주소 각 노드 IP : 지정된 포트 (여러 개) 로드밸런서 대표 IP (단 하나)
온프레미스 기본적으로 바로 사용 가능 MetalLB 같은 별도 솔루션 설치 필요
용도 개발 단계, 테스트용, 인그레스(Ingress) 연결용 실제