SkyWalking v6 is widely used in many production environments. Users may wants to upgrade to an old release to new. This is a guidance to tell users how to do that.
NOTICE, the following ways are not the only ways to do upgrade.
Use Canary Release
Like all applications, SkyWalking could use
canary release method to upgrade by following these steps
- Deploy a new cluster by using the latest(or new) version of SkyWalking OAP cluster with new database cluster.
- Once the target(being monitored) service has chance to upgrade the agent.jar(or just simply reboot), change the
collector.backend_servicepointing to the new OAP backend, and use/add a new namespace(
agent.namespacein Table of Agent Configuration Properties). The namespace will avoid the conflict between different versions.
- When all target services have been rebooted, the old OAP clusters could be discarded.
Canary Release methods works for any version upgrade.
Online Hot Reboot Upgrade
The reason we required
Canary Release is, SkyWalking agent has cache mechanisms, switching to a new cluster makes the
cache unavailable for new OAP cluster.
In the 6.5.0+(especially for agent version), we have Agent hot reboot trigger mechanism.
By using that, we could do upgrade an easier way, deploy a new cluster by using the latest(or new) version of SkyWalking OAP cluster with new database cluster,
and shift the traffic to the new cluster once for all. Based on the mechanism, all agents will go into
cool_down mode, then
back online. More detail, read the backend setup document.
NOTICE, as a known bug in 6.4.0, its agent could have re-connection issue, so, even this bot reboot mechanism included in 6.4.0, it may not work in some network scenarios, especially in k8s.
All versions of SkyWalking 6.x(even 7.x) are compatible with each others, so users could only upgrade the OAP servers first. The agent is also enhanced from version to version, so from SkyWalking team’s recommendations, upgrade the agent once you have the chance.