Рейтинг:0

Очереди кворума RabbitMQ - автоматическое повторное присоединение узла

флаг ma

я исследую Очереди кворума RabbitMQ для повышения доступности некоторых сервисов в кластере Kubernetes. Как я читаю, они разработаны с учетом безопасности данных.

Однако глава "Управление репликами" состояния:

Реплики очереди кворума явно управляются оператором. Когда в кластер добавляется новый узел, в нем не будет очереди кворума. реплики, если оператор явно не добавляет их к члену (реплике) список очереди кворума или набор очередей кворума.

Представляется поэтому, что в случае нарушения (особенно непроизвольно) могла возникнуть следующая ситуация (для 3-узлового кластера):

  1. после сбоя узел выйдет из строя: два других узла по-прежнему составляют большинство и будут «поддерживать очередь в живых», возможно, выбирая нового лидера;
  2. kubernetes предоставит новый узел (pod) взамен вышедшего из строя узла; новый узел автоматически присоединится к кластеру RabbitMQ, но
  3. если только оператор вручную вмешивается, новый узел будет нет вносить вклад в существующие очереди кворума;
  4. для кластера из 3 узлов это означает, что высокой доступности больше нет: если когда-нибудь в будущем один из других узлов выйдет из строя, очередь будет фактически потеряна;

Есть ли способ смягчить этот сценарий? Например, возможно ли, чтобы узлы автоматически присоединялись ко всем существующим кластерам очередей кворума? Возможно, поддерживая список «команд запуска» (которые запускаются после запуска RabbitMQ), к которым мы могли бы добавить присоединиться к командам?

Mikołaj Głodziak avatar
флаг id
Какую версию Kubernetes вы использовали и как настроили кластер? Вы использовали установку на «голое железо» или какого-то облачного провайдера? Важно воспроизвести вашу проблему.
Рейтинг:1
флаг br

Команда RabbitMQ настоятельно рекомендует использовать официального оператора Kubernetes — https://www.rabbitmq.com/kubernetes/operator/operator-overview.html

Кроме того, вот что говорит местный эксперт k8s:

Kubernetes не просто случайным образом удалит постоянный том — если узел по какой-то причине вышел из строя, он запустится с тем же именем и теми же данными

Пока используется одно и то же имя и данные, «новый» узел будет присоединяться так же, как если бы он был старым.

Вероятно, есть сценарии, требующие ручного вмешательства, но они встречаются не так часто, как вы думаете.


ПРИМЕЧАНИЕ: команда RabbitMQ следит за RabbitMQ-пользователи список рассылки и лишь иногда отвечает на вопросы на StackOverflow.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.