vMetal
vMetal is the physical and virtual Machine provisioning and lifecycle layer of vCluster Platform, not a single repository or service. It spans the platform's Machine and NodeProvider implementation, vCluster's node-consumption workflows, and a portfolio of infrastructure drivers.
A Machine represents a claim on one provisioned server, physical or virtual. A driver is the integration that provisions and manages a specific infrastructure type, such as bare metal servers or virtual machines. See the Glossary for the full terminology and the Machine and server concepts page for the lifecycle and identity model.
How Platform and vCluster use vMetal
The platform owns the NodeProvider, NodeType, and NodeClaim resources. A NodeClaim is the Kubernetes resource that represents one Machine request and tracks its lifecycle. A tenant cluster requests capacity through Private Nodes. Managing how many Private Nodes join the cluster is a manual, platform-admin-driven task unless automated by Auto Nodes, which maintains Private Node lifecycle automatically in either a static mode (reconciling to a configured desired node count) or a dynamic mode (adding or removing nodes based on configurable resource requirements, such as reserved or used CPU and memory). Auto Nodes is one consumption workflow among several, not the whole of vMetal.
Driver portfolio
vMetal provisions Machines through a portfolio of drivers. Drivers differ in implementation form, maturity, and available features, so check each driver's own documentation before relying on a specific capability.
| Driver | Provisions | Status |
|---|---|---|
| Metal3 | Bare metal servers | Available. See Metal3 driver requirements. |
| KubeVirt | Virtual machines | Available. Native virtual machine provisioning. |
| BCM | Bare metal servers | Available for existing installations. |
| Terraform/OpenTofu | Infrastructure without a native driver | Available as a general-purpose option. |
| Cluster API | Infrastructure through a Cluster API provider's own contract | Available as a driver mechanism, not a specific provider. |
| NICo | Bare metal servers | In active development, not yet available. |
Physical drivers, such as Metal3 and BCM, provision bare metal directly with no hypervisor in the vMetal-managed path. KubeVirt provisions Kubernetes nodes as virtual machines on infrastructure you provide separately.
Each driver publishes its own requirements, capabilities, and day-two operations as they become available. This site currently documents the Metal3 driver in depth.
What vMetal provides, across drivers
Regardless of which driver provisions a Machine, vMetal gives tenant clusters:
- Consistent provisioning — the same Machine, NodeProvider, and NodeType model across drivers, so tenant clusters request capacity the same way regardless of underlying infrastructure.
- OS-image lifecycle — each driver resolves its own OS image today. A shared, project-scoped image cache across drivers is planned but not yet available.
- Automatic node registration — provisioned Machines join their target tenant cluster on their own, with no manual
kubeadmjoin or agent installation. - Inventory and reclaim — vMetal tracks which servers are claimed by a Machine and returns released capacity to the pool for reuse.
- Tenant isolation — combine with vCluster and vNode for tenant isolation and secure runtime isolation on shared hardware.
Physical and virtual Machine use cases include general compute, GPU and accelerator workloads, and other AI infrastructure. See GPU presentation modes for how vMetal exposes GPUs without owning the driver stack itself.
Where to start
| If you want to... | Go to |
|---|---|
| Learn vMetal terminology | Glossary |
| Understand the Machine and server model and lifecycle | Machine and server concepts |
| Set up your first Metal3 bare metal server | Install |
| Understand the Metal3 provisioning architecture | Architecture |
| Understand GPU passthrough, vGPU, and MIG boundaries | GPU presentation modes |
| Provision GPU servers for AI workloads | GPU Quickstart |
| Build a GPU fleet for an inference provider | GPU Fleet Operations |
| Configure a NodeProvider and node types | Configuration |