То, что вы ищете, насколько я знаю, больше похоже на антишаблон, чем на невозможное.
Из того, что я понимаю, вы, похоже, ищете развертывание масштабируемой платформы мониторинга / HA, котораяне будет отправлять X раз по оповещениям, так что вы можете либо создать контейнер с коляской, который будет общаться с его братьями и сестрами, и «выбрать» мастер-почтовик (StatefulSet сделает это проще в этом случае), либо просто отделить почтовик отмониторинг и заставить их общаться друг с другом через службу.Это позволило бы вам балансировать нагрузку как на мониторинг, так и на рассылку по отдельности.
monitoring-1 \ / mailer-1
monitoring-2 --- > mailer.svc -- mailer-2
monitoring-3 / \ mailer-3
Любой почтовый запрос будет обрабатываться одним и только одним почтовым агентом из пула, но это при условии, что ваши модули мониторинга не все запущенывместе в оповещениях ... Если это не так, то независимо от ваших «главных» выборов для почтовой программы, вам придется сначала решить эту проблему.
И, решая эту первую проблему, я имею в виду добавление главных выборов.Логика для вашей платформы мониторинга, чтобы организовать основные отработки отказа на событиях, есть несколько способов сделать это, но это действительно зависит от того, что ваша платформа мониторинга и может сделать ...
Хотя, если вашреплики просто для того, чтобы как-то расширить вычислительную мощность, и ваш мастер должен быть статичным, затем просто использовать StatefulSet и добавить один вкладыш во время выполнения, выполнив if hostname == $statefulset-name-0 then MASTER
, но я чувствую, что это не лучшая идея.