Consul upgrade from 7.5 CE to latest version

We are currently running Consul 0.7.5 Community Edition, which is very outdated, including in production. Due to the significant version gap and the associated blast radius, an in-place upgrade is not recommended.

The safest and recommended approach is to deploy a new Consul cluster on the latest version and migrate services and clients gradually, minimizing risk to production workloads.

There are two possible approaches:

  1. Set up a new Consul infrastructure with the latest version.
  2. Perform a gradual in-place upgrade, but given that we are 28 versions behind, this option carries higher risk.

Considering the version gap and associated risk, I am inclined toward approach #1.

If someone has faced similar problem in past, please reply.
Also hope Enterprise support of consul can help if we take the help from Consul enterprise support

I totally agree spinning up a fresh Consul cluster on the latest version 1.22.2 is usually the easiest and safest way when you’re leaping from something as old as 0.7.5 CE. You can’t just jump straight to the newest one because there’s a ton of breaking changes along the way, so in-place upgrades would force you to hop through versions carefully (check the official guide here: Upgrade instructions | Consul | HashiCorp Developer).

It really comes down to your setup though how big the cluster is, what’s stored in the KV, how many services are registered, and how deep it’s tied into your service mesh. If your current 0.7.5 is pretty basic and lightweight, redeploying a brand-new cluster could be very simple, and you’d avoid all the headache of debugging upgrade issues on the Consul side.

But if it’s heavily integrated like with ACLs, lots of KV data, intentions, mesh gateways, ingress/terminating gateways, and real productions services running in the mesh, then you’ll need to plan the cutover carefully to avoid downtime. That means rebuilding those configs and shifting services/app over to the new cluster without things falling apart.