Skip to content

Design and infrastructure

Andrei Dobre edited this page Feb 4, 2021 · 33 revisions

Design and infrastructure

Redis update

The operator supports rolling updates. A rolling restart is applyed to each leader-follower group one my one, always in ascending order of the leader-number.

The following steps are done by the RedisCluster controller during an update, sequentially for each leader:

  1. Recreate the follower pods of a leader using the new Redis image
  2. Wait until data sync between followers and leader is complete
  3. Update the leader
    1. Do a FAILOVER operation on one of the followers so it is promoted as new leader
    2. Recreate the leader pod and add it as a follower of the node promoted during the previous step
    3. Wait for data sync
    4. Do a FAILOVER operation on the updated leader

MaxSurge and MaxUnavailable options are currently not supported.

Limitations

All Redis nodes must have different IP addresses. This introduces the following limitations:

  1. All pods must run on the same network and have different IPs
  2. Only one Redis instance can run on a pod
Clone this wiki locally