The IPFS Cluster project releases new versions regularly. This section describes the procedure to upgrade Clusters with minimal or no downtime.
The main consideration is that:
All the cluster peers need to run the same cluster `major.minor` (but they can have different patch numbers). i.e.:
Otherwise, peers will not be able to communicate. We plan to move to a more flexible scheme soon, as the feature set stabilizes.
The general approach to is to:
ipfs-cluster-servicewith their new versions.
- Restart all the peers.
For compatible versions (patch bumps), this can be done gradually without general downtime.
In the case of
raft, this only works if:
leave_on_shutdownis set to
false. Otherwise, those peer will need to be bootstrapped on the next start.
wait_for_leader_timeoutis sufficiently high to account for the restart of all peers (default should be ok in most cases)