хотя пробовал уже по всякому.
у меня
postgresql:
parameters
на одном уровне с etcd3 и bootstrap. Это правильно?
restapi var1: ectd: host1 bootstrap: dcs: param1: postgresql: parameters: param_pg
Повторюсь - bootstrap у меня отрабатывает, но как я понимаю, данная секция используется только при создании ноды кластера заново. А мне надо на рабочей ноде параметры менять
edit-config так параметры меняете ?
Нет. Меняю в /etc/patroni/patroni.yml
потому и не работает.
Не могу я менять через edit-config у меня ansible конфиги раскатывает. А как-то подопнуть это дело можно, чтобы оттуда читал? Ведь сам файл с конфигом читает ведь
так один из смыслов патрони - это управляйка кластером. вызовите patronictl -c /path_to_patroni_yaml.yaml edit-config
он его читает при первом запуске, далее идёт на etcd / zookeper и хранит там значения для кластера.
О как. А как-то заставить его можно пересохранить? Ладно, ключевое вы вроде донесли. Завтра поэкспериментирую - бежать надо. Спасибо!
а вы когда инициализировали это, у вас в yaml сколько строк было ? 4 ?
альтернативой patronictl edit-config, судя по документации, может служить работа с Patroni REST API: https://patroni.readthedocs.io/en/latest/dynamic_configuration.html с т. з. Ansible это будет написание тасков с использованием модуля ansible.builtin.uri: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/uri_module.html отчасти это паллиатив, поскольку разбираться в завалах REST-команд может быть то ещё удовольствие (не далеко ушедшее от башсибл), хотя, может быть, в доке по Patroni REST API и найдётся красивое решение с минимумом вызовов, я честно говоря не читал и не проверял. а модуля Ansible для работы с patronictl edit-config я не нахожу с наскоку в гугле, так что возможно его и нет в природе (в открытой по крайней мере).
Я посмотрел на REST API, там всё тоже самое, что делается с командной строки. Поэтому и команды "пнуть patroni для синхронизации конфига и кластерного хранилища конфигурации" нету.
чтобы при запуске не корректировать через edit-config и всё заполнять там среднее наполнение для запуска, а потом уже если что скорректировать.
Так для запуска же bootstrap.postgresql секция верно? Зачем же торда вторая секция postgresql ниже?
для установки индивидуальных параметров на сервере
чтобы можно было задать разные параметры в зависимости от характеристик сервера
и он будет приоритетней, чем конфиг на ETCD ?
Тогда почему это не работает?
https://habr.com/ru/articles/504044/
Видел. Архитектурно не подходит мне этот доклад. Напомню, что писал вчера (какой был вопрос). Я сделал кластер всё работает за исключением одной вещи. Если я правлю в /etc/patroni/patroni.yml параметр postgresql или что-либо pg_hba, а затем делаю рестарт patroni, то мои изменения не применяются.
и какой то новичок поставит разные max_connections в этот блок и всё, прощай автоматика.
Ну это будут проблемы новичка, хотя там бакап файлы сохраняются, можно откатить по бакапу.
тут нужно смотреть. может и подебажить. У меня на тестах все работало, а в проде конфиг одинаковый.
да, потому что это локальный файл, не влияет на кластер в целом. Для кластера нужно править edit-config
Так он и локально не влияет. Т.е. даже на настройки своей ноды
Вот я и пытаюсь понять что делать, куда копать. Пока не понял :(
потому что namespace не меняли, это имя в пространстве ETCD (zookeper) для которого хранятся текущие значения (настройки)
Т.е. мне надо в namespace надо вместо /cluster/ указать имя ноды? Или просто namespace убрать из конфига (я видел в статьях, что оно не у всех юзается)
давай проще. Есть отдельная БД со своими настройками. Решил сделать кластер, выбрал патрони. Кластеры как то должны "входить" в один домен (Условно). Настраиваешь патрони, где задаешь помимо настроек ПГ еще и "ключи" (namespace) чтобы уже 2 базы знали друг о друге и как то "Объединялись".
и далее вы запустили патрони, видите 2 машины. Дальнейшая регулировка кластеров идёт через edit-config
Снова спрашиваю. Начальная конфигурация для создания нод кластера прописывается в секции bootstrap и далее postgresql в этой же секции. Зачем нужна ещё одна отдельная секция postgresql, если управлять далее надо через edit-config? Я уже не говорю, что этот самый edit-config не показывает мне ничего из секции bootstrap.postgesql
как ответили выше, локальные настройки видимо
Обсуждают сегодня