Tag: #kubevirt
Writing on GPUs, LLMs, MLOps, Kubernetes — and mindset · 23 posts
Why KubeVirt GPU Passthrough VMs Could Not Be Scheduled for 112 Days — A Real Cluster Postmortem
After a Rust operator delivered the diagnosis that "all 4 GPU nodes are NotReady," I traced the cause of that death all the way to the end on a real 8-node cluster (GPU Operator v25.3.0, KubeVirt v1.7.0). The real reason
2026-07-11 · 5 min read #kubevirt#gpu#kubernetes#nvidia#devopsGPU Operator × KubeVirt Complete Guide — Components, Configuration, Versions, Partial MIG, and Manual MIG
The two pillars of GPU infrastructure on Kubernetes, all on one page. Covers the GPU Operator operands, ClusterPolicy configuration, and versioning scheme, plus a custom config that applies MIG to only some of the GPUs o
2026-07-09 · 9 min read #kubernetes#gpu#kubevirt#mig#nvidiavirt-handler Deep Dive: What the VM Node Agent Next to kubelet Does
Analyzes why virt-handler is deployed as a per-node DaemonSet, how it bridges launcher Pods and libvirt domains, and how it handles networking, storage, and status reporting.
2026-03-20 · 6 min read #architecture#kubevirt#kubernetes#virt-handler#virtualizationHow Disks and Volumes Attach to VMs
Describes the preparation process through which container disks, PVCs, DataVolumes, hostDisks, and hotplug volumes become guest disks in KubeVirt, based on source code.
2026-03-20 · 5 min read #architecture#kubevirt#storage#pvc#datavolumeSELinux, seccomp, Device Access: How KubeVirt Maintains Security Boundaries
Analyzes how KubeVirt combines SELinux, seccomp, cgroup device rules, and privileged helpers to simultaneously maintain VM execution and security boundaries, based on internal code.
2026-03-20 · 6 min read #architecture#kubevirt#security#selinux#seccompHow Multus and Secondary Networks Connect in KubeVirt
Explains how KubeVirt connects secondary networks to VMIs using NetworkAttachmentDefinition, Multus annotations, and interface status updates.
2026-03-20 · 5 min read #architecture#kubevirt#multus#cni#networkingLive Migration 1: From Migration CRD to Target Pod Creation
Explains from the control plane perspective how virt-controller orchestrates policy, capacity, timeouts, and target Pod creation after a VirtualMachineInstanceMigration object is created.
2026-03-20 · 6 min read #architecture#kubevirt#live-migration#controller#kubernetesEviction, Drain, Migration Failure Modes: How KubeVirt Handles Failures
Analyzes how KubeVirt handles node drain, eviction, live migration failures, post-copy irrecoverable states, and non-migratable conditions through status fields and code paths.
2026-03-20 · 6 min read #architecture#kubevirt#migration#eviction#drainvirt-launcher, libvirt, QEMU: Where and How the Actual VM Process Runs
Traces how the command server, libvirt connection, domain event monitor, and guest agent poller inside the virt-launcher Pod mesh together to execute the actual QEMU process.
2026-03-20 · 5 min read #architecture#kubevirt#qemu#libvirt#virt-launcherThe Moment a User Request Becomes a VMI: virt-api and Admission Flow
Describes what validation, defaulting, subresource handling, and migration request creation virt-api performs as KubeVirt's API entry point, based on source code.
2026-03-20 · 5 min read #architecture#kubevirt#kubernetes#virtualization#apiKubeVirt Source Code Reading Map: Where to Start to Grasp the Entire Structure
Proposes a reading map for grasping the overall KubeVirt structure quickly by reading source code in the order of API types, controller, node agent, launcher, network, migration, and kernel integration.
2026-03-20 · 6 min read #architecture#kubevirt#source-code#reading-map#kubernetesKubeVirt Network 2: Comparing bridge, masquerade, passt, and SR-IOV Bindings
Explains how KubeVirt's main network bindings -- bridge, masquerade, passt, and SR-IOV -- each configure guest NICs, and how they differ in performance, connectivity, and migration characteristics.
2026-03-20 · 5 min read #architecture#kubevirt#networking#multus#sriovLive Migration 2: The Real Meaning of Pre-copy, Post-copy, Dirty Pages, and Auto-converge
Explains the meaning of pre-copy, post-copy, dirty pages, auto-converge, and pause transitions in the actual data transfer stage of KubeVirt live migration, based on source code.
2026-03-20 · 6 min read #architecture#kubevirt#live-migration#libvirt#qemuHow KubeVirt Runs VMs on Pods
A source-code-level dissection of how KubeVirt runs VMs by reusing Pod scheduling, Pod networking, and Pod storage without modifying Kubernetes itself.
2026-03-20 · 6 min read #architecture#kubevirt#kubernetes#virtualization#qemuCPU, Memory, NUMA, HugePages: How KubeVirt Aligns the Resource Model
Explains how KubeVirt translates VMI CPU and memory requests into launcher Pod resource requests, memory overhead, CPU pinning, NUMA, and hugepages models.
2026-03-20 · 5 min read #architecture#kubevirt#kubernetes#numa#hugepagesHow VMI Spec Gets Converted to libvirt Domain XML
Explains how KubeVirt's converter transforms VMI spec into libvirt domain spec and XML, and how disks, NICs, CPU, and security options are reinterpreted in the process.
2026-03-20 · 5 min read #architecture#kubevirt#libvirt#qemu#domain-xmlvirt-controller Deep Dive: Creating VM Pods with Informers, Queues, and Reconcile
Dissects how virt-controller watches VMIs, Pods, PVCs, and migrations, creates launcher Pods, and propagates state through informers and reconcile loops.
2026-03-20 · 6 min read #architecture#kubevirt#kubernetes#controller#reconciliationVMI Status, Metrics, Guest Agent, Debugging: How KubeVirt Exposes Internal State
Describes how KubeVirt collects and exposes VM internal state through VMI status, guest agent, domain stats, Prometheus metrics, and virt-handler API, based on code analysis.
2026-03-20 · 6 min read #architecture#kubevirt#observability#metrics#guest-agentKubeVirt Network 1: How Pod Networks Become VM Networks
Explains how KubeVirt connects CNI networks attached to Pods to guest NICs through bridge, TAP, DHCP, and NAT layers, and the IP assignment model.
2026-03-20 · 6 min read #architecture#kubevirt#kubernetes#cni#networkingLive Migration 3: Why Migration Proxy, Ports, TLS, and Sockets Are Needed
Explains why KubeVirt places a migration proxy between source and target launchers in live migration, and how it combines ports, Unix sockets, and TLS paths.
2026-03-20 · 5 min read #architecture#kubevirt#live-migration#networking#tls