Before attempting an upgrade of Consul on your environment, it is recommend that the following actions are completed to ensure a smooth and error-free upgrade process:
-
Review the ChangeLog section of the Consul GitHub to see if there are any breaking changes or added features in the Consul release you are planning to upgrade to that could potentially cause issues with your environment during the upgrade process.
-
These breaking changes may be different based on the Consul use-case (i.e. Using Consul as a Vault backend vs using Consul for Service Discovery).
-
Please review the Release notes in the Consul release to see if there are any deprecated features that you are currently using that will no longer work in the newer version
-
-
Review the Issues section of the Consul GitHub to see if there are existing bugs that may affect your environment should you upgrade
-
Review the Upgrading Specific Versions section of the Consul documentation to observe any chances in a major Consul release(i.e. 1.10.0, v1.11.0, etc)
- In case, the consul use-case in service mesh(Envoy), please make sure to refer the compatibility matrix for Consul and Envoy in order to choose right versions.
-
As a General rule of Thumb, always upgrade Consul servers first, and making sure the upgrade is successful and Consul servers logs have no Errors and Cluster Quorum is maintained. Then proceed to upgrade Consul clients.
-
- While upgrading Consul servers, please make sure to upgrade followers first and the leader last in rolling fashion.
-
-
Make sure that the version you are planning to upgrade to has been thoroughly tested in a QA/Test environment with a workload similar to that of the Production environment
Important Note:
Before performing an upgrade, make sure that you have a recent Consul snapshot (no more than 1-2 days old) or have taken a Consul snapshot of the cluster in a healthy state. This is to ensure that you can restore the environment should something go wrong during the upgrade process.
Additional Information