Skip to content
A lifecycle management tool for Highly-Available Kubernetes clusters
Branch: master
Clone or download
kron4eg and kubermatic-bot Unify terraform configs (#453)
* Unify terraform configs

Signed-off-by: Artiom Diomin <>

* Fix tests according to example TF configs

Signed-off-by: Artiom Diomin <>
Latest commit b6d5512 May 21, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add issue templates (#296) Mar 21, 2019
docs Add weave-net as an alternative CNI plugin (#432) May 14, 2019
examples/terraform Unify terraform configs (#453) May 20, 2019
hack Implement the KubeOneCluster API (#353) Apr 19, 2019
pkg Delete worker nodes using dynamic client and add an option to remove … May 17, 2019
test/e2e Unify terraform configs (#453) May 20, 2019
vendor Implement 'config migrate' command (#408) May 5, 2019
.gitignore Download kubeconfig automatically on install (#248) Mar 11, 2019
.golangci.yml Deploy external CCMs (#364) Apr 24, 2019
.goreleaser.yml Goreleaser and versions (#226) Mar 5, 2019
.wwhrd.yml licence-check step (#287) Mar 19, 2019 Update documentation for v0.6.2 (#440) May 13, 2019 Migrate to the KubeOneCluster API (#390) May 1, 2019
DCO Add our Open Source flow (#274) Mar 15, 2019
Gopkg.lock Add weave-net as an alternative CNI plugin (#432) May 14, 2019
Gopkg.toml Update machine-controller to v1.1.4 and Cluster-API to c63bf6f (#375) Apr 25, 2019
LICENSE Add our Open Source flow (#274) Mar 15, 2019
Makefile Delete worker nodes using dynamic client and add an option to remove … May 17, 2019
NOTICE Add our Open Source flow (#274) Mar 15, 2019
OWNERS Add weave-net as an alternative CNI plugin (#432) May 14, 2019 Update the Code of Conduct (#280) Mar 17, 2019
main.go Add license headers to all Go files (#289) Mar 19, 2019


GoDoc Go Report Card

kubeone is a CLI tool and a Go library for installing, managing, and upgrading Kubernetes High-Available (HA) clusters. It can be used on any cloud provider, on-prem or bare-metal cluster.

Project Status

As of v0.6.0, KubeOne is in the beta phase. Check out the Backwards Compatibility Policy for more details on backwards compatibility, KubeOne versioning, and maturity of each KubeOne component.

Versions earlier than v0.6.0 are considered alpha and it's strongly advised to upgrade to the v0.6.0 or newer as soon as possible.

KubeOne in Action

KubeOne Demo asciicast


  • Supports Kubernetes 1.13+ High-Available (HA) clusters
  • Uses kubeadm to provision clusters
  • Comes with a straightforward and easy to use CLI
  • Choice of Linux distributions between Ubuntu, CentOS and CoreOS
  • Integrates with Cluster-API and Kubermatic machine-controller to manage worker nodes
  • Integrates with Terraform for sourcing data about infrastructure and control plane nodes
  • Officially supports AWS, DigitalOcean, GCE, Hetzner, Packet and OpenStack

Installing KubeOne

The easiest way to install KubeOne is using go get:

go get -u

However, running of the master branch introduces potential risks as the project is currently in the alpha phase and backwards incompatible changes can be expected.

Alternatively, you can obtain KubeOne via GitHub Releases:

curl -LO
sudo mv kubeone /usr/local/bin

If you already have KubeOne repository cloned, you can use Makefile to install KubeOne.

make install

Kubernetes Versions Compatibility

Each KubeOne version is supposed to support and work with a set of Kubernetes minor versions. We're targeting to support at least 3 minor Kubernetes versions, however for early KubeOne releases we're supporting only one or two minor versions.

New KubeOne release will be done for each minor Kubernetes version. Usually, a new release is targeted 2-3 weeks after Kubernetes release, depending on number of changes needed to support a new version.

In the following table you can find what are supported Kubernetes versions for each KubeOne version. KubeOne versions that are crossed out are not supported. It's highly recommended to use the latest version whenever possible.

KubeOne version 1.14 1.13 1.12 Supported providers
v0.6.2 + + - AWS, DigitalOcean, GCE, Hetzner, Packet, OpenStack
v0.6.1 + + - AWS, DigitalOcean, GCE, Hetzner, Packet, OpenStack
v0.6.0 + + - AWS, DigitalOcean, GCE, Hetzner, Packet, OpenStack
v0.5.0 + + - AWS, DigitalOcean, GCE, Hetzner, OpenStack
v0.4.1 - + - AWS, DigitalOcean, Hetzner, OpenStack
v0.4.0 - + - AWS, DigitalOcean, Hetzner, OpenStack
v0.3.0 - + - AWS, DigitalOcean, Hetzner, OpenStack

Note: Versions v0.2.0 and v0.1.0-beta0 don't support upgrading to the newer Kubernetes version.

Getting Started

We have a getting started tutorial for each cloud provider we support in our documentation. For example, the following document shows how to get started with KubeOne on AWS.

A cluster is created using the kubeone install command. It takes a KubeOne configuration file and optionally Terraform state used to source information about the infrastructure.

kubeone install config.yaml --tfjson tf.json

To learn more about KubeOne configuration, please run kubeone config print --full.

For advanced use cases and other features, check the KubeOne features document.

Getting Involved

We very appreciate contributions! If you want to contribute or have an idea for a new feature or improvement, please check out our contributing guide.

If you want to get in touch with us and discuss about improvements and new features, please create a new issue on GitHub or connect with us over the mailing list or Slack:

Reporting Bugs

If you encounter issues, please create a new issue on GitHub or talk to us on the #KubeOne Slack channel. When reporting a bug please include the following information:

  • KubeOne version or Git commit that you're running (kubeone version),
  • description of the bug and logs from the relevant kubeone command (if applicable),
  • steps to reproduce the issue,
  • expected behavior

If you're reporting a security vulnerability, please follow the process for reporting security issues.


See the list of releases to find out about feature changes.

You can’t perform that action at this time.