Mirantis k0rdent Virtualization#
Mirantis k0rdent Virtualization is a complete solution for users who want to run virtual machine–based workloads on top of Kubernetes. The central technology is KubeVirt, a virtual machine management add-on for Kubernetes. Mirantis k0rdent Virtualization extends Kubernetes by adding additional virtualization resource types (especially the VirtualMachine type) through Kubernetes’s Custom Resource Definitions (CRDs) API. This mechanism enables you to manage VirtualMachine resources alongside all other Kubernetes resources.
Concepts#
At the heart of this approach is the Hyperconverged Cluster Operator (HCO). The HCO streamlines deployment by unifying the configuration and management of multiple operators, including KubeVirt, Containerized Data Importer (CDI), networking components, and kubevirt-manager, via a single entry point. This cohesive setup, delivered through the HCO ServiceTemplate for a Mirantis k0rdent Enterprise ClusterDeployment, helps maintain consistency and reduces the administrative burden of running virtualized resources on Kubernetes.
Architecture#
The architecture of Mirantis k0rdent Virtualization is designed to leverage Kubernetes-native patterns for effective virtual machine management.
Hyperconverged Cluster Operator#
The Hyperconverged Cluster Operator combines several related components into one management layer, using the standard operator pattern to coordinate multiple operators as a single system.
The default HCO ServiceTemplate installs the following components:
- Mirantis k0rdent Virtualization: Provides the foundational virtualization capabilities.
- Containerized Data Importer (CDI): Manages persistent storage by constructing virtual machine disks on PVCs.
- Cluster Network Addons (CNA): Enhances networking functionality, typically through the Multus project.
- Kubevirt-manager: Supplies a Web UI for easier virtual machine management.
(For more details on how Kubernetes API extension works using CRDs, see Extending Kubernetes API with CRDs.)
This consolidation reduces operational overhead and contributes to a more maintainable and resilient virtualization environment.
KubeVirt#
KubeVirt is the core engine for virtualization within Mirantis k0rdent Virtualization. It manages the VirtualMachine custom resource via dedicated controllers:
Cluster Level Controllers#
- virt-controller: Monitors Virtual Machine Instances (VMIs) and orchestrates their lifecycle by managing associated pods.
- virt-api: An HTTP API server that acts as the entry point for all virtualization-related operations, handling defaulting and validation of VMI CRDs.
Node Level Controllers#
- virt-handler: When a VMI is assigned to a host,
virt-handlerinitiates the creation of the virtual domain using thelibvirtdinstance running in the VMI’s pod. - virt-launcher (per VMI): Sets up the necessary cgroups and namespaces for each VMI to run reliably.
Limitations#
Here is a more explicit version that calls out the major categories of KubeVirt-inherited limitations and links to the relevant upstream documentation for each.
Limitations#
Mirantis k0rdent Virtualization is robust, but it inherits the same boundaries and constraints documented in upstream KubeVirt, in areas such as live migration, storage, and networking. Since k0rdent Virtualization builds on KubeVirt, these constraints apply directly to VM workloads deployed through k0rdent. You can find more information in the KubeVirt documentation.