-
Notifications
You must be signed in to change notification settings - Fork 372
Description
Currently when you update the RedisFailover settings (either sentinels or the main Redis nodes), the operator performs a rolling update. Each pod is updated and then Kubernetes waits for the readiness probe to pass before moving on.
The problem with this is that the readiness probe doesn't indicate that the node has joined the cluster and is actually an active node.
I propose the following changes in the statefulset or deployment YAML unless you think there's a better way to solve this:
spec:
minReadySeconds: 120
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
[...]
This makes sure that only one node is down during a rolling update and that it waits 120 seconds after the readiness probe passes before moving onto the next pod. There's no guarantee that the node will actually be ready after that time but it's better than not having it.
What do you think?
cc: @jchanam