쿠버네티스

MetalLB와 물리 장비 연동을 통한 Kubernetes LoadBalancer 구성 정리

ipxy 2025. 4. 6. 12:57
728x90

1. MetalLB 개요

MetalLB는 베어메탈 환경 또는 가상화된 온프레미스 환경에서 Kubernetes의 LoadBalancer 타입 서비스를 사용할 수 있도록 지원하는 네트워크 로드밸런서입니다. 클라우드 환경(AWS, GCP, Azure)에서는 LoadBalancer 타입 서비스가 자동으로 외부 IP를 할당받지만, 베어메탈 환경에서는 이를 지원하지 않으므로 MetalLB를 통해 외부 접근이 가능한 IP를 수동으로 할당할 수 있습니다.

2. MetalLB 운영 모드

MetalLB는 두 가지 주요 모드를 제공합니다.

  • Layer 2 모드
    • ARP(IPv4) 또는 NDP(IPv6) 프로토콜을 사용하여 하나의 노드가 외부 IP를 광고합니다.
    • 설정이 간단하며, 소규모 클러스터에 적합합니다.
    • 외부 네트워크 장비(라우터/스위치)와의 추가 통합 없이 사용 가능합니다.
  • BGP 모드
    • Border Gateway Protocol(BGP)을 사용하여 외부 라우터 또는 스위치에 LoadBalancer IP 경로를 광고합니다.
    • 대규모 클러스터 및 고가용성 환경에 적합합니다.
    • 외부 네트워크 장비가 BGP를 지원해야 하며, 초기 설정이 Layer 2보다 복잡합니다.

3. MetalLB 외 다른 대안

 

방법 특징  장단점
MetalLB 가장 보편적, Layer2 & BGP 모두 지원 설치가 쉬우나 Layer2는 스케일에 한계가 있음
Kube-VIP VIP 기반의 LoadBalancer 구현 및 Control Plane HA 지원 간단하지만 복잡한 BGP 네트워킹에는 부적합
BGP 직접 구성 MetalLB 없이 BGP 스피커(FRR, Bird 등) 직접 운용 고급 네트워크 지식 필요, 높은 자유도
외부 Load Balancer 장비 사용 물리 장비를 통한 고성능 로드밸런싱 비용이 매우 높음
NodePort + Ingress Controller LoadBalancer를 쓰지 않고 외부 접근 지원 단순하지만 대규모 트래픽에 불리

4. MetalLB와 물리 장비 연동 방식

4.1 Layer 2 모드 + 물리 장비

  • MetalLB가 IP를 ARP 또는 NDP로 광고하고, 네트워크 장비는 이를 일반적인 스위칭/라우팅 동작으로 처리합니다.
  • 별도의 네트워크 프로토콜(BGP 등) 설정이 필요 없습니다.
  • 장비는 특별한 설정 없이 IP 통신만 정상적으로 수행하면 됩니다.

장점

  • 설정이 매우 간단합니다.
  • 외부 장비가 특별히 BGP를 지원할 필요가 없습니다.

단점

  • 노드 장애 시 IP failover가 느릴 수 있으며(수 초 ~ 수십 초), 대규모 클러스터에서는 Layer 2 트래픽이 부담될 수 있습니다.

4.2 BGP 모드 + 물리 장비

  • MetalLB가 BGP 프로토콜을 통해 외부 장비와 피어링(peer)을 설정합니다.
  • 서비스 생성 시 MetalLB가 BGP 경로를 광고하여, 외부 장비가 LoadBalancer IP에 대한 정확한 경로를 알게 합니다.

구성 예시

(외부 사용자)
    ↓
(물리 라우터/스위치 with BGP)
    ↓
(MetalLB BGP Speaker)
    ↓
(Kubernetes Node → Pod)

장점

  • IP 이동 및 failover가 매우 빠릅니다(수 초 이내).
  • 클러스터 확장 및 고가용성에 유리합니다.
  • 외부 네트워크 장비를 통한 트래픽 최적화 및 고급 정책 설정이 가능합니다.

단점

  • BGP 설정이 필요하며, 네트워크 장비가 이를 지원해야 합니다.
  • 초기 구축 난이도가 상대적으로 높습니다.

5. 실사용 고려사항

 

항목   Layer 2 모드   BGP 모드
초기 설정 난이도 낮음 높음
외부 네트워크 장비 요구사항 없음 BGP 지원 필요
클러스터 규모 적합성 소규모 중/대규모
장애 대응(failover) 속도 느림 빠름
IP 할당 방식 ARP/NDP Advertisement BGP 경로 Advertisement

6. 결론 및 추천

  • 소규모 클러스터(5~10 노드 미만) : MetalLB Layer 2 모드로 충분하며, 별도 장비 통합 없이 운영이 가능합니다.
  • 중대규모 클러스터(10 노드 이상 또는 HA 필요) : MetalLB BGP 모드를 채택하고, 물리 장비(라우터/스위치)와 BGP 피어링을 구성하는 것이 바람직합니다.
  • 엔터프라이즈 환경 : MetalLB BGP 모드 + 외부 로드밸런서 장비 조합을 통해 안정성과 확장성을 확보하는 구성이 권장됩니다.

 

728x90