Open-Source Bare Metal Provisioning Platform, Tinkerbell, Spreads Its Wings in the CNCF Sandbox
- By John K. Waters
- April 22, 2021
The open-source bare metal provisioning platform known as Tinkerbell has been growing its feature set since it joined the Cloud Native Computing Foundation (CNCF) sandbox program a year ago, belying its diminutive name with sizeable new capabilities. The latest release comes with a new, next-gen, in-memory operating system installation environment; the ability to share common workflow actions using the CNCF Artifact Hub; support for Cluster API; and out-of-the-box support from a long list of operating systems.
Originally developed by Equinix, the Tinkerbell platform is a collection of microservices designed to help organizations transform static physical hardware into programmable digital infrastructure, regardless of manufacturer, processor architecture, internal components, or networking environment. The platform's cloud-native and workflow-driven approach has been tested in production with the Equinix Metal automated bare metal service. Equinix open sourced the platform last May, and it was accepted as a CNCF sandbox project in November 2020.
The CNCF serves as the vendor-neutral home for many of popular open-source projects, including Kubernetes, Prometheus, and Envoy. The CNCF Sandbox is the entry point for new and independent projects in the early stages of their development.
Tinkerbell has four major components: a DHCP/TFTP server (Boots), a metadata service (Hegel), an in-memory operating system installation environment (Hook) and a workflow engine (Tink). There's also an optional fifth component: a Power and Boot service (PBnJ) that communicates with the Baseboard Management Controllers (BMCs). The workflow engine is comprised of a server and a command line input (CLI), which communicates via remote procedure calls (gRPC).
Hook is one of the new components unveiled in this announcement. It was developed with community participation and is based on such popular projects as Docker’s LinuxKit. Hook is designed to allow end-users to quickly rebuild action images. The company says it reduces build times from approximately 45 minutes to 90 seconds. Hook also reduces memory footprint, the company says, while making rebuilding action images for different processor architectures significantly easier. Deployment metrics are available via Prometheus endpoints, allowing operators to monitor their provisioning workflows with their preferred metrics tooling.
The platform's composable workflows use the CNCF Artifact Hub, and Tinkerbell users can now share and reuse common workflow actions as they would with container images on Docker Hub. Common Tinkerbell actions are now written in Go and delivered as binaries to make it easier to author new workflows while reducing memory footprint. These actions can also make use of new functionality from Hook to decrease provisioning times through technologies like kexec.
By supporting Cluster API, Tinkerbell is adopting the leading community provider for provisioning Kubernetes clusters, increasing interoperability and decreasing the learning curve for those already familiar with Cluster API. After successful community testing, Cluster API for Tinkerbell (CAP-T) will be extended to implement the full API, the company says.
Tinkerbell’s support for major operating systems such as VMware ESXi, RedHat Enterprise Linux, Windows Server, Flatcar Linux, Ubuntu, CentOS 8, Debian and NixOS has been tested by the community. New configurable actions provide the ability to deploy any operating system on Tinkerbell as covered in the updated Operating System documentation.
That community is growing, too, evolving into an ecosystem of "cloud-native digital leaders" because of the platform's "ability to empower developers to deploy and manage foundational infrastructure at global scale," the company says. Members of the Tinkerbell community are contributing code to the project alongside updates from Equinix.
The latest Tinkerbell release also includes an updated sandbox that allows users to get up and running with a validated version of the Tinkerbell stack, binaries for both x86 and Arm processors, and introduces a new capability allowing users to swap in and out components. The Tinkerbell sandbox is available through a local development environment on HashiCorp Vagrant Cloud
John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS. He can be reached at [email protected].