Sobes.tech
Назад к вопросам
Middle+
9

Как в Patroni настроить выбор мастера, если один из узлов слабее остальных и не должен становиться primary?

Компании, где спрашивали
ФинГрад

Ответ от нейросети

sobes.tech AI

В Patroni можно настроить приоритет выбора primary (мастера) с помощью параметра tags в конфигурации каждого узла. Чтобы узел с меньшими ресурсами не становился primary, ему можно задать тег с низким приоритетом, например:

tags:
  nofailover: true
  noloadbalance: true
  clonefrom: false
  # или явно указать низкий приоритет
  primary_priority: 0

Основной параметр — primary_priority (целочисленное значение, по умолчанию 100). Узлы с более высоким значением имеют больший приоритет для выбора в качестве primary. Установите на слабом узле primary_priority: 0 или другое низкое значение, чтобы Patroni не выбирал его в качестве мастера при failover.

Пример настройки для слабого узла:

scope: my_cluster
name: weak_node
restapi:
  listen: 0.0.0.0:8008
  connect_address: 10.0.0.3:8008
etcd:
  host: 10.0.0.1:2379
postgresql:
  listen: 0.0.0.0:5432
  connect_address: 10.0.0.3:5432
  data_dir: /var/lib/postgresql/data
tags:
  primary_priority: 0

Таким образом, при выборе primary Patroni отдаст предпочтение узлам с более высоким primary_priority, исключая слабый узел из кандидатов на мастер.