Centrifugo: подключение к Redis Sentinel

Thank you for reading this post, don't forget to subscribe!

Опи­сан­ное ниже при­ме­ни­мо толь­ко для Centrifugo, кото­рый был уста­нов­лен с помо­щью офи­ци­аль­но­го Helm Chart

Т.к Sentinel зани­ма­ет­ся наблю­де­ни­ем за master/slave кла­сте­ра и при ука­за­нии пор­та Sentinel ниче­го не про­изой­дет. Для под­клю­че­ния к кла­сте­ру с Sentinel, необ­хо­ди­мо спер­ва узнать, какая из нод явля­ет­ся масте­ром, толь­ко на эту ноду будет воз­мож­на запись данных.

Если у нас име­ет­ся кла­стер Redis (конеч­но же с Sentinel) уста­нов­лен­ный с помо­щью  Helm Chart от bitnami
Спер­ва нам пона­до­бит­ся запу­стить redis-client и под­клю­чить­ся к Sentinel

Запу­стим его на одном из pod’ов и под­клю­чим­ся имен­но к пор­ту Sentinel

kubectl exec -ti -n mynamespace redis-node-0 --bash

redis-cli -h redis -p 26379

Далее необ­хо­ди­мо выпол­нить коман­ду `info` для полу­че­ния име­ни master’a
Пример:

Соб­ствен­но нас инте­ре­су­ет `master0:name=master`

Далее в values Helm Chart’a ука­жем сле­ду­ю­щие ENV-переменные

Где в CENTRIFUGO_REDIS_MASTER_NAME мы ука­зы­ва­ем «мет­ку» масте­ра, а CENTRIFUGO_REDIS_SENTINELS ука­зы­ва­ем под­клю­че­ние к Sentinel