KubeVirtBMC

Why KubeVirtBMC?

Bare-metal provisioning tools like Metal3, Tinkerbell, and Seeder rely on IPMI and Redfish to manage server power state, boot devices, and firmware. KubeVirt virtual machines have none of these interfaces out of the box, making them invisible to existing infrastructure automation.

KubeVirtBMC fills that gap. It is a Kubernetes operator that creates a virtual BMC (Baseboard Management Controller) for each KubeVirt VM, exposing standard IPMI and Redfish endpoints that map directly to Kubernetes-native operations. The result: your VMs become first-class citizens in any bare-metal provisioning pipeline.


Features

  • IPMI interface – Power on, power off, reset, and boot device selection through standard ipmitool commands
  • Redfish API – RESTful server management following the DMTF Redfish specification
  • Redfish Virtual Media – Mount ISO images remotely for OS installation and recovery workflows
  • Kubernetes-native – Runs as a controller with CRDs; each VirtualMachine gets a corresponding VirtualBMC resource
  • Provisioning-ready – Works with Tinkerbell, Metal3, Seeder, and any tooling that speaks IPMI or Redfish

How It Works

  1. Deploy KubeVirtBMC via the Helm chart
  2. The operator watches for VirtualMachineBMC resources
  3. For each VirtualMachineBMC resource`, a pair of pod and service is created with dedicated IPMI and Redfish endpoints
  4. Provisioning tools and operators interact with VMs through these standard interfaces

Get Involved

KubeVirtBMC is open source under the Apache 2.0 License and welcomes contributions.

RepositoryDescription
kubevirtbmcMain operator source code
chartHelm chart for deployment
docsProject documentation source

Read the full documentation at docs.kubevirtbmc.io to get started.