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
ipmitoolcommands - 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
- Deploy KubeVirtBMC via the Helm chart
- The operator watches for
VirtualMachineBMCresources - For each
VirtualMachineBMCresource`, a pair of pod and service is created with dedicated IPMI and Redfish endpoints - 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.
| Repository | Description |
|---|---|
| kubevirtbmc | Main operator source code |
| chart | Helm chart for deployment |
| docs | Project documentation source |
Read the full documentation at docs.kubevirtbmc.io to get started.