заметки об администрировании и python. Траблшутинг в «примерах» и HOWTO.

👋 О себе | 📚 Литература и ресурсы | 🗂 Все посты | 📮 E-mail

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

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

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

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

Если у нас имеется кластер Redis (конечно же с Sentinel) установленный с помощью (Helm https://4admin.space/tags/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

Поделиться
Отправить
Запинить
 19   18 дн   Centrifugo   cluster   Helm   Kubernetes   redis   Sentinel