You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: charts/redis-ha/README.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -463,15 +463,15 @@ Should your Pod require additional egress rules, define them in a `egressRules`
463
463
464
464
## Sentinel and redis server split brain detection
465
465
466
-
Under not entirely known yet circumstances redis sentinel and its corresponding redis server reach a condition that this chart authors call "split brain" (for short). The observed behaviour is the following: the sentinel switches to the new re-elected master, but does not switch its redis server. Majority of original discussion on the problem has happened at the <https://github.com/DandyDeveloper/charts/issues/121>.
466
+
Under not entirely known yet circumstances redis sentinel and its corresponding redis server reach a condition that this chart authors call "split brain" (for short). The observed behaviour is the following: the sentinel switches to the new re-elected master, but does not switch its redis server. Majority of original discussion on the problem has happened at the #121.
467
467
468
468
The proposed solution is currently implemented as a sidecar container that runs a bash script with the following logic:
469
469
470
-
1. Every `splitBrainDetection.interval` seconds a master (as known by sentinel) is determined
471
-
1. If it is the current node: ensure the redis server's role is master as well.
472
-
1. If it is not the current node: ensure the redis server also replicates from the same node.
473
-
474
-
If any of the checks above fails - the redis server reinitialisation happens (it regenerates configs the same way it's done during the pod init), and then the redis server is instructed to shutdown. Then kubernetes restarts the container immediately.
470
+
1. At intervals defined by splitBrainDetection.interval, the sidecar checks which node is recognized as master by Sentinel.
471
+
2. If the current pod is the master according to Sentinel, it verifies that the local Redis serveris also running as master.
472
+
3. If the current pod is not the master, it ensures the local Redis server is replicating from the correct master node.
473
+
4. If any of these checks fail, the sidecar will retry the check at intervals defined by splitBrainDetection.retryInterval.
474
+
5. If the checks continue to fail after the retry attempts, the sidecar triggers a reinitialization: it regenerates the Redis configuration and instructs the Redis server to shut down. Kubernetes will then automatically restart the container.
Copy file name to clipboardExpand all lines: charts/redis-ha/README.md.gotmpl
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -214,15 +214,15 @@ Should your Pod require additional egress rules, define them in a `egressRules`
214
214
215
215
## Sentinel and redis server split brain detection
216
216
217
-
Under not entirely known yet circumstances redis sentinel and its corresponding redis server reach a condition that this chart authors call"split brain" (for short). The observed behaviour is the following: the sentinel switches to the new re-elected master, but does not switch its redis server. Majority of original discussion on the problem has happened at the <https://github.com/DandyDeveloper/charts/issues/121>.
217
+
Under not entirely known yet circumstances redis sentinel and its corresponding redis server reach a condition that this chart authors call"split brain" (for short). The observed behaviour is the following: the sentinel switches to the new re-elected master, but does not switch its redis server. Majority of original discussion on the problem has happened at the #121.
218
218
219
219
The proposed solution is currently implemented as a sidecar container that runs a bash script with the following logic:
220
220
221
-
1.Every `splitBrainDetection.interval` seconds a master (as known by sentinel) is determined
222
-
1. If it is the current node: ensure the redis server's role is master as well.
223
-
1. If it is not the current node: ensure the redis server also replicates from the same node.
224
-
225
-
If any of the checks above fails - the redis server reinitialisation happens (it regenerates configs the same way it's done during the pod init),andthen the redis server is instructed to shutdown. Then kubernetes restarts the container immediately.
221
+
1.At intervals defined by splitBrainDetection.interval, the sidecar checks which node is recognized as master by Sentinel.
222
+
2. If the current pod is the master according to Sentinel, it verifies that the local Redis serveris also running as master.
223
+
3. If the current pod is not the master, it ensures the local Redis server is replicating from the correct master node.
224
+
4. If any of these checks fail, the sidecar will retry the check at intervals defined by splitBrainDetection.retryInterval.
225
+
5.If the checks continue to fail after the retry attempts, the sidecar triggers a reinitialization: it regenerates the Redis configurationandinstructs the Redis server to shut down. Kubernetes will then automatically restart the container.
0 commit comments