github.com/jlmeeker/kismatic@v1.10.1-0.20180612190640-57f9005a1f1a/docs/upgrade/v1.3.0/etcd.md (about) 1 # Etcd Upgrade 2 3 Prior to Kismatic `v1.3.0`, all cluster deployments were composed of two versions of etcd: 4 5 - Kubernetes etcd with version `v3.0.x` 6 - Calico etcd with version `v2.3.x` 7 8 With Kismatic `v1.3.0`, both versions of etcd will be upgraded to etcd `v.3.1.x` 9 which is not backwards compatible with etcd `v2.3.x` or `v3.0.x`. 10 11 In addition, `v1.3.0` ships Kubernetes `v1.6.0` which defaults to the etcd v3 API. During the upgrade, Kismatic will migrate the kubernetes data using the etcd tooling. Before performing the migration, the Kubernetes API servers will be shut down to prevent writes to the etcd cluster. This means that your cluster will experience temporary downtime, even in the case where multiple API servers are running. 12 13 ## Upgrading Calico etcd `v2.3.x` to `v.3.0.x` 14 15 On an etcd cluster that has more than one member, it is not possible to directly 16 upgrade from `v2.3.x` to `v.3.1.x`. All nodes in the cluster must be upgraded to `v3.0.x`, 17 and then upgraded to `v.3.1.x`. 18 19 The following is performed on each node, one node at a time: 20 21 1. Install `transition-etcd` package containing the etcd `v3.0` binaries: `etcd_v3_0`, `etcdctl_v3_0` 22 1. Backup etcd data to `/etc/etcd_networking/backup/$timestamp` 23 1. Restart the `etcd_networking` service 24 1. Wait until the node has caught up with the rest of the cluster 25 1. Verify cluster with `etcdctl_v3_0 --endpoint='https://127.0.0.1:6666 cluster-health` 26 27 ## Upgrading Kubernetes and Calico etcd `v3.0.x` to `v.3.1.x` 28 29 The following is performed on each node, one node at a time: 30 31 1. Remove old `kismatic-etcd` and `transition-etcd` packages 32 1. Install new `etcd` package, which contains the following binaries: `etcd_k8s`, `etcd_networking` and `etcdctl` 33 1. Backup etcd data to `/etc/etcd_k8s/backup/$timestamp` 34 1. Restart the `etcd_k8s` service 35 1. Wait until the member has caught up with rest of the cluster 36 1. Verify Kubernetes etcd cluster with `etcdctl --endpoint='https://127.0.0.1:2379 cluster-health` 37 1. Backup etcd data to `/etc/etcd_networking/backup/$timestamp` 38 1. Restart the `etcd_networking` service 39 1. Wait until the member has caught up with the rest of the cluster 40 1. Verify Calico etcd cluster with `etcdctl --endpoint='https://127.0.0.1:6666 cluster-health` 41 42 Note: Downgrading etcd is not possible once all members are upgraded to `v3.1.x`.