Frequently Asked Questions

Here are some answers to common questions, discover more about Metal3

What is the baremetal operator?

Baremetal Operator is a Kubernetes controller providing support for several custom resources, most importantly - BareMetalHosts.

What kind of boot processes can be paired with specific BMC protocols?

Drivers with “virtual media” in their name can use the virtual media technology to boot an ISO remotely. The other drivers require network boot, more specifically - iPXE.

What is Cluster API provider Metal3 (CAPM3)?

CAPM3 is an infrastructure provider for the Cluster API that uses Metal3 and Ironic to provision machines for your cluster.

How does Metal3 relate to Cluster API (CAPI)?

The Metal3 project includes the Cluster API Provider Metal3 (CAPM3) - an infrastructure provider for Cluster API.

What CPU architectures are supported?

Both x86_64 (Intel) and AARCH64 (Arm) are supported. Mixed architectures (e.g. some hosts x86_64, some - aarch64) are not supported yet.

What is IPMI?

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

What kinds of operating systems can be installed?

You can use any operating system that is available in a cloud format (e.g. qcow2). If you need first boot configuration, the image has to contain cloud-init or a similar first-boot tool.

Does Metal3 support provisioners other than Ironic?

While it’s technically possible to add more provisioners, only Ironic is supported now, and supporting other provisioners is not on the current roadmap.

How can one supply network configuration during provisioning?

You can put it to the BareMetalHost’s network Data field in the OpenStack network data format.

Ironic is developed as part of OpenStack, does Metal3 require OpenStack?

Ironic can be used as a stand-alone service without any other OpenStack services. In fact, Baremetal Operator does not support any other OpenStack services.

Can I use my own operating system installer with Metal3?

You can use the live ISO workflow to attach a bootable ISO to the machine using virtual media. Note that Baremetal Operator will not track the installation process in this case and will consider the host active once the ISO is booted.

What is an out-of-band management controller?

Enterprise hardware usually has an integrated or optional controller that allows reaching 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.

Do I need to use the Metal3 with Cluster API or can I use Metal3 independently?

It is completely optional to use Cluster API. You can use only the Baremetal Operator and skip CAPM3 completely if all you need is bare-metal provisioning via Kubernetes API.

What is Ironic and how does Metal3 relate to it?

Ironic is a bare metal provisioner, it handles provisioning of physical machines. Metal3 exposes a part of the Ironic functionality as a Kubernetes native API via the Baremetal Operator. Ironic is not part of Metal3 but Metal3 relies on Ironic to provision the bare metal hosts.

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 Operator framework website https://operatorframework.io/what/

What is cleaning? Can I disable it?

Cleaning removes partitioning information from the disks to avoid conflicts with the new operating system. See automated cleaning for details.

What is inspection? Can I disable it?

Inspection is used to populate hardware information in the BareMetalHost objects. You can disable it, but you may need to populate this information yourself. Do not blindly disable inspection if it fails - chances are high the subsequent operations fail the same way.

What is iPXE?

The iPXE project develops firmware for booting machines over the network. It’s a more feature-rich alternative to the well known PXE and can be used as an add-on on top of PXE.

What is virtual media?

Virtual media is a technology that allows booting an ISO on a remote machine without resorting to network boot (e.g. PXE).

Why use Ironic?

Ironic is an established service with a long history of production usage and good support for industry standards. By using it, Metal3 can concentrate on providing the best integration with Kubernetes.