kube-prometheus-stack избыточность в нескольких кластерах

kube-prometheus-stack избыточность в нескольких кластерах

В настоящее время я использую kube-prometheus-stack для мониторинга нескольких кластеров kubernetes. Каждый кластер имеет собственное развертывание kube-prometheus-stack, однако в настоящее время только один кластер (a) имеет включенный alertmanager. Кластер (a) также скрейпит все другие кластеры /конечную точку federate, чтобы получить некоторые показатели работоспособности и сделать оповещения на их основе.

Чтобы исключить единую точку отказа в случае выхода из строя кластера (a), я хочу иметь второй кластер (b) с включенными оповещениями, работающий в режиме высокой доступности вместе с кластером (a).

Какой наилучший способ этого добиться?

Относительно Прометея:

Сделайте оба (a) и (b) Prometheus абсолютно одинаковой конфигурации, кроме, может быть, метки для идентификации. Они должны содержать те же данные и запускать те же оповещения для (a) и (b) alertmanagers.

Относительно менеджеров оповещений:

Заставить (a) и (b) Alertmanagers общаться друг с другом для дедупликации оповещений. Этого можно добиться, установив

alertmanagerSpec:
  additionalPeers: []

Относительно Графаны:

Возможно ли вообще сделать Grafana высокодоступной в таком виде развертывания? Я знаю изздесьчто можно настроить Grafana для высокой доступности, разрешив обоим экземплярам использовать одну и ту же базу данных, но как это сделать в моей настройке?

Буду рад, если кто-нибудь сможет дать отзыв об этой идее...

Связанный контент