/kubeone

Kubermatic KubeOne automate cluster operations on all your cloud, on-prem, edge, and IoT environments.

Primary LanguageGoApache License 2.0Apache-2.0

Kubermatic KubeOne

KubeOne Report Card

Kubermatic KubeOne automates cluster operations on all your cloud, on-prem, edge, and IoT environments. KubeOne can install high-available (HA) master clusters as well single master clusters.

Getting Started

All user documentation for the latest stable version is available at the KubeOne docs website.

Information about the support policy (natively-supported providers, supported Kubernetes versions, and supported operating systems) can be found in the Compatibility document.

For a quick start, you should check the following documents:

Installing KubeOne

The fastest way to install KubeOne is to use the installation script:

curl -sfL get.kubeone.io | sh

The installation script downloads the release archive from GitHub, installs the KubeOne binary in your /usr/local/bin directory, and unpacks the example Terraform configs, addons, and helper scripts in your current working directory.

For other installation methods, check the Getting KubeOne guide on our documentation website.

Features

Easily Deploy Your Highly Available Cluster On Any Infrastructure

KubeOne works on any infrastructure out of the box. All you need to do is to provision the infrastructure and let KubeOne know about it. KubeOne will take care of setting up a production ready Highly Available cluster!

Native Support For The Most Popular Providers

KubeOne natively supports the most popular providers, including AWS, Azure, DigitalOcean, GCP, Hetzner Cloud, Nutanix, OpenStack, VMware Cloud Director, and VMware vSphere. The natively supported providers enjoy additional features such as integration with Terraform and Kubermatic machine-controller.

Kubernetes Conformance Certified

KubeOne is a Kubernetes Conformance Certified installer with support for all upstream-supported Kubernetes versions.

Declarative Cluster Definition

Define all your clusters declaratively, in a form of a YAML manifest. You describe what features you want and KubeOne takes care of setting them up.

Integration With Terraform

The built-in integration with Terraform, allows you to easily provision your infrastructure using Terraform and let KubeOne take all the needed information from the Terraform state.

Integration With Cluster-API, Kubermatic machine-controller, and operating-system-manager

Manage your worker nodes declaratively by utilizing the Cluster-API and Kubermatic machine-controller. Create, remove, upgrade, or scale your worker nodes using kubectl. Kubermatic operating-system-manager is responsibile for managing user-data for worker machines in the cluster.

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 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.

Changelog

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