Bare metal host provisioning for Kubernetes

Get Started with Metal Kubed

Connect with the community to learn more, contribute ideas, and help build the future of Learn more about how to make the most of the Metal3io features in your work.

Join the Conversation


There are a number of great open source tools for bare metal host provisioning, including Ironic. aims to build on these technologies to provide a Kubernetes native API for managing bare metal hosts via a provisioning stack that is also running on Kubernetes. We believe that Kubernetes Native Infrastructure, or managing your infrastructure just like your applications, is a powerful next step in the evolution of infrastructure management.

The project is also building integration with the Kubernetes cluster-api project, allowing to be used as an infrastructure backend for Machine objects from the Cluster API.



What is the baremetal operator?

The bare metal operator is documented at and it’s the operator in charge of definitions of physical hosts, containing information about how to reach the Out of Band management controller, URL of image to provision, plus other properties related with hosts being used for provisioning instances.

What is IPMI?

IPMI is the acronym for Intelligent Platform Management Interface which is used to monitor hardware health (fans, voltage, temperature, etc). Specification is available at and was created by a joint effort by several manufactures. It allows to also define boot order and power status of the hardware.

What is out-of-band management controller?

Enterprise hardware usually have an integrated or optional controller that allows to reach the server even if it’s powered down, either via dedicated or shared nic. This controller allows some checks on the server hardware and also perform some settings like changing power status, changing Boot Order, etc. The Baremetal Operator uses it to power on, reboot and provision the physical servers to be used for running workloads on top. Commercial names include iDrac, iLO, iRMC, etc and most of them should support IPMI.

What is an operator?

An Operator is a method of packaging, deploying and managing a Kubernetes application. A Kubernetes application is an application that is both deployed on Kubernetes and managed using the Kubernetes APIs and kubectl tooling. You can think of Operators as the runtime that manages this type of application on Kubernetes. If you want to learn more about Operators you can check the CoreOS Operators website