sigs.k8s.io/cluster-api@v1.7.1/docs/book/src/introduction.md (about)

     1  # Kubernetes Cluster API<div style="float: right; position: relative; display: inline;"><img src="images/introduction.svg" width="160px" /></div>
     2  
     3  Cluster API is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters.
     4  
     5  Started by the Kubernetes Special Interest Group (SIG) [Cluster Lifecycle](https://github.com/kubernetes/community/tree/master/sig-cluster-lifecycle#readme), the Cluster API project uses Kubernetes-style APIs and patterns to automate cluster lifecycle management for platform operators. The supporting infrastructure, like virtual machines, networks, load balancers, and VPCs, as well as the Kubernetes cluster configuration are all defined in the same way that application developers operate deploying and managing their workloads. This enables consistent and repeatable cluster deployments across a wide variety of infrastructure environments.
     6  
     7  ## ⚠️ Breaking Changes ⚠️
     8  
     9  <aside class="note">
    10  <h1>Legacy k8s.gcr.io container image registry will be redirected to registry.k8s.io</h1>
    11  
    12  k8s.gcr.io image registry will be redirected to registry.k8s.io on Monday March 20th.
    13  All images available in k8s.gcr.io are available at registry.k8s.io.
    14  Please read the [announcement](https://kubernetes.io/blog/2023/03/10/image-registry-redirect/) for more details.
    15  
    16  Also, this [guide](https://github.com/kubernetes/registry.k8s.io/tree/main/docs/mirroring) provide instructions about how to identify images to mirror and how to use mirrored images.
    17  
    18  ## Getting started
    19  
    20  * [Quick Start](./user/quick-start.md)
    21  * [Concepts](./user/concepts.md)
    22  * [Developer guide](./developer/guide.md)
    23  * [Contributing](./CONTRIBUTING.md)
    24  * [Videos explaining Cluster API architecture](./developer/guide.md#videos-explaining-capi-architecture-and-code-walkthroughs)
    25  
    26  <aside class="note">
    27  
    28  <h1>ClusterAPI documentation versions</h1>
    29  
    30  This book documents ClusterAPI v1.7. For other Cluster API versions please see the corresponding documentation:
    31  * [main.cluster-api.sigs.k8s.io](https://main.cluster-api.sigs.k8s.io)
    32  * [release-1-6.cluster-api.sigs.k8s.io](https://release-1-6.cluster-api.sigs.k8s.io)
    33  * [release-1-5.cluster-api.sigs.k8s.io](https://release-1-5.cluster-api.sigs.k8s.io)
    34  * [release-1-4.cluster-api.sigs.k8s.io](https://release-1-4.cluster-api.sigs.k8s.io)
    35  * [release-1-3.cluster-api.sigs.k8s.io](https://release-1-3.cluster-api.sigs.k8s.io)
    36  * [release-1-2.cluster-api.sigs.k8s.io](https://release-1-2.cluster-api.sigs.k8s.io)
    37  * [release-1-1.cluster-api.sigs.k8s.io](https://release-1-1.cluster-api.sigs.k8s.io)
    38  * [release-1-0.cluster-api.sigs.k8s.io](https://release-1-0.cluster-api.sigs.k8s.io)
    39  * [release-0-4.cluster-api.sigs.k8s.io](https://release-0-4.cluster-api.sigs.k8s.io)
    40  * [release-0-3.cluster-api.sigs.k8s.io](https://release-0-3.cluster-api.sigs.k8s.io)
    41  
    42  </aside>
    43  
    44  ## Why build Cluster API?
    45  
    46  Kubernetes is a complex system that relies on several components being configured correctly to have a working cluster. Recognizing this as a potential stumbling block for users, the community focused on simplifying the bootstrapping process. Today, over [100 Kubernetes distributions and installers](https://www.cncf.io/certification/software-conformance/) have been created, each with different default configurations for clusters and supported infrastructure providers. SIG Cluster Lifecycle saw a need for a single tool to address a set of common overlapping installation concerns and started kubeadm.
    47  
    48  [Kubeadm](https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/) was designed as a focused tool for bootstrapping a best-practices Kubernetes cluster. The core tenet behind the kubeadm project was to create a tool that other installers can leverage and ultimately alleviate the amount of configuration that an individual installer needed to maintain. Since it began, kubeadm has become the underlying bootstrapping tool for several other applications, including Kubespray, minikube, kind, etc.
    49  
    50  However, while kubeadm and other bootstrap providers reduce installation complexity, they don't address how to manage a cluster day-to-day or a Kubernetes environment long term. You are still faced with several questions when setting up a production environment, including:
    51  
    52  * How can I consistently provision machines, load balancers, VPC, etc., across multiple infrastructure providers and locations?
    53  * How can I automate cluster lifecycle management, including things like upgrades and cluster deletion?
    54  * How can I scale these processes to manage any number of clusters?
    55  
    56  SIG Cluster Lifecycle began the Cluster API project as a way to address these gaps by building declarative, Kubernetes-style APIs, that automate cluster creation, configuration, and management. Using this model, Cluster API can also be extended to support any infrastructure provider (AWS, Azure, vSphere, etc.) or bootstrap provider (kubeadm is default) you need. See the growing list of [available providers](./reference/providers.md).
    57  
    58  {{#include ../../scope-and-objectives.md:Goals}}
    59  
    60  {{#include ../../../README.md:Community}}