Published on2026년 3월 20일CPU, Memory, NUMA, HugePages: KubeVirt는 자원 모델을 어떻게 맞추는가architecturekubevirtkubernetesnumahugepagesperformance2026-032026-03-20KubeVirt가 VMI의 CPU와 메모리 요청을 launcher Pod 자원 요청, 메모리 오버헤드, CPU pinning, NUMA, hugepages 모델로 어떻게 변환하는지 설명한다.
Published on2026년 3월 20일VM, VMI, Migration CRD는 각각 무엇을 표현하는가architecturekubevirtkubernetesvirtualizationcrdlive-migration2026-032026-03-20KubeVirt의 핵심 API 타입인 VirtualMachine, VirtualMachineInstance, VirtualMachineInstanceMigration이 각각 어떤 책임을 가지며 왜 분리되어 있는지 소스 스키마 기준으로 설명한다.
Published on2026년 3월 20일Eviction, drain, migration failure modes: KubeVirt는 실패를 어떻게 처리하는가architecturekubevirtmigrationevictiondrainfailure2026-032026-03-20KubeVirt가 node drain, eviction, live migration 실패, post-copy irrecoverable 상태, non-migratable 조건을 어떤 상태 필드와 코드 경로로 처리하는지 분석한다.
Published on2026년 3월 20일KubeVirt는 어떻게 Pod 위에서 VM을 실행하는가architecturekubevirtkubernetesvirtualizationqemulibvirt2026-032026-03-20KubeVirt가 Kubernetes를 바꾸지 않고도 Pod 스케줄링, Pod 네트워크, Pod 스토리지를 재사용해 VM을 실행하는 원리를 소스 코드 관점에서 해부한다.
Published on2026년 3월 20일KVM, cgroup, namespace, tap, netlink: KubeVirt가 기대는 커널 기술architecturekubevirtlinuxkvmcgroupsnamespaces2026-032026-03-20KubeVirt가 Pod 위에서 VM을 구현할 수 있도록 받쳐 주는 리눅스 커널 기술인 KVM, cgroup, namespace, TAP, netlink, VFIO의 역할을 정리한다.
Published on2026년 3월 20일Live Migration 1: migration CRD에서 target Pod 생성까지architecturekubevirtlive-migrationcontrollerkubernetesvirtualization2026-032026-03-20VirtualMachineInstanceMigration 객체가 생성된 뒤 virt-controller가 정책, 용량, 타임아웃, target Pod 생성을 어떻게 조율하는지 control plane 관점에서 설명한다.
Published on2026년 3월 20일Live Migration 2: pre-copy, post-copy, dirty page, auto-converge의 실제 의미architecturekubevirtlive-migrationlibvirtqemuvirtualization2026-032026-03-20KubeVirt live migration의 실제 데이터 전송 단계에서 pre-copy, post-copy, dirty page, auto-converge, pause 전환이 어떤 의미를 가지는지 소스 코드 기준으로 설명한다.
Published on2026년 3월 20일Live Migration 3: migration proxy, 포트, TLS, 소켓은 왜 필요한가architecturekubevirtlive-migrationnetworkingtlslibvirt2026-032026-03-20KubeVirt가 live migration에서 source와 target launcher 사이에 migration proxy를 두는 이유와, 포트, Unix socket, TLS 경로를 어떻게 조합하는지 설명한다.
Published on2026년 3월 20일Multus와 secondary network는 KubeVirt에서 어떻게 연결되는가architecturekubevirtmultuscninetworkingnad2026-032026-03-20KubeVirt가 NetworkAttachmentDefinition, Multus annotation, interface status 업데이트를 활용해 secondary network를 VMI에 연결하는 방식을 설명한다.
Published on2026년 3월 20일KubeVirt 네트워크 2: bridge, masquerade, passt, SR-IOV 바인딩 비교architecturekubevirtnetworkingmultussriovpasst2026-032026-03-20KubeVirt의 주요 네트워크 바인딩인 bridge, masquerade, passt, SR-IOV가 각각 어떤 방식으로 guest NIC를 구성하며 성능, 연결성, migration 특성에서 어떻게 다른지 설명한다.
Published on2026년 3월 20일KubeVirt 네트워크 1: Pod 네트워크를 VM 네트워크로 바꾸는 기본 원리architecturekubevirtkubernetescninetworkingdhcp2026-032026-03-20KubeVirt가 Pod에 먼저 붙은 CNI 네트워크를 bridge, TAP, DHCP, NAT 레이어를 통해 guest NIC로 연결하는 원리와 IP 할당 모델을 설명한다.
Published on2026년 3월 20일SELinux, seccomp, device access: KubeVirt의 보안 경계는 어떻게 유지되는가architecturekubevirtsecurityselinuxseccompvfio2026-032026-03-20KubeVirt가 SELinux, seccomp, cgroup device rule, privileged helper를 어떻게 조합해 VM 실행과 보안 경계를 동시에 유지하는지 내부 코드 기준으로 분석한다.
Published on2026년 3월 20일KubeVirt 소스코드 읽기 맵: 어디서부터 읽어야 전체 구조가 잡히는가architecturekubevirtsource-codereading-mapkuberneteslibvirt2026-032026-03-20KubeVirt 소스코드를 API 타입, controller, node agent, launcher, network, migration, kernel integration 순서로 읽어 전체 구조를 빠르게 잡는 읽기 지도를 제안한다.
Published on2026년 3월 20일VMI status, metrics, guest agent, debugging: KubeVirt는 내부 상태를 어떻게 드러내는가architecturekubevirtobservabilitymetricsguest-agentdebugging2026-032026-03-20KubeVirt가 VMI status, guest agent, domain stats, Prometheus metrics, virt-handler API를 통해 VM 내부 상태를 어떻게 수집하고 노출하는지 코드 기준으로 정리한다.
Published on2026년 3월 20일디스크와 볼륨은 어떻게 VM에 붙는가architecturekubevirtstoragepvcdatavolumevirtualization2026-032026-03-20container disk, PVC, DataVolume, hostDisk, hotplug volume이 KubeVirt에서 어떤 준비 과정을 거쳐 guest 디스크로 연결되는지 소스 기준으로 정리한다.
Published on2026년 3월 20일사용자 요청이 VMI로 바뀌는 순간: virt-api와 admission 흐름architecturekubevirtkubernetesvirtualizationapiadmission2026-032026-03-20virt-api가 KubeVirt의 API 진입점으로서 어떤 검증, defaulting, subresource 처리, migration 요청 생성을 수행하는지 소스 코드 기준으로 정리한다.
Published on2026년 3월 20일virt-controller deep dive: informer, queue, reconcile로 VM Pod를 만드는 법architecturekubevirtkubernetescontrollerreconciliationvirtualization2026-032026-03-20virt-controller가 VMI, Pod, PVC, migration 등을 감시하며 launcher Pod를 만들고 상태를 전파하는 방식을 informer와 reconcile 관점에서 해부한다.
Published on2026년 3월 20일virt-handler deep dive: kubelet 옆의 VM 노드 에이전트는 무엇을 하는가architecturekubevirtkubernetesvirt-handlervirtualizationnode-agent2026-032026-03-20virt-handler가 왜 노드별 DaemonSet으로 배치되며, launcher Pod와 libvirt domain 사이를 어떻게 연결하고 네트워크, 스토리지, 상태 보고를 수행하는지 분석한다.
Published on2026년 3월 20일virt-launcher, libvirt, QEMU: 실제 VM 프로세스는 어디서 어떻게 뜨는가architecturekubevirtqemulibvirtvirt-launchervirtualization2026-032026-03-20virt-launcher Pod 내부에서 command server, libvirt 연결, domain event monitor, guest agent poller가 어떻게 맞물리며 실제 QEMU 프로세스를 실행하는지 추적한다.
Published on2026년 3월 20일VMI spec가 libvirt domain XML로 변환되는 과정architecturekubevirtlibvirtqemudomain-xmlvirtualization2026-032026-03-20KubeVirt의 converter가 VMI spec를 어떻게 libvirt domain spec와 XML로 바꾸며, 그 과정에서 디스크, NIC, CPU, 보안 옵션이 어떻게 재해석되는지 설명한다.