Rolling upgrade alternative?

Upgrading one node at a time, as suggested by the documentation, might not be feasible when ES deployment is part of an immutable infrastructure.

This is my approach when upgrading from minor versions. It is a sort of blue/green deployment.

  1. Disable shard allocation
  2. Add X new upgraded nodes to the cluster. Where X is the number of current live nodes
  3. Exclude old nodes from allocation:
cluster.routing.allocation.exclude._ip : ip1,ip2,ip3...
  1. Re-enable shard allocation. At this point, all the shards start migrating to the new upgraded nodes.
  2. Wait for shard allocation to be completed.
  3. Take the old nodes offline.

While this strategy is far to be optimal for a very large deployment, since it implies that the whole data has to be moved from the "blue" to the "green" cluster, I'm just wondering if I can consider it safe & legit.

Thanks

That's totally fine if it's what you have to work with.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.