Raise some horns: Red Hat's MetalKube aims to make Kubernetes on bare machines simple
Open-source project borrows bits of OpenStack
OpenInfra Days UK 2019 Open-source software developers at Red Hat are working on a tool that would simplify deployment and management of Kubernetes clusters on bare-metal servers.
MetalKube was revealed earlier this week by Steve Hardy, Red Hat's senior principal software engineer, at the Open Infrastructure Days UK – an event organised by the local Open Infrastructure community and supported by the OpenStack Foundation.
The initial implementation of MetalKube is being built with Ironic – one of nearly 50 software modules used in OpenStack – to manage physical server hardware and provision images. It also involves CoreOS, and Kubernetes' custom resource definitions that describe the bare-metal nodes.
"In some situations, you won't want to run a full OpenStack infrastructure-as-a-service layer to provide, potentially, for multiple Kubernetes clusters," Hardy told The Reg.
"This provides a lightweight alternative – in situations where, perhaps, you want to deploy two or three racks for a specific workload, you want to have all of the infrastructure management self-hosted, and you get to leverage the high availability and fault-tolerance of Kubernetes without having to have dependencies on external provisioning and orchestration tools."
Hardy is a notable contributor to OpenStack, having previously worked on Heat and TripleO projects. He said one of the reasons for choosing Ironic was its active development – and when new features get added to Ironic, the MetalKube team gets them "for free".
"OpenStack has always been a modular set of projects, and people have always had the opportunity to reuse components for different applications. This is just an example of where we are leveraging one particular component for infrastructure management, just as an alternative to using a full infrastructure API," Hardy said.
OpenStack is not a single piece of software, but a framework consisting of an integration engine and a wealth of interdependent modules or projects, each serving a narrowly defined purpose, like Nova for compute, Neutron for networking and Swift for object storage. Ironic is a vintage module designed to bring automation and speed of provisioning normally associated with virtual machines to physical servers.
"I like the fact that the projects end up being reusable on their own, for the functions they bring to the table – this helps us integrate with adjacent communities," Thierry Carrez, veep of engineering at the OpenStack Foundation, told The Reg.
"If all you ever need is Kubernetes clusters, why would you deploy OpenStack?
"I'm interested in them not reinventing the wheel," he added. "I also feel it plays into 'Kubernetes will do everything' type of expansion of the project. I think it is a strategic mistake that we made, and I hope they will not make. At the height of the hype, it's really tempting to just do everything within your community, reinvent everything, and not collaborate with anyone else.
"I realize that OpenStack has gathered a bit of a bad rep with some other open-source projects due to that, and the new strategy, which is much more collaborative, is much better received."
It's still early days for MetalKube – the project has just six contributors, and there's no telling when it might reach release. "It's a very, very young project but we are keen to get more community participation and feedback," Hardy said.
You can check out the MetalKube code on GitHub. ®