KubeVirt, 쿠버네티스 위의 가상머신: 혁신일까? 위험일까?
쿠버네티스와 VM, 공존은 가능한가?
가상머신(VM)과 컨테이너는 오랜 시간 서로 다른 영역을 차지해 왔습니다. 하지만 최근 기업 환경에서는 이 둘을 하나의 플랫폼에서 운영하고자 하는 수요가 증가하고 있습니다. 바로 이 접점에서 등장한 오픈소스 프로젝트가 KubeVirt입니다.
KubeVirt는 쿠버네티스(Kubernetes) 위에서 가상머신을 실행할 수 있게 해주는 가상화 확장 기술입니다. 컨테이너 중심의 쿠버네티스에 VM이라는 전통 기술을 접목시켜, 둘의 공존을 가능하게 한다는 아이디어는 분명 매력적입니다. 하지만 과연 실무 환경에서도 충분히 쓸 수 있을 만큼 성숙한 기술일까요?
이번 블로그에서는 KubeVirt의 개념부터 핵심 기능, 한계점, 그리고 어떤 경우에 도입이 적합한지까지 객관적인 시선으로 정리해 보겠습니다.
KubeVirt란 무엇인가?
VM과 컨테이너, 하나의 제어판 아래에서
KubeVirt는 쿠버네티스 위에서 가상머신을 실행할 수 있게 만들어주는 오픈소스 프로젝트입니다. 원래 컨테이너 기반 워크로드만을 다루던 쿠버네티스에 VM을 함께 올려 하나의 제어판(Control Plane)에서 관리할 수 있도록 해주는 것이 핵심 기능입니다.
VM은 컨테이너보다 무겁고, 전통적인 하이퍼바이저 위에서 운영되는 방식에 익숙합니다. 반면 쿠버네티스는 경량화된 컨테이너를 빠르고 유연하게 배포하는 데 최적화된 플랫폼입니다. KubeVirt는 이 둘을 조합해 “VM도 컨테이너처럼 다룰 수 있게 하자”는 목표로 시작된 프로젝트입니다.
현재 KubeVirt는 리눅스 기반 하이퍼바이저인 KVM과 libvirt를 사용하여 쿠버네티스 클러스터 안에서 VM을 Pod 단위로 실행합니다.
주요 기능과 명확한 한계
선언형 방식의 VM 관리
KubeVirt는 쿠버네티스의 철학에 맞게 선언형(Declarative) 방식으로 가상머신을 생성, 실행, 정지, 삭제할 수 있도록 합니다. 주요 기능은 다음과 같습니다.
- 사전 정의된 VM 생성
- 쿠버네티스 클러스터에서 VM 스케줄링
- VM 실행 및 종료
- VM 삭제
이러한 기본 기능은 간단한 실험 환경이나 개발용 테스트 환경에는 적합할 수 있습니다. 하지만 다음과 같은 고급 기능은 제공되지 않습니다.
- 고급 스토리지 연동
- VM 라이프사이클 관리 자동화
- 마이그레이션, 스냅샷, 확장 등 고급 가상화 기능
- 중앙 집중형 관리 대시보드
기존의 상용 또는 오픈소스 VM 플랫폼과 비교했을 때, KubeVirt는 아직 상당히 제한적인 기능만을 제공합니다.
왜 도입이 어려운가?
기존 인프라와의 충돌
KubeVirt의 가장 큰 문제는 기존 VM 인프라와의 호환성 부족입니다. 특히 스토리지 연동이 표준화되어 있지 않아 CSI(Container Storage Interface)를 지원하는 스토리지 드라이버에 의존해야 합니다. 하지만 Gartner 자료에 따르면 2025년 1월 기준으로:
- 54%의 CSI 드라이버는 스냅샷을 지원하지 않고
- 49%는 다중 Pod 읽기/쓰기를 지원하지 않으며
- 57%는 디스크 확장을 지원하지 않습니다
이러한 현실은 기존 VM 환경에서 당연히 사용하던 기능들과는 큰 차이를 보입니다. 결과적으로 기업들은 스토리지, 네트워크, 보안 등 여러 측면에서 기존 인프라를 뜯어고쳐야 하는 상황에 놓이게 됩니다.
언제 도입해볼 수 있을까?
실험적 환경에서는 가능
KubeVirt는 아직 성숙한 플랫폼이 아닙니다. CNCF의 인큐베이션 프로젝트로 2022년에 승격되었지만, 졸업까지는 안정성, 생태계, 기술 성숙도 면에서 갈 길이 멉니다.
그렇다고 해서 모든 경우에 쓸 수 없다는 뜻은 아닙니다. 다음과 같은 환경에서는 고려해볼 만합니다.
- 개발 및 테스트 환경
- 비생산용 샌드박스 인프라
- 쿠버네티스 자체를 VM 위에 올리는 실험 환경
즉, 100개의 VM이 돌아가는 개발 환경 정도에는 적합하지만, 10만 개의 VM이 운영되는 엔터프라이즈 환경에는 아직 시기상조입니다.
KubeVirt는 쿠버네티스 위에서 가상머신을 실행할 수 있도록 도와주는 흥미로운 기술입니다. 컨테이너와 VM의 공존이라는 명확한 문제를 해결하려는 방향성은 높이 평가할 수 있습니다. 하지만 실제 엔터프라이즈 환경에서 도입하려면 생각보다 넘어야 할 허들이 많습니다.
기존 인프라 변경, 운영 툴 재정비, 인력 재교육 등 도입 비용과 위험성이 상당하며, 현재로서는 기능적으로도 한계가 뚜렷합니다. 특히 대규모 가상화 환경에서는 여전히 전통적인 VM 플랫폼이 안정성과 효율 면에서 우위에 있습니다.
따라서 현재 KubeVirt는 테스트 및 개발 환경에서 가능성을 탐색하는 수준에서 접근하는 것이 바람직합니다. 장기적으로는 컨테이너 기반 인프라와의 통합 가능성을 열어두되, 실무 도입은 신중하게 판단해야 합니다.
Gartner의 전망대로 2028년까지도 KubeVirt는 기업 내 10% 미만의 가상화 워크로드에만 사용될 것으로 보입니다. 혁신은 때로 도전이 따르기 마련입니다. 그러나 혁신이 성공으로 이어지기 위해서는 그만한 준비와 전략이 필요합니다.
Open Source KubeVirt: VM Management With Kubernetes Is a Work in Progress
KubeVirt is designed for Kubernetes environments for which the learning curve for adoption still remains.
thenewstack.io