VM Operator

Tracked

VM Operator enables management of virtual machines with a Kubernetes-style, declarative API. It turns VMs into first-class Kubernetes resources so platform teams can offer self-service virtual infrastructure.

AuthorVMware TanzuOpen Sourced2021-02-19Last CommitUnknown

Overview

VM Operator enables management of virtual machines with a Kubernetes-style, declarative API. Developed in the VMware Tanzu (Broadcom) organization, it is the component behind vSphere with Tanzu that lets users provision and operate VMs through Kubernetes resources instead of vSphere-specific tooling.

Key Features

  • Declarative VM lifecycle management through Kubernetes CRDs
  • Self-service consumption of virtual infrastructure with namespace-scoped quotas and permissions
  • VM images, classes, and publish requests expressed as API objects
  • Integrates with vSphere Supervisor for scheduling, storage, and networking

Use Cases

  • Offering self-service virtual machines to tenants on a shared Kubernetes platform
  • Running workloads that require full VM isolation (OS-level tooling, licensed software, legacy systems) alongside containers
  • Provisioning GPU or compute-heavy VMs for AI and data workloads through a unified Kubernetes API

Technical Details

  • Defines CRDs across API versions (v1alpha1 onward) including VirtualMachine, VirtualMachineClass, VirtualMachineClassBinding, VirtualMachineImage, ContentSource, and VirtualMachinePublishRequest
  • VirtualMachineClassBinding and ContentSourceBinding bind VM classes and image catalogs to individual namespaces, enforcing tenancy boundaries
  • Built with Kubernetes controller-runtime reconcilers that watch desired state and drive vSphere toward it
  • Supports VM image publishing workflows as first-class API objects (VirtualMachinePublishRequest)