All Projects → kubernetes-retired → bootkube

kubernetes-retired / bootkube

Licence: Apache-2.0 license
This project now lives at https://github.com/kinvolk/bootkube

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
HCL
1544 projects

Projects that are alternatives of or similar to bootkube

cluster-api-provider-openstack
cluster-api-openstack.sigs.k8s.io/
Stars: ✭ 187 (-83.99%)
Mutual labels:  k8s-sig-cluster-lifecycle
system-validators
A set of system-oriented validators for kubeadm preflight checks.
Stars: ✭ 22 (-98.12%)
Mutual labels:  k8s-sig-cluster-lifecycle
cluster-api-provider-ibmcloud
Cluster API Provider for IBM Cloud
Stars: ✭ 46 (-96.06%)
Mutual labels:  k8s-sig-cluster-lifecycle
cluster-api-provider-nested
Cluster API Provider for Nested Clusters
Stars: ✭ 240 (-79.45%)
Mutual labels:  k8s-sig-cluster-lifecycle
cluster-api-provider-docker
A Cluster API Provider implementation using docker containers as the infra provider. Cluster API locally for a change!
Stars: ✭ 51 (-95.63%)
Mutual labels:  k8s-sig-cluster-lifecycle
Kubespray
Deploy a Production Ready Kubernetes Cluster
Stars: ✭ 11,588 (+892.12%)
Mutual labels:  k8s-sig-cluster-lifecycle
Cluster Api
Home for Cluster API, a subproject of sig-cluster-lifecycle
Stars: ✭ 1,992 (+70.55%)
Mutual labels:  k8s-sig-cluster-lifecycle
cluster-api-provider-hcloud
Cluster API infrastructure provider for Hetzner's Hcloud
Stars: ✭ 26 (-97.77%)
Mutual labels:  k8s-sig-cluster-lifecycle
image-builder
Cross provider Kubernetes image building utility.
Stars: ✭ 187 (-83.99%)
Mutual labels:  k8s-sig-cluster-lifecycle
cluster-api-provider-digitalocean
The DigitalOcean provider implementation of the Cluster Management API
Stars: ✭ 85 (-92.72%)
Mutual labels:  k8s-sig-cluster-lifecycle

Bootkube

Build Status GoDoc Go Report Card

Bootkube is a tool for launching self-hosted Kubernetes clusters.

When launched, bootkube will deploy a temporary Kubernetes control-plane (api-server, scheduler, controller-manager), which operates long enough to bootstrap a replacement self-hosted control-plane.

Additionally, bootkube can be used to generate all of the necessary assets for use in bootstrapping a new cluster. These assets can then be modified to support any additional configuration options.

Details of self-hosting

Guides

Usage

Bootkube has two main commands: render and start.

There is a third, experimental command recover which can help reboot a downed cluster (see below).

Render assets

Bootkube can be used to render all of the assets necessary for bootstrapping a self-hosted Kubernetes cluster. This includes generation of TLS assets, Kubernetes object manifests, and a kubeconfig to connect to the bootstrapped cluster.

To see available options, run:

bootkube render --help

Example:

bootkube render --asset-dir=my-cluster

The resulting assets can be inspected / modified in the generated asset-dir.

Start bootkube

To start bootkube use the start subcommand.

To see available options, run:

bootkube start --help

Example:

bootkube start --asset-dir=my-cluster

When bootkube start is creating Kubernetes resources from manifests, the following order is used:

  1. Any Namespace objects are created, in lexicographical order.
  2. Any CustomResourceDefinition objects are created, in lexicographical order.
  3. Any remaining resources are created, in lexicographical order.

Recover a downed cluster

In the case of a partial or total control plane outage (i.e. due to lost master nodes) an experimental recover command can extract and write manifests from a backup location. These manifests can then be used by the start command to reboot the cluster. Currently recovery from a running apiserver, an external running etcd cluster, or an etcd backup taken from the self hosted etcd cluster are the methods.

For more details and examples see disaster recovery documentation.

Development

See Documentation/development.md for more information.

Getting Involved

Want to contribute to bootkube? Have Questions? We are looking for active participation from the community

You can find us at the #bootkube channel on Kubernetes slack.

Related Links

License

bootkube is under the Apache 2.0 license. See the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].