Skip to main content
Version: latest

Virtual Machine Orchestrator Pack

The Virtual Machine Orchestrator pack provides a single-pack experience that consolidates all the dependencies needed to deploy and manage VMs in your Kubernetes host cluster. You use Virtual Machine Orchestrator pack to create a VMO cluster profile. The pack's components are described below. All the components are enabled by default in the charts: section of the pack YAML configuration file.

  • Descheduler - Provides the ability to live migrate a VM to a different node in the node pool when the node is placed in maintenance mode.

  • Snapshot Controller - Provides the ability to create VM snapshots.


    The snapshot controller is installed automatically when you initiate or schedule a backup for your cluster. If you are deploying the VMO pack and your cluster already has a backup schedule configured or you have taken an on-demand backup in the past, then the snapshot controller will already be installed. To prevent any resource conflicts, you can disable the snapshot controller in the pack YAML file

    enabled: false
  • Spectro VM Dashboard: Enables access to a web console so you can manage and monitor your VMs. The console is accessible from the Virtual Machines tab that appears on the cluster overview page when using Palette Virtual Machine Orchestrator (VMO). The dashboard provides a web interface to create and manage VMs in your Kubernetes cluster.

  • KubeVirt: Allows you to create VMs within a Kubernetes cluster using open-source KubeVirt. KubeVirt provides feature gates you can enable in the Virtual Machine Orchestrator pack YAML file. To learn which feature gates Palette enables by default and how you can enable additional feature gates, check out the Feature Gates section.

    KubeVirt extends Kubernetes with additional virtualization resource types using Kubernetes Custom Resource Definitions (CRD) API. KubeVirt also includes controllers and agents that provide VM management capabilities on the cluster. Through KubeVirt you can use the Kubernetes API to manage VM resources similar to the way you manage Kubernetes resources.

  • KubeVirt CDI: Provides persistent storage for Kubernetes clusters. It enables Persistent Volume Claims (PVCs) to be used as disks for KubeVirt VMs.

  • Volume Snapshot Controller: A Kubernetes plugin that watches VolumeSnapshot CRD objects and manages the creation and deletion of volume snapshots. A snapshot represents a point-in-time copy of a volume.

  • Multus CNI: A Controller Network Interface (CNI) plugin that enables multiple network interfaces to attach to Kubernetes pods. In this context, it is used to attach VM networks to the launched VM.


The Spectro Proxy pack enables the use of a reverse proxy with a Kubernetes cluster and is automatically installed when you create the cluster with the default Proxied setting for Access during cluster profile creation. Check out the Spectro Proxy pack documentation to learn more.

Administrators can configure the out-of-the-box add-on packs, cluster profiles, and VM templates that include commonly used operating systems, or they can define their own VM templates to share with users.