@@ -63,37 +63,51 @@ Finally, update ``deisctl`` to the new version and reinstall:
6363 enable PROXY protocol for ports 80 and 443 on the ELB, add a ``TCP 443:443 `` listener, and
6464 change existing targets and health checks from HTTP to TCP.
6565
66+ Upgrade Deis clients
67+ ^^^^^^^^^^^^^^^^^^^^
68+ As well as upgrading ``deisctl ``, make sure to upgrade the :ref: `deis client <install-client >` to
69+ match the new version of Deis.
6670
6771Graceful Upgrade
6872----------------
6973
7074Alternatively, an experimental feature exists to provide the ability to perform a graceful upgrade. This process is
71- available for version 1.9.0 moving foward and is intended to facilitate upgrades within a major version - upgrading
72- between major versions is not supported. Unlike the in-place process above, this process keeps the platforms
73- routers and publishers up during the upgrade process. This means that there should only be a maximum of around 1-2
74- seconds of downtime while the routers boot up. Many times, there will be no downtime at all.
75+ available for version 1.9.0 moving foward and is intended to facilitate upgrades within a major version (for example,
76+ from 1.9.0 to 1.9.1 or 1.10.0). Upgrading between major versions is not supported (for example, from 1.9.0 to a
77+ future 2.0.0). Unlike the in-place process above, this process keeps the platform's routers and publishers up during
78+ the upgrade process. This means that there should only be a maximum of around 1-2 seconds of downtime while the
79+ routers boot up. Many times, there will be no downtime at all.
80+
81+ .. note ::
7582
76- Your loadbalancer configuration is the determining factor for how much downtime will occur during a successful upgrade.
77- If your loadbalancer is configured to quickly reactivate failed hosts to its pool of active hosts, its quite possible to
78- achieve zero downtime upgrades. If your loadbalancer is configured to more pessimistic, such as requiring multiple
79- successful healthchecks before reactiving a node, then the chance for downtime increases. You should review your
80- loadbalancers configuration to determine what to expect during the upgrade process.
83+ Your loadbalancer configuration is the determining factor for how much downtime will occur during a successful upgrade.
84+ If your loadbalancer is configured to quickly reactivate failed hosts to its pool of active hosts, its quite possible to
85+ achieve zero downtime upgrades. If your loadbalancer is configured to be more pessimistic, such as requiring multiple
86+ successful healthchecks before reactiving a node, then the chance for downtime increases. You should review your
87+ loadbalancers configuration to determine what to expect during the upgrade process.
8188
82- The process involves two deisctl commands, upgrade-prep and upgrade-takeover in coordination with a few important commands.
89+ The process involves two `` deisctl `` subcommands, `` upgrade-prep `` and `` upgrade-takeover ``, in coordination with a few other important commands.
8390
84- First, a new deisctl version should be installed to a temporary location, reflecting the desired version to upgrade
85- to. Care should be taken not to overwrite the existing deisctl version.
91+ First, a new `` deisctl `` version should be installed to a temporary location, reflecting the desired version to upgrade
92+ to. Care should be taken not to overwrite the existing `` deisctl `` version.
8693
8794.. code-block :: console
8895
8996 $ mkdir /tmp/upgrade
90- $ curl -sSL http://deis.io/deisctl/install.sh | sh -s 1.8 .0 /tmp/upgrade
97+ $ curl -sSL http://deis.io/deisctl/install.sh | sh -s 1.10 .0 /tmp/upgrade
9198 $ /tmp/upgrade/deisctl --version # should match the desired platform
92- 1.8 .0
99+ 1.10 .0
93100 $ /tmp/upgrade/deisctl refresh-units
94- $ /tmp/upgrade/deisctl config platform set version=v1.8.0
101+ $ /tmp/upgrade/deisctl config platform set version=v1.10.0
102+
103+ .. note ::
104+
105+ Deis version 1.10.0 does not exist at the time of this writing, but since
106+ the upgrade feature is only available for upgrading from Deis version
107+ 1.9.0 and higher, the snippet above is a realistic portrayal of how
108+ this feature can be used in the future.
95109
96- Now it is possible to prepare the cluster for the upgrade using the old deisctl binary. This command will shutdown
110+ Now it is possible to prepare the cluster for the upgrade using the old `` deisctl `` binary. This command will shutdown
97111and uninstall all components of the cluster except the router and publisher. This means your services should still be
98112serving traffic afterwords, but nothing else in the cluster will be functional.
99113
@@ -108,15 +122,15 @@ replacing them one by one. Then the rest of the components are brought up. The e
108122
109123 $ /tmp/upgrade/deisctl upgrade-takeover
110124
111- It is recommended to move the newer deisctl into /opt/bin once the procedure is complete.
125+ It is recommended to move the newer `` deisctl `` into `` /opt/bin `` once the procedure is complete.
112126
113127If the process were to fail, the old version can be restored manually by reinstalling and starting the old components.
114128
115129.. code-block :: console
116130
117131 $ /tmp/upgrade/deisctl stop platform
118132 $ /tmp/upgrade/deisctl uninstall platform
119- $ /tmp/upgrade/deisctl config platform set version=v1.8 .0
133+ $ /tmp/upgrade/deisctl config platform set version=v1.9 .0
120134 $ /opt/bin/deisctl refresh-units
121135 $ /opt/bin/deisctl install platform
122136 $ /opt/bin/deisctl start platform
0 commit comments