выбора мастер-ноды для отправки трафика на неё. Пробовал запускать patroni в классическом окружении, там поверх кластера стоит haproxy, который делает health-check на кастомный порт, на котором ему говорят 200 или 503.
В манифесте оператора есть две строки:
enableMasterLoadBalancer: true
enableReplicaLoadBalancer: false
Но выставление того или иного флага, не приводят к заметным изменениям. Возможно там механизм поиска текущего мастера на уроне сервиса реализован, я не понимаю 😞
Возможно этим рулит оператор и правит сервис типа LoadBalancer?
Эти флаги для создания ресурса type: LoadBalancer - с внешним IP адресом. У тебя будут 2 сервиса, ресурса kubernetes, после установки кластера, называться они будут в согласии с именем твоего кластера postgres. Для реплик будет <имя-postgres-кластера>-repl.
Спасибо за помощь! Я думал там будет дедовский метод - поднимется дополнительный pod с haproxy внутри, на который уже будет смотреть service. Подход костылей и грабель долго будет выветриваться из моего мышления 😊
Есть ещё фича оператора на установку pgbouncer, можешь через него пускать трафик. Сервиса также будет 2 - на мастер и на реплики.
Если доступ по внешнему IP не нужен - можешь смело ставить false на этих флагах. Сервисы так и так создаются.
Спасибо. Пуллинг на уровне приложения реализован, разработчик сказал pgboucer избыточен будет.
Как интересно. Спасибо!
Обсуждают сегодня