Cluster API Provider Metal3 is a Kubernetes provider for Cluster API that enables declarative, Kubernetes-native management of bare metal infrastructure.
The tool solves the problem of provisioning and managing Kubernetes clusters on bare metal hardware using the standard Cluster API declarative model. It integrates with Metal3, which provides bare metal host management through Ironic, allowing users to define clusters using Kubernetes-style custom resources rather than imperative scripts. The provider translates these declarations into bare metal provisioning operations, treating infrastructure as code within the Kubernetes ecosystem.
Teams managing bare metal infrastructure who want to adopt Cluster API should choose this provider. It suits organizations running on-premises or edge deployments where cloud providers are unavailable, and those seeking consistency between their cluster management approach and their infrastructure-as-code practices. The tool maintains compatibility across multiple Cluster API versions, with the README documenting version alignment across releases. Deployment uses the standard clusterctl tool, though the provider requires manual installation of Baremetal Operator and Ironic after the core Cluster API components are initialized.
The project maintains active development with regular releases aligned to Cluster API versions. The codebase shows ongoing refinement of the provider's integration points with Cluster API. The project has established clear documentation for getting started and deployment procedures. The tool has evolved through multiple API versions, with the README tracking compatibility across a wide range of release combinations to help users select appropriate versions for their environment.