OpenStack Ironic grew out of the Nova project as a bare metal compute driver. While it’s still popular for managing compute nodes with Nova, it can also be used as a standalone bare-metal infrastructure management tool. In this 12-minute demo, we’ll show you how to use OpenStack Ironic to manage a multi-node Kubernetes deployment on a bare-metal cluster.
This demo uses a small lab, configured with one control node and two bare metal nodes with IPMI out-of-band controllers. Each server has three network interfaces, connected by a single switch, with traffic segmented through untagged virtual LANs.
We begin by preparing the control node with a minimal Linux installation running Docker and a small set of Python development tools. With Docker service running, we then build, configure and install a container-based standalone Ironic deployment.
With Ironic installed, we can then enroll the nodes, including a description of the hardware profile, the available network interfaces, out-of-band management credentials and Ironic drivers for managing the systems. We then use OpenStack Disk Image Builder to create an up-to-date base image that includes a management user and the official Kubernetes release packages.
Base image in hand, we use Ironic to provision the bare metal nodes. Finally, we start up our Kubernetes cluster using kubeadmin to create a Kubernetes control node and a Kubernetes minion node. The demo covers a lot of ground in only 12 minutes, but should give you a taste of how OpenStack gives you powerful tools for managing your application infrastructure.
Chris Hoge, the OpenStack Foundation’s Interop engineer, first launched this demo at KubeCon.