Production-Ready Kubernetes Cluster Creation with kubeadm
Authors: Lucas Käldström (CNCF Ambassador) and Luc Perkins (CNCF Developer Advocate)
kubeadm is a tool that enables Kubernetes administrators to quickly and easily bootstrap minimum viable clusters that are fully compliant with
This GA release of kubeadm is an important event in the progression of the Kubernetes ecosystem, bringing stability to an area where stability is paramount. The goal of kubeadm is to provide a foundational implementation for Kubernetes cluster setup and administration. kubeadm ships with best-practice defaults but can also be customized to support other ecosystem requirements or vendor-specific approaches. kubeadm is designed to be easy to integrate into larger deployment systems and tools. kubeadm is focused on bootstrapping Kubernetes clusters on existing infrastructure and performing an essential set of maintenance tasks. The core of the kubeadm interface is quite simple: new control plane nodes are created by running To keep kubeadm lean, focused, and vendor/infrastructure agnostic, the following tasks are out of its scope: Infrastructure provisioning, for example, is left to other SIG Cluster Lifecycle projects, such as the
General Availability means different things for different projects. For kubeadm, going GA means not only that the process of creating a conformant Kubernetes cluster is now stable, but also that kubeadm is flexible enough to support a wide variety of deployment options. We now consider kubeadm to have achieved GA-level maturity in each of these important domains: SIG Cluster Lifecycle has identified a handful of likely kubeadm user profiles, although we expect that kubeadm at GA can satisfy many other scenarios as well. Here's our list: All these users can benefit from kubeadm graduating to a stable GA state. Although kubeadm is GA, the SIG Cluster Lifecycle will continue to be committed to improving the user experience in managing Kubernetes clusters. We're launching a survey to collect community feedback about kubeadm for the sake of future improvement. The survey is available at
This release wouldn't have been possible without the help of the great people that have been contributing to the SIG. SIG Cluster Lifecycle would like to thank a few key kubeadm contributors:The scope of kubeadm
kubeadm init
and worker nodes are joined to the control plane by running kubeadm join
. Also included are utilities for managing already bootstrapped clusters, such as control plane upgrades and token and certificate renewal.
What kubeadm's GA release means
kubeadm join
flow, and kubelet.kubeadm init
tasks, you can instead apply more fine-grained actions using the kubeadm init phase
command (for example generating certificates or control plane Static Pod manifests).kubeadm upgrade
command is now fully GA. It handles control plane upgrades for you, which includes upgrades to
Who will benefit from a stable kubeadm
kubeadm survey
Thanks to the community!
We also want to thank all the companies making it possible for their developers to work on Kubernetes, and all the other people that have contributed in various ways towards making kubeadm as stable as it is today!
About the authors
Lucas Käldström
- kubeadm subproject owner and SIG Cluster Lifecycle co-chair
- Kubernetes upstream contractor, last two years contracting for
- CNCF Ambassador
- GitHub: