The Spectro Cloud Palette Virtual Machine Orchestrator (VMO) Reference Architecture document provides a comprehensive overview of how to configure and deploy virtual machines (VMs) within a Kubernetes environment using Spectro Cloud's Palette platform. It covers the technology stack, including KubeVirt, Portworx, Cilium, Canonical MAAS, and Pure Storage FlashArray, among others. The document outlines the specific configuration requirements for setting up bare-metal Kubernetes clusters with VM workloads, focusing on network, storage, and software configuration.The architecture enables seamless integration of both containerized applications and VM workloads on a unified Kubernetes platform. VMO extends Kubernetes' capabilities by orchestrating VMs alongside containers, using tools like Multus for network interfaces, CSI Snapshot Controller for storage management, and Cilium for high-performance networking. The document emphasizes Portworx as the primary storage provider, ensuring persistent storage for stateful applications, and highlights the importance of using RWX (ReadWriteMany) access modes for live VM migration.The architecture also stresses the importance of scalability, resilience, and ease of management, providing specific hardware and software recommendations, from resource pools in Canonical MAAS to bonded network interfaces for optimal VM-to-pod communication.The reference architecture is intended for IT architects, consultants, and Kubernetes administrators involved in the planning, design, and deployment of Kubernetes-based VM management solutions. It serves as a detailed guide for configuring Kubernetes clusters to run VM workloads in various environments, ensuring high availability and performance with minimal downtime. Networking for the VMO use case requires a little extra care, compared to a regularKubernetes cluster. That is because in most cases, some (or all) of the virtual machines willneed to be made accessible on existing VLANs. This requires bypassing the typicalKubernetes pod networking stack altogether. This is why Multus is used, as it provides a wayto achieve that. It also means there are some requirements to the host network configurationfor the Kubernetes worker nodes, in order to have valid network targets to bridge the VMs onto.