

GitHub - kubermatic/kubeone: A lifecycle management tool for Highly-Available Ku...
source link: https://github.com/kubermatic/kubeone
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md
KubeOne
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
Features
- 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 github.com/kubermatic/kubeone
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 https://github.com/kubermatic/kubeone/releases/download/v0.6.2/kubeone_0.6.2_linux_amd64.zip unzip kubeone_0.6.2_linux_amd64.zip 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, OpenStackNote: 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, check out the example configuration file.
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.
Changelog
See the list of releases to find out about feature changes.
Recommend
-
14
Coda: A Highly Available File System for a Distributed Workstation Environment今天要分享的论文是 Coda: A Highly Available File System for a Distributed Workstation Environment。本论文是之前介绍过的
-
12
Deploying Highly Available MySQL with MHA and HAProxy The problem of setting up a highly available and scalable MySQL system has been wo...
-
10
Deploying Highly Available NFS Server with DRBD and Heartbeat on Debian Here's a quick and dirty way of making NFS highly available by u...
-
12
What's a highly available Chef Server To be honest with you, I feel like the title is a little bit of a click bait. There is already a description of
-
7
Highly Available MySQL Clusters at WePay By Akshath Patkar on Jan 22, 2019 This post describes WePay’s highly available MySQL architecture, and how we achieve sh...
-
8
A Highly Available Service Mesh at WePay By Mohsen Rezaei on Sep 17, 2018 In the last two posts in this series,
-
10
How Do I Make MySQL Highly Available with Open Source Tools? – The SQL HeraldSkip to content
-
11
Using the Plan-Do-Check-Act Framework to Produce Performant and Highly Available Systems Jun 09, 2021...
-
10
Tweet A highly-available move operation for replicated trees Martin Kleppmann, Dominic P. Mulligan, Victor B. F. Gomes, and Alastair R. Beresford
-
8
Lino Messerschmidt August 30, 2022 2 minute...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK