상세 컨텐츠

본문 제목

Kubernetes 핵심 개념 정리 - ClusterIP vs NodePort vs LoadBalancer 차이

개발공부/Kubernetes

by Dal_pang 2026. 2. 23. 22:38

본문

Pod는 언제든지 죽고 새로 만들어질 수 있다.
그렇다면 Pod의 IP는 고정일까? → 아니다.

이 문제를 해결하기 위해 등장한 리소스가 바로 Service다.


1. Service란 무엇인가?

Service는 다음을 해결한다:

  • Pod IP는 동적으로 변경됨
  • 여러 Pod에 트래픽을 분산해야 함
  • 외부에서 접근해야 할 수도 있음

Service는

  • 고정된 가상 IP(VIP)를 제공
  • Pod 집합에 대한 로드밸런싱 수행

2. Service 종류 3가지

타입 외부 접근 가능? 사용 목적
ClusterIP 클러스터 내부 통신
NodePort 간단한 외부 노출
LoadBalancer 실제 운영 환경

 


3. ClusterIP

기본 타입 (명시하지 않으면 기본값)

apiVersion: v1  
kind: Service  
metadata:  
name: my-service  
spec:  
type: ClusterIP  
selector:  
app: my-app  
ports:  
\- port: 80  
targetPort: 8080

특징

  • 클러스터 내부에서만 접근 가능
  • 외부에서 접근 불가
  • 가장 많이 사용됨
  • kube-proxy가 iptables/ipvs 기반으로 로드밸런싱

트래픽 흐름

Pod → Service(ClusterIP) → Pod

사용 예

  • Spring Boot → DB
  • 내부 마이크로서비스 통신

4. NodePort

개념

모든 노드의 특정 포트를 열어 외부 접근 가능하게 만든다.

spec:  
type: NodePort  
ports:  
\- port: 80  
targetPort: 8080  
nodePort: 30007

특징

  • 노드 IP + nodePort 로 접근
  • 포트 범위: 30000–32767
  • 모든 노드에 동일 포트 오픈됨

트래픽 흐름

Client → NodeIP:30007 → Service → Pod

단점

  • 노드 IP 알아야 함
  • 보안상 직접 노출 위험
  • 실운영에서는 잘 안 씀

사용 예

  • 로컬 테스트
  • Minikube 실습

5. LoadBalancer

클라우드 환경에서 사용

spec:  
type: LoadBalancer  
ports:  
\- port: 80  
targetPort: 8080

특징

  • 클라우드 제공자(AWS, GCP 등)가 외부 로드밸런서 생성
  • 외부 IP 자동 할당
  • 가장 실무적인 방식

예:

  • AWS → ELB 자동 생성
  • GCP → Cloud Load Balancer 생성

트래픽 흐름

Client → External LoadBalancer → Node → Service → Pod


6. 세 가지 차이 요약

구분 ClusterIP NodePort LoadBalancer
외부 접근
사용 환경 내부 통신 테스트 운영
외부 IP 자동 생성
보안성 높음 낮음 높음

 


7. 실무 관점에서의 구조

실제 운영 환경에서는 보통 이렇게 구성한다:

Client
↓
LoadBalancer
↓
Ingress Controller
↓
Service (ClusterIP)
↓
Pods

👉 대부분의 경우 LoadBalancer + Ingress + ClusterIP 조합을 사용한다.


8. headless service는 무엇인가?

spec:
clusterIP: None
  • 로드밸런싱을 하지 않음
  • Pod IP를 그대로 반환
  • StatefulSet에서 자주 사용

9. CKA 시험 포인트

  • Service 생성 및 수정
  • NodePort 범위 이해
  • headless service 생성
  • selector 변경 시 동작 이해
  • Service와 Endpoint 관계 이해

10. 핵심 정리

  • Pod는 ephemeral하다
  • Service는 네트워크 추상화 계층이다
  • ClusterIP가 기본
  • NodePort는 간단 노출용
  • LoadBalancer는 클라우드 운영용
728x90

관련글 더보기