Deep Dive: Deploying Kubernetes on Bare Metal Using the Cluster API
05-18, 17:15–17:45 (UTC), Main Hall

Relative to cloud infrastructure, bare metal environments are more varied and do not expose a unified API. The Cluster API unifies infrastructure management with Kubernetes-native resources, but our previous attempts to use it in bare metal environments show that actuators alone have significant limitations. Kubernetes webhooks offer an alternative that separates the provisioning of Infrastructure from the deployment of Kubernetes, while keeping the declarative model and common tooling provided by the Cluster API.


Today, the Cluster API project has provider implementations for a variety of cloud environments. Users are interested in using the Cluster API to operate clusters in heterogeneous bare metal environments. While machine provisioning varies widely across these environments, software provisioning remains largely the same. Because of this commonality, the cost of maintaining a separate provider for each environment outweighs the benefits.

Attendees will learn how a single Cluster API provider can be used to operate clusters across different bare metal environments. We will show how to implement a webhook to provision machines in a bare metal environment, and how to integrate it with the Cluster API provider. We will also explain in depth the challenges of deploying Kubernetes in a uniform way across different environments using existing tooling (e.g. kubeadm).

Jason has been working on Kubernetes lifecycle management tooling for the past four years. His work currently includes helping to commoditize the lifecycle management of upstream Kubernetes through sig-cluster-lifecycle sponsored projects at VMware. Before becoming more directly involved in the upstream Kubernetes community he bootstrapped the initial Ansible-based OpenShift v3 lifecycle management tooling.

David has been a part of the Kubernetes community for over three years, focusing on scalability, reliability, and automation. At Samsung he works on enabling hybrid cloud environments and managed control planes. Previously he developed hardware monitoring and reliability services for AWS, and distributed filesystems for IBM.