콘텐츠로 이동

🌐 Envoy Gateway 네트워크 구성 선택 가이드

현재 상황(On-Premise, 외부 LB 유무, IP 필요 여부)에 따라 최적의 방식을 선택하세요.

[Option 1] 고가용성 최우선 (추천 ⭐)

"노드가 죽어도 서비스는 살아야 하고, 구성이 제일 간단해야 한다."

  • 구성: NodePort + externalTrafficPolicy: Cluster + Deployment
  • 외부 LB: 하드웨어 LB (L4)가 앞단에 존재.
  • 동작: 어느 노드로 들어오든 K8s가 내부에서 파드가 있는 곳으로 배달해 줍니다.
  • 장점:
  • 파드를 노드 개수만큼 띄울 필요가 없음 (리소스 절약).
  • 설정이 가장 쉽고 장애 대응이 유연함.

  • 단점: Envoy가 클라이언트의 진짜 IP를 모름 (Node IP로 보임).

  • (해결책: 외부 LB에서 Proxy Protocol 활성화)

[Option 2] 클라이언트 IP 보존 필수 (Performance & Logging)

"사용자 IP 로그를 꼭 남겨야 하거나, 네트워크 홉(Hop)을 줄여 속도를 높여야 한다."

  • 구성: NodePort + externalTrafficPolicy: Local + DaemonSet (필수)
  • 외부 LB: 하드웨어 LB (L4)가 앞단에 존재.
  • 동작: 트래픽을 받은 노드가 직접 처리합니다. (남의 노드로 토스 안 함)
  • 장점:
  • 클라이언트 IP가 그대로 보존됨.
  • 불필요한 내부 네트워크 타기(SNAT)가 없어 성능이 미세하게 더 좋음.

  • 단점:

  • 리소스 낭비: 트래픽이 적어도 모든 노드에 Envoy 파드를 띄워야 함.
  • 업데이트 시 롤링 배포 관리가 조금 더 까다로움.

[Option 3] 외부 장비 없음 (S/W LB)

"비싼 L4 스위치가 없다. 맨땅에 헤딩해야 한다."

  • 구성: LoadBalancer (MetalLB) + externalTrafficPolicy: Cluster
  • 외부 LB: 없음 (MetalLB가 그 역할을 함).
  • 동작: 특정 노드가 VIP를 들고 있다가, 죽으면 다른 노드가 이어받습니다.
  • 장점: 추가 장비 비용 0원.
  • 단점: L2 모드 사용 시 Failover에 수 초~수십 초 딜레이가 발생할 수 있음.

📊 한눈에 보는 비교표

구분 Option 1 (현재 진행 중) Option 2 (IP 중요) Option 3 (장비 없음)
방식 NodePort (Cluster) NodePort (Local) MetalLB
필수 리소스 Deployment (기본) DaemonSet Deployment
외부 LB 장비 필수 필수 불필요
클라이언트 IP ❌ (별도 설정 필요) ✅ 보존됨
리소스 효율 좋음 (필요한 만큼만 뜸) 나쁨 (모든 노드에 뜸) 좋음
노드 다운 시 무중단 (다른 노드가 처리) 무중단 (LB가 헬스체크로 뺌) 잠깐 끊김 후 복구
추천 상황 일반적인 기업 환경 접속 로그/보안 감사 필수 테스트/소규모