Skip to content

Commit

Permalink
Extend the proposal definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
errordeveloper committed Mar 5, 2019
1 parent 566ee95 commit a66de81
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions docs/proposal-005-upgrades.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,14 @@ to cluster stack maybe required. After that they need to replace nodegroups one
- provide command that checks cluster stack for upgradability
- let's user update cluster stack to cater for any additional resources
- allows to call `eks.UpdateClusterVersion` out-of-band and wait for completion
- provide instruction on how to iterate and replace nodegroups
- provide instruction on how to ...
- provide instruction on how to iteratively replace nodegroups
- provide helper commands for upgrading add-ons

## Second phase (more automation)

- use CloudFormation instead of calling `eks.UpdateClusterVersion` directly
- provide automated command
- provide automated command that replaces all nodegroups by copying configuration,
or at least one command for each nodegroup

## CLI Design

Expand All @@ -39,6 +40,15 @@ Update cluster version and append new resources to the cluster stack (if needed)
eksclt update cluster --name=<clusterName>
```

As this can have significant implications and some checks are appropriate before
we try updating, `--dry-run` should be enabled by default.

As control plane version can be incremented only one at a time, it would be a good
idea to have `--version` flag. The default should be `--version=next`. It should
possible to jump many versions with `--version=<v>`, and go for latest right away
with `--version=latest`. User will have to make sure that this doesn't take them
too far ahead, so their nodegroup(s) don't drift too far behind.

For each `<currentNodeGroup>`, create `<replacementNodeGroup>`:
```
eksctl create ng --cluster=<clusterName> --name=<replacementNodeGroup>
Expand Down Expand Up @@ -75,6 +85,9 @@ When upgrading from 1.10 to 1.11, following add-ons should be upgraded:
- `kube-system:deployment/kube-dns` has to be replaced with `kube-system:deployment/coredns`, the manifest lives in [S3 bucket](https://amazon-eks.s3-us-west-2.amazonaws.com)
- `kube-system:daemonset/aws-node` the manifest lives [in GitHub](https://github.com/aws/amazon-vpc-cni-k8s/tree/master/config)


It should be possible to provide simple command under utils for each of these.

## Downgrades

At the time of writing of this proposal version downgrades were not supported by EKS.
Expand Down

0 comments on commit a66de81

Please sign in to comment.