> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siderolabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# What Is Talos Hypervisor?

> An introduction to Talos Hypervisor, which runs virtual machines on a Talos host through machine configuration and talosctl.

export const version = 'v1.14';

Talos Hypervisor runs virtual machines on a Talos Linux host. Each virtual machine is declared in the machine configuration, the same way as volumes or network settings, and Talos creates it and keeps it in the declared state. Talos runs the virtual machines with libvirt and QEMU, which the `libvirtd` system extension adds to the host.

## Talos Hypervisor building blocks

Talos Hypervisor is configured through three machine configuration documents, each describing a different part of the system:

* **[Content library](../storage/upload-and-manage-images)**: Stores the images that virtual machines boot from, such as installation ISOs. It is declared with a [`ContentLibraryConfig`](../../talos/v1.15/reference/configuration/hypervisor/contentlibraryconfig) document and stored on a Talos volume. Its files are uploaded and removed with `talosctl hypervisor content-library`, rather than through the machine configuration. Talos also stores the cloud-init seed images it generates for virtual machines in a content library.

* **[Storage pool](../storage/create-a-storage-pool)**: Provides a location on the host for the writable disks of virtual machines. It is declared with a [`StoragePool`](../../talos/v1.15/reference/configuration/storage/storagepool) document and stored on a Talos volume.

* **[Virtual machine](../virtual-machines/create-and-configure-a-virtual-machine)**: Defines a virtual machine using a [`VirtualMachineConfig`](../../talos/v1.15/reference/configuration/hypervisor/virtualmachineconfig) document. The configuration specifies its power state, processors, memory, firmware, disks, consoles, video, network interfaces, and guest setup with cloud-init. Talos reports the virtual machine's observed state through a `VirtualMachineStatus` resource.

## Comparison with KubeVirt

Talos Linux can also run virtual machines through <a href={`../../talos/${version}/advanced-guides/install-kubevirt`}>KubeVirt</a>. Both approaches run virtual machines with QEMU and KVM, but they are managed differently. KubeVirt virtual machines are Kubernetes resources, operated with `kubectl` and `virtctl`. Talos Hypervisor virtual machines are declared in the host's machine configuration and operated with `talosctl`, with libvirt and QEMU supplied by the `libvirtd` system extension. In this release, a hypervisor host runs as a node in a Kubernetes cluster, but Kubernetes does not manage its virtual machines.

## Next steps

See [Run your first virtual machine](../getting-started/run-your-first-virtual-machine) to get started with Talos Hypervisor.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.