{"slug": "kubeswift-kubernetes-native-vm-orchestration-on-cloud-hypervisor", "title": "KubeSwift, Kubernetes-Native VM Orchestration on Cloud Hypervisor", "summary": "KubeSwift, a Kubernetes-native VM orchestration platform built on Cloud Hypervisor, has been released with support for Linux and Windows guests, GPU passthrough, live migration, and 13 custom resource definitions for managing VM fleets, snapshots, and multi-cluster deployments.", "body_md": "KubeSwift runs virtual machines as Kubernetes workloads. You define a VM with a custom resource; controllers reconcile it into a pod; inside that pod, `swiftletd`\n\nlaunches a hypervisor. [Cloud Hypervisor](https://www.cloud-hypervisor.org/) is the hypervisor for nearly every workload — Linux and Windows guests, traditiona disk VMs and kernel boot (microVMs), PCIe GPU passthrough, snapshots, and live migration. QEMU is used for the moment as a secondary runtime only for HGX SXM (multi-GPU NVSwitch) topologies, where CUDA requires a full PCIe hierarchy that Cloud Hypervisor's flat model does not currently provide. We are tracking upstream for this capability.\n\n**Boot paths**— disk boot from cloud images (Linux and Windows) and direct kernel boot from OCI artifacts (sub-second microVMs).** GPU passthrough**— whole-GPU VFIO passthrough with two allocation backends: the native SwiftGPU model (discovery DaemonSet + profiles) or Kubernetes[DRA](/kubeswift-io/kubeswift/blob/main/docs/gpu/dra-allocation.md)ResourceClaims. PCIe GPUs on Cloud Hypervisor; HGX SXM on QEMU.**Networking**— tap + bridge + DHCP with the guest IP surfaced in status; multi-NIC via Multus; SR-IOV NIC passthrough; OVN Backend supported: OVN-Kubernetes and multi-node L2 with IP-preserving cross-node live migration (kube-ovn primary-on-NAD — see).`docs/networking/ovn-l2-install.md`\n\n**Services**— expose guest ports as Kubernetes Services via`spec.network.ports`\n\n(ClusterIP/NodePort/LoadBalancer), a load-balanced Service across pool replicas via`SwiftGuestPool.spec.service`\n\n, and a VM→cluster egress reachability probe surfaced as`EgressReady`\n\n.**Storage**— per-guest root-disk cloning sized from a class; optional data disks (blank/sized, image-backed, or attached PVC); RWX+Block for live-migration-capable volumes.**Snapshots & clones**— disk-only (CSI) and memory+disk (local/S3) snapshots, scheduled snapshots, and`cloneFromSnapshot`\n\nfor fast VM fan-out.**OCI registry artifacts**— golden VM images (`SwiftImage.spec.source.oci`\n\n+`swiftctl image publish`\n\n, cosign-signed with verify-on-pull) and VM snapshots / full-state cold migration (`SwiftSnapshot`\n\n`backend.type: oci`\n\n) stored in any OCI registry, for cross-cluster and edge distribution.**Migration**— offline migration on any storage, and live migration (sub-second downtime) with optional mTLS transport and`kubectl drain`\n\nintegration.**Fleets**—`SwiftGuestPool`\n\ngives ReplicaSet-style scaling with rolling updates, topology spread, and a PVC per replica.**Operations**—`swiftctl`\n\nfor console/SSH/lifecycle/describe; Prometheus metrics and Grafana dashboards across every feature; cloud-init via NoCloud; security-hardened containers (drop-ALL, no privileged).\n\n| CRD | Short | API group | Scope | Purpose |\n|---|---|---|---|---|\n| SwiftGuest | `sg` |\n`swift.kubeswift.io` |\nNamespaced | A VM instance |\n| SwiftGuestClass | `sgc` |\n`swift.kubeswift.io` |\nCluster | CPU/memory/disk template |\n| SwiftGuestPool | `sgpool` |\n`swift.kubeswift.io` |\nNamespaced | Fleet of identical VMs |\n| SwiftImage | `si` |\n`image.kubeswift.io` |\nNamespaced | Disk image source |\n| SwiftSeedProfile | `ssp` |\n`seed.kubeswift.io` |\nNamespaced | cloud-init (NoCloud) config |\n| SwiftKernel | `sk` |\n`kernel.kubeswift.io` |\nNamespaced | Kernel + initramfs OCI artifact |\n| SwiftGPUProfile | `sgp` |\n`gpu.kubeswift.io` |\nNamespaced | GPU passthrough request (native backend) |\n| SwiftGPUNode | `sgn` |\n`gpu.kubeswift.io` |\nCluster | Per-node GPU inventory |\n| SwiftSnapshot | ssnap | `snapshot.kubeswift.io` |\nNamespaced | VM snapshot (disk or memory+disk) |\n| SwiftRestore | srst | `snapshot.kubeswift.io` |\nNamespaced | Restore from a snapshot |\n| SwiftSnapshotSchedule | — | `snapshot.kubeswift.io` |\nNamespaced | Cron-scheduled snapshots + keep-N |\n| SwiftMigration | smig | `migration.kubeswift.io` |\nNamespaced | Move a guest between nodes |\n| Cluster | `ksc` |\n`fleet.kubeswift.io` |\nNamespaced | Member cluster federated by the gateway hub |\n\n13 CRDs, all `v1alpha1`\n\n.\n\nStart at the ** documentation index**. Common entry points:\n\n[Quickstart](/kubeswift-io/kubeswift/blob/main/docs/quickstart.md)— boot your first VM[Architecture](/kubeswift-io/kubeswift/blob/main/docs/architecture.md)— components, boot paths, status model[CRD reference](/kubeswift-io/kubeswift/blob/main/docs/crds.md)·[API overview](/kubeswift-io/kubeswift/blob/main/docs/api/overview.md)[GPU passthrough](/kubeswift-io/kubeswift/blob/main/docs/gpu-passthrough.md)·[GPU via DRA](/kubeswift-io/kubeswift/blob/main/docs/gpu/dra-allocation.md)[Networking operations](/kubeswift-io/kubeswift/blob/main/docs/networking/operations-guide.md)[Snapshots](/kubeswift-io/kubeswift/blob/main/docs/snapshots/csi-snapshots.md)·[Live migration](/kubeswift-io/kubeswift/blob/main/docs/migration/overview.md)[swiftctl CLI](/kubeswift-io/kubeswift/blob/main/docs/swiftctl.md)·[Observability](/kubeswift-io/kubeswift/blob/main/docs/observability/README.md)[Install (Helm/OCI)](/kubeswift-io/kubeswift/blob/main/docs/install/helm-oci.md)\n\n```\nmake build          # Go binaries\nmake build-images   # container images\nmake deploy         # apply CRDs + deploy the controller\ngo test ./...       # Go tests\ncargo test          # Rust tests (from rust/)\n```\n\nPre-1.0; the `v1alpha1`\n\nAPI may change between releases. **Host requirement:** x86_64 Linux nodes with `/dev/kvm`\n\n(KVM).\n\nLicensed under the [GNU Affero General Public License v3.0](/kubeswift-io/kubeswift/blob/main/LICENSE) (AGPL-3.0).", "url": "https://wpnews.pro/news/kubeswift-kubernetes-native-vm-orchestration-on-cloud-hypervisor", "canonical_source": "https://github.com/kubeswift-io/kubeswift", "published_at": "2026-07-08 17:48:08+00:00", "updated_at": "2026-07-08 18:12:31.187725+00:00", "lang": "en", "topics": ["artificial-intelligence", "machine-learning", "ai-infrastructure"], "entities": ["KubeSwift", "Cloud Hypervisor", "QEMU", "Kubernetes", "CUDA", "NVSwitch", "Multus", "OVN-Kubernetes"], "alternates": {"html": "https://wpnews.pro/news/kubeswift-kubernetes-native-vm-orchestration-on-cloud-hypervisor", "markdown": "https://wpnews.pro/news/kubeswift-kubernetes-native-vm-orchestration-on-cloud-hypervisor.md", "text": "https://wpnews.pro/news/kubeswift-kubernetes-native-vm-orchestration-on-cloud-hypervisor.txt", "jsonld": "https://wpnews.pro/news/kubeswift-kubernetes-native-vm-orchestration-on-cloud-hypervisor.jsonld"}}