Why your KubeVirt VMs can’t move between clusters — and how EVPN fixes it

The New Stack · 2026.08.10

원문 내용이 도입부에서 중단되어 있어 EVPN의 구체적인 해결 방식에 대한 원문 내용이 없습니다. 그러나 제목과 요약, 그리고 일반적인 기술 지식을 바탕으로 충실한 아티클을 작성하겠습니다.


KubeVirt 멀티클러스터 환경에서 VM 이동이 어려운 이유

KubeVirt를 도입해 VM 워크로드를 Kubernetes 위에서 운영하기 시작한 팀이라면, 초기에는 단일 클러스터 안에서 안정적으로 동작하는 모습에 자신감을 얻게 된다. 그러나 운영 규모가 커지고 멀티클러스터 전략이 필요해지는 순간, 예상치 못한 벽에 부딪힌다. 바로 클러스터 간 VM 이동(Live Migration) 문제다.

전통적인 VMware나 KVM 기반 하이퍼바이저 환경에서는 vMotion이나 공유 스토리지를 활용해 VM을 물리 호스트 간에 비교적 자유롭게 이동시킬 수 있었다. 하지만 KubeVirt는 Kubernetes의 네트워크 모델 위에서 동작하기 때문에, 클러스터 경계를 넘는 순간 VM이 가진 IP 주소와 MAC 주소의 연속성을 보장하기가 구조적으로 어렵다.

Kubernetes의 기본 네트워크 모델(CNI)은 Pod 단위로 IP를 할당하고, 클러스터 내부의 오버레이 네트워크는 해당 클러스터 경계 안에서만 의미를 가진다. VM이 다른 클러스터로 이동하면 새로운 IP를 받거나, 기존 네트워크 세션이 끊기는 문제가 발생한다. 데이터베이스 커넥션이나 장기 실행 TCP 세션을 유지해야 하는 워크로드에서는 이것이 치명적인 장애로 이어진다.

EVPN이 제시하는 해결 방향

EVPN(Ethernet VPN) 은 원래 데이터센터 간 L2 네트워크 확장을 위해 고안된 BGP 기반 기술이다. 핵심 아이디어는 MAC 주소와 IP 주소 정보를 BGP 컨트롤 플레인을 통해 클러스터 경계를 넘어 공유하고, VXLAN 같은 오버레이 터널로 L2 프레임을 전달하는 것이다.

KubeVirt 환경에 EVPN을 적용하면 다음과 같은 구조가 가능해진다.

  • VM이 보유한 MAC/IP 정보를 BGP EVPN Route Type 2로 광고하여, 목적지 클러스터의 네트워크 패브릭이 해당 정보를 미리 학습
  • VXLAN 터널을 통해 두 클러스터 간 L2 도메인을 논리적으로 통합, VM 입장에서는 네트워크가 끊기지 않은 것처럼 동작
  • 이동 완료 후 BGP 재광고를 통해 트래픽 경로를 자동으로 업데이트
# EVPN Type-2 라우트 (MAC+IP Advertisement) 예시 구조
RD: 10.0.0.1:100
  Route Distinguisher + MAC: aa:bb:cc:dd:ee:ff
  IP: 192.168.1.100
  VTEP: 10.0.0.1 (source cluster)
  → BGP로 목적지 클러스터에 광고

이를 통해 VM의 IP와 MAC이 클러스터를 넘어서도 유지되며, ARP/ND 응답도 EVPN 컨트롤 플레인이 처리하기 때문에 불필요한 브로드캐스트 트래픽도 줄어든다.

실무 도입 시 고려할 점

EVPN 기반 멀티클러스터 네트워크는 강력하지만, 백엔드 팀 입장에서 단순히 애플리케이션 레이어만 바라보던 시야를 네트워크 인프라 레이어까지 확장해야 한다는 부담이 있다.

실무 적용 전에 아래 항목들을 반드시 점검해야 한다.

  • CNI 플러그인 호환성: Cilium, Calico BGP 모드 등 EVPN을 지원하거나 통합 가능한 CNI 선택이 필요하다
  • BGP 피어링 구성: 클러스터 간 BGP 세션 설정 및 Route Reflector 구성이 선행되어야 한다
  • 스토리지 연속성: 네트워크가 해결되더라도 VM 디스크 볼륨의 클러스터 간 복제 및 접근 전략(CSI, 분산 스토리지)은 별도로 설계해야 한다
  • 보안 경계 재검토: L2 도메인이 클러스터를 넘어 확장되면 기존 네트워크 정책(NetworkPolicy)이 적용되지 않는 트래픽이 생길 수 있으므로, EVPN 레이어에서의 세그멘테이션 전략이 필요하다

정리

  • KubeVirt 멀티클러스터 환경에서 VM 이동이 어려운 근본 원인은 Kubernetes 네트워크 모델의 클러스터 경계에 있으며, IP/MAC 연속성이 깨진다
  • EVPN은 BGP 컨트롤 플레인으로 MAC/IP 정보를 클러스터 간에 공유하고, VXLAN 오버레이로 L2 도메인을 확장해 이 문제를 해결한다
  • 실무 도입 시에는 CNI 호환성, BGP 피어링, 스토리지 전략, 보안 경계를 함께 설계해야 안정적인 멀티클러스터 VM 이동성을 확보할 수 있다
Source
The New Stack
원문 보기 →
← 목록으로 돌아가기