Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
johngmyers committed Apr 5, 2020
1 parent 3dbb6dc commit eb86039
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 37 deletions.
22 changes: 9 additions & 13 deletions docs/etcd/manager.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
## etcd-manager

etcd-manager is a kubernetes-associated project that kops will use to manage
etcd (at least that is the plan per the roadmap).
etcd-manager is a kubernetes-associated project that kops uses to manage
etcd.

etcd-manager uses many of the same ideas as the existing etcd implementation
built into kops, but it addresses some limitations also:
etcd-manager uses many of the same ideas as the previous etcd implementation
built into kops, but addresses some limitations:

* separate from kops - can be used by other projects
* allows etcd2 -> etcd3 upgrade (along with minor upgrades)
* allows cluster resizing (e.g. going from 1 to 3 nodes)
* It is separate from kops - can be used by other projects
* It allows etcd2 -> etcd3 upgrade (along with minor upgrades)
* It allows cluster resizing (e.g. going from 1 to 3 nodes)

If using kubernetes >= 1.12 (which will not formally be supported until kops 1.12), note that etcd-manager will be used by default. You can override this with the `cluster.spec.etcdClusters[*].provider=Legacy` override. This can be specified:
If using kubernetes >= 1.12 etcd-manager will be used by default. You can override this with the `cluster.spec.etcdClusters[*].provider=Legacy` override. This can be specified:

* as an argument to `kops create cluster`: `--overrides cluster.spec.etcdClusters[*].provider=Legacy`
* on an existing cluster with `kops set cluster cluster.spec.etcdClusters[*].provider=Legacy`
Expand All @@ -20,9 +20,6 @@ If using kubernetes >= 1.12 (which will not formally be supported until kops 1.1

## How to use etcd-manager

Reminder: etcd-manager is alpha, and we encourage you to back up the data in
your kubernetes cluster.

To create a test cluster:
```bash
kops create cluster test.k8s.local --zones us-east-1c --master-count 3
Expand Down Expand Up @@ -62,8 +59,7 @@ When you're done, you can shut down the cluster:
kops delete cluster example.k8s.local --yes
```

You can also do this for existing clusters. though remember that this is still
young software, so please back up important cluster data first. You just run the
You can also do this for existing clusters. You just run the
two `kops set cluster` commands. Note that `kops set cluster` is just an easy
command line way to set some fields in the cluster spec - if you're using a
GitOps approach you can change the manifest files directly. You can also `kops
Expand Down
32 changes: 8 additions & 24 deletions docs/etcd/roadmap.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Kops and etcd

Kops currently manages etcd using a daemon that runs on the masters called protokube. protokube
Kops previously managed etcd using a daemon that ran on the masters called protokube. protokube
is responsible for:

* mapping volumes so that exactly one master runs each member of the etcd cluster,
Expand All @@ -16,41 +16,25 @@ tooling into composable tooling that can be upgraded (or even used) separately.

## Limitations

The current approach for managing etcd makes certain tasks hard:
The previous approach for managing etcd made certain tasks hard:

* upgrades/downgrades between etcd versions
* resizing the cluster

To address these limitations, we plan to adopt the [etcd-manager](https://github.com/kopeio/etcd-manager) as
it matures.
To address these limitations, we adopted the [etcd-manager](https://github.com/kopeio/etcd-manager).

To make adoption easier, the etcd-manager has added a standalone backup tool, that can backup etcd into the
[expected structure](https://github.com/kopeio/etcd-manager/blob/master/docs/backupstructure.md), even if you are not running the etcd-manager. It should be possible to then use
the etcd-manager from that backup.

## Roadmap

### _kops 1.9_
### _kops 1.18_

* Use the etcd-backup tool to allow users to opt-in to backups with the protokube-integrated etcd support, in the format that etcd-manager expects

Goal: Users can enable backups on a running cluster.

### _kops 1.10_

* Make the etcd-backup tool enabled-by-default, so everyone should have backups.
* Allow users to opt-in to the full etcd-manager.
* Make etcd3 the default for new clusters, now that we have an upgrade path.

Goal: Users that want to move from etcd2 to etcd3 can enable backups
on an existing cluster (running kops 1.9 or later), then enable the etcd-manager (with kops 1.10 or later).

### _kops 1.11_

* Make the etcd-manager the default, deprecate the protokube-integrated approach

Goal: Users are fully able to manage etcd - moving between versions or resizing their clusters.
* Stop supporting the protokube-integrated approach for clusters running Kubernetes 1.18 or later

### _untargeted_

* Remove the protokube-integrated etcd support (_untargeted_)
(Probably when support for Kubernetes 1.17 is dropped)

* Remove the protokube-integrated etcd support

0 comments on commit eb86039

Please sign in to comment.