Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.

Chapter 3. OpenShift Virtualization architecture


Learn about OpenShift Virtualization architecture.

3.1. How OpenShift Virtualization architecture works

After you install OpenShift Virtualization, the Operator Lifecycle Manager (OLM) deploys operator pods for each component of OpenShift Virtualization:

  • Compute:
    virt-operator
  • Storage:
    cdi-operator
  • Network:
    cluster-network-addons-operator
  • Scaling:
    ssp-operator
  • Templating:
    tekton-tasks-operator

OLM also deploys the

hyperconverged-cluster-operator
pod, which is responsible for the deployment, configuration, and life cycle of other components, and several helper pods:
hco-webhook
, and
hyperconverged-cluster-cli-download
.

After all operator pods are successfully deployed, you should create the

HyperConverged
custom resource (CR). The configurations set in the
HyperConverged
CR serve as the single source of truth and the entrypoint for OpenShift Virtualization, and guide the behavior of the CRs.

The

HyperConverged
CR creates corresponding CRs for the operators of all other components within its reconciliation loop. Each operator then creates resources such as daemon sets, config maps, and additional components for the OpenShift Virtualization control plane. For example, when the
hco-operator
creates the
KubeVirt
CR, the
virt-operator
reconciles it and create additional resources such as
virt-controller
,
virt-handler
, and
virt-api
.

The OLM deploys the

hostpath-provisioner-operator
, but it is not functional until you create a
hostpath provisioner
(HPP) CR.

CNV Deployments

3.2. About the hco-operator

The

hco-operator
(HCO) provides a single entry point for deploying and managing OpenShift Virtualization and several helper operators with opinionated defaults. It also creates custom resources (CRs) for those operators.

hco-operator components
Expand
Table 3.1. hco-operator components
ComponentDescription

deployment/hco-webhook

Validates the

HyperConverged
custom resource contents.

deployment/hyperconverged-cluster-cli-download

Provides the

virtctl
tool binaries to the cluster so that you can download them directly from the cluster.

KubeVirt/kubevirt-kubevirt-hyperconverged

Contains all operators, CRs, and objects needed by OpenShift Virtualization.

SSP/ssp-kubevirt-hyperconverged

An SSP CR. This is automatically created by the HCO.

CDI/cdi-kubevirt-hyperconverged

A CDI CR. This is automatically created by the HCO.

NetworkAddonsConfig/cluster

A CR that instructs and is managed by the

cluster-network-addons-operator
.

3.3. About the cdi-operator

The

cdi-operator
manages the Containerized Data Importer (CDI), and its related resources, which imports a virtual machine (VM) image into a persistent volume claim (PVC) by using a data volume.

cdi-operator components
Expand
Table 3.2. cdi-operator components
ComponentDescription

deployment/cdi-apiserver

Manages the authorization to upload VM disks into PVCs by issuing secure upload tokens.

deployment/cdi-uploadproxy

Directs external disk upload traffic to the appropriate upload server pod so that it can be written to the correct PVC. Requires a valid upload token.

pod/cdi-importer

Helper pod that imports a virtual machine image into a PVC when creating a data volume.

3.4. About the cluster-network-addons-operator

The

cluster-network-addons-operator
deploys networking components on a cluster and manages the related resources for extended network functionality.

cluster-network-addons-operator components
Expand
Table 3.3. cluster-network-addons-operator components
ComponentDescription

deployment/kubemacpool-cert-manager

Manages TLS certificates of Kubemacpool’s webhooks.

deployment/kubemacpool-mac-controller-manager

Provides a MAC address pooling service for virtual machine (VM) network interface cards (NICs).

daemonset/bridge-marker

Marks network bridges available on nodes as node resources.

daemonset/kube-cni-linux-bridge-plugin

Installs CNI plugins on cluster nodes, enabling the attachment of VMs to Linux bridges through network attachment definitions.

3.5. About the hostpath-provisioner-operator

The

hostpath-provisioner-operator
deploys and manages the multi-node hostpath provisioner (HPP) and related resources.

hpp-operator components
Expand
Table 3.4. hostpath-provisioner-operator components
ComponentDescription

deployment/hpp-pool-hpp-csi-pvc-block-<worker_node_name>

Provides a worker for each node where the hostpath provisioner (HPP) is designated to run. The pods mount the specified backing storage on the node.

daemonset/hostpath-provisioner-csi

Implements the Container Storage Interface (CSI) driver interface of the HPP.

daemonset/hostpath-provisioner

Implements the legacy driver interface of the HPP.

3.6. About the ssp-operator

The

ssp-operator
deploys the common templates, the related default boot sources, and the template validator.

ssp-operator components
Expand
Table 3.5. ssp-operator components
ComponentDescription

deployment/virt-template-validator

Checks

vm.kubevirt.io/validations
annotations on virtual machines created from templates, and rejects them if they are invalid.

3.7. About the tekton-tasks-operator

The

tekton-tasks-operator
deploys example pipelines showing the usage of OpenShift Pipelines for VMs. It also deploys additional OpenShift Pipeline tasks that allow users to create VMs from templates, copy and modify templates, and create data volumes.

tekton-tasks-operator components
Expand
Table 3.6. tekton-tasks-operator components
ComponentDescription

deployment/create-vm-from-template

Creates a VM from a template.

deployment/copy-template

Copies a VM template.

deployment/modify-vm-template

Creates or removes a VM template.

deployment/modify-data-object

Creates or removes data volumes or data sources.

deployment/cleanup-vm

Runs a script or a command on a VM, then stops or deletes the VM afterward.

deployment/disk-virt-customize

Runs a

customize
script on a target PVC using
virt-customize
.

deployment/disk-virt-sysprep

Runs a

sysprep
script on a target PVC by using
virt-sysprep
.

deployment/wait-for-vmi-status

Waits for a specific VMI status, then fails or succeeds according to that status.

3.8. About the virt-operator

The

virt-operator
deploys, upgrades, and manages OpenShift Virtualization without disrupting current virtual machine (VM) workloads.

virt-operator components
Expand
Table 3.7. virt-operator components
ComponentDescription

deployment/virt-api

HTTP API server that serves as the entry point for all virtualization-related flows.

deployment/virt-controller

Observes the creation of a new VM instance object and creates a corresponding pod. When the pod is scheduled on a node,

virt-controller
updates the VM with the node name.

daemonset/virt-handler

Monitors any changes to a VM and instructs

virt-launcher
to perform the required operations. This component is node-specific.

pod/virt-launcher

Contains the VM that was created by the user as implemented by

libvirt
and
qemu
.

Red Hat logoGithubredditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können. Entdecken Sie unsere neuesten Updates.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

Theme

© 2026 Red Hat
Nach oben