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 means that

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