Перейти к содержанию

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

Описанное ниже применимо только для 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
Пример:

# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=master,status=ok,address=redis-node-2.redis-headless.mynamespace.svc.cluster.local:6379,slaves=2,sentinels=3

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

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


  env:
    CENTRIFUGO_REDIS_MASTER_NAME: "master"
    CENTRIFUGO_REDIS_SENTINELS: "redis:26379"

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

Опубликовано в рубрикеKubernetes

Оставьте первый коментарий

    Добавить комментарий

    Ваш адрес email не будет опубликован.