Tinkerbell, an Equinix Open Source Project, Empowers Developers to Deploy and Manage Foundational Infrastructure at Global Scale
April 2021 by Marc Jacob
Equinix, Inc. announced that Tinkerbell, an all-in-one open source bare metal provisioning platform, has added significant new features since joining the Cloud Native Computing Foundation (CNCF) Sandbox program. As a CNCF project sponsored by Equinix, Tinkerbell has also gained ecosystem adoption among cloud native digital leaders for its ability to empower developers to deploy and manage infrastructure across private, hybrid and edge environments. Tinkerbell’s growing community of enterprises, hardware manufacturers and open source developers are contributing code to the project alongside updates from Equinix, helping to add new components, expand documentation and release a technical preview of a new Cluster API provider for Kubernetes.
Tinkerbell is a collection of microservices that together help organizations transform static physical hardware into programmable digital infrastructure regardless of manufacturer, processor architecture, internal components, or networking environment. Its cloud native and workflow-driven approach has been tested in production at Equinix Metal™ with millions of successful provisions of diverse hardware across dozens of global locations. With Tinkerbell, infrastructure operators and developers can normalize any heterogenous hardware (including x86 and Arm); create powerful workflows to configure and secure private, hybrid or edge infrastructure; deploy their choice of operating system or virtualization software; and manage the life cycle of hardware programmatically.
The latest release of Tinkerbell includes a number of new or improved capabilities:
• New Component: Hook is a next-generation in-memory operating system installation environment that builds on extensive experience. Hook was developed with community participation and is based on popular projects including Docker’s LinuxKit. Hook allows end users to quickly rebuild action images, significantly reducing build times from approximately 45 minutes to 90 seconds. Hook also reduces memory footprint 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.
• Composable Workflows via Shared Actions: Using the CNCF Artifact Hub, Tinkerbell users can now share and reuse common workflow actions just 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.
• Cluster API for Tinkerbell: 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 now be extended to implement the full API.
• Out-of-the-Box Support for Major Operating Systems – 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.
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.
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 is 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).
Tinkerbell was open sourced by Equinix in May 2020 and accepted as a CNCF Sandbox project in November 2020 to empower organizations to deploy and manage diverse physical infrastructure at scale and accelerate their move to hybrid multicloud architectures.
Tinkerbell currently powers thousands of daily provisions at Equinix Metal, an interconnected and secure bare metal service. Equinix Metal applies a developer and API-first mindset to foundational infrastructure and provides a fully automated way for digital businesses to access the value of Platform Equinix® via its leading collection of DevOps, open-source and native Equinix Fabric™ integrations.