mirror of https://github.com/status-im/consul.git
website: Clarify upgrade procedures. Fixes #187.
This commit is contained in:
parent
74fa557ba9
commit
6d43b8cb6c
|
@ -15,10 +15,10 @@ We promise that every subsequent release of Consul will remain backwards
|
||||||
compatible with _at least_ one prior version. Concretely: version 0.5 can
|
compatible with _at least_ one prior version. Concretely: version 0.5 can
|
||||||
speak to 0.4 (and vice versa), but may not be able to speak to 0.1.
|
speak to 0.4 (and vice versa), but may not be able to speak to 0.1.
|
||||||
|
|
||||||
The backwards compatibility must be explicitly enabled: Consul agents by
|
The backwards compatibility is automatic unless otherwise noted. Consul agents by
|
||||||
default will speak the latest protocol, but can be configured to speak earlier
|
default will speak the latest protocol, but can understand earlier
|
||||||
ones. If speaking an earlier protocol, _new features may not be available_.
|
ones. If speaking an earlier protocol, _new features may not be available_.
|
||||||
The ability for an agent to speak an earlier protocol is only so that they
|
The ability for an agent to speak an earlier protocol is so that they
|
||||||
can be upgraded without cluster disruption.
|
can be upgraded without cluster disruption.
|
||||||
|
|
||||||
This compatibility guarantee makes it possible to upgrade Consul agents one
|
This compatibility guarantee makes it possible to upgrade Consul agents one
|
||||||
|
|
|
@ -13,10 +13,36 @@ keep in mind when using Consul.
|
||||||
|
|
||||||
This page documents how to upgrade Consul when a new version is released.
|
This page documents how to upgrade Consul when a new version is released.
|
||||||
|
|
||||||
## Upgrading Consul
|
## Standard Upgrades
|
||||||
|
|
||||||
In short, upgrading Consul is a short series of easy steps. For the steps
|
For upgrades we strive to ensure backwards compatibility. To support this,
|
||||||
below, assume you're running version A of Consul, and then version B comes out.
|
nodes gossip their protocol version and builds. This enables clients and
|
||||||
|
servers to intelligently enable new features when available, or to gracefully
|
||||||
|
fallback to a backward compatible mode of operation otherwise.
|
||||||
|
|
||||||
|
For most upgrades, the process is simple. Assuming the current version of
|
||||||
|
Consul is A, and version B is released.
|
||||||
|
|
||||||
|
1. On each server, install version B of Consul.
|
||||||
|
|
||||||
|
2. Shut down version A, restart with version B.
|
||||||
|
|
||||||
|
3. Once all the servers are upgraded, begin a rollout of clients following
|
||||||
|
the same process.
|
||||||
|
|
||||||
|
4. Done! You are now running the latest Consul agent. You can verify this
|
||||||
|
by running `consul members` to make sure all members have the latest
|
||||||
|
build and highest protocol version.
|
||||||
|
|
||||||
|
|
||||||
|
## Backward Incompatible Upgrades
|
||||||
|
|
||||||
|
In some cases, a backwards incompatible update may be released. This has not
|
||||||
|
been an issue yet, but to support upgrades we support setting an explicit
|
||||||
|
protocol version. This disables incompatible features and enables a 2-phase upgrade.
|
||||||
|
|
||||||
|
For the steps below, assume you're running version A of Consul, and then
|
||||||
|
version B comes out.
|
||||||
|
|
||||||
1. On each node, install version B of Consul.
|
1. On each node, install version B of Consul.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue