複数のクラスターにわたる kube-prometheus-stack の冗長性

複数のクラスターにわたる kube-prometheus-stack の冗長性

現在、kube-prometheus-stack を使用して複数の Kubernetes クラスターを監視しています。各クラスターには独自の kube-prometheus-stack のデプロイメントがありますが、現在 alertmanager が有効になっているクラスターは 1 つ (a) だけです。クラスター (a) は、他のすべてのクラスターの /federate エンドポイントもスクレイピングして、いくつかのヘルス メトリックを取得し、それに基づいてアラートを生成します。

クラスター (a) が停止した場合に単一障害点を排除するために、アラートを有効にしてクラスター (a) とともに高可用性モードで実行する 2 番目のクラスター (b) を用意します。

それを達成するための最良の方法は何でしょうか?

プロメテウスについて:

(a) と (b) の両方の Prometheus を、識別用のラベルを除いてまったく同じ構成にします。これらには同じデータが含まれ、(a) と (b) のアラート マネージャーに同じアラートが発行される必要があります。

Alertmanagersについて:

(a) と (b) のアラートマネージャが相互に通信してアラートの重複を排除します。これは、次のように設定することで実現できます。

alertmanagerSpec:
  additionalPeers: []

Grafanaについて:

このような展開でGrafanaの高可用性を実現することは可能でしょうか?ここ両方のインスタンスで同じデータベースを使用できるようにすることで、HA 用に Grafana を設定できますが、私の設定でそれをどのように行うのでしょうか?

誰かがこのアイデアについてフィードバックを提供してくれると嬉しいです...

関連情報