第10章 Cluster Monitoring Operator のスケーリング

10.1. 概要

OpenShift Container Platform は、cluster-monitoring-operator によってバックエンドで収集し、保存できるメトリクスを公開します。OpenShift Container Platform 管理者は、Grafana というインターフェースのダッシュボードインターフェースでシステムリソース、コンテナーおよびコンポーネントメトリクスを表示できます。

以下のトピックでは、cluster monitoring operator のスケーリングについての情報を提供します。

Prometheus を永続ストレージで使用する場合は、Ansible インベントリーファイルの openshift_cluster_monitoring_operator_prometheus_storage_enabled 変数を true に設定する必要があります。

10.2. OpenShift Container Platform の推奨事項

10.3. Cluster Monitoring Operator の容量計画

異なるスケールサイズについて各種のテストが実行されました。以下の表が示すように、Prometheus データベースが拡張されました。

表10.1 クラスター内のノード/Pod の数に基づく Prometheus データベースのストレージ要件

ノード数Pod 数1 日あたりの Prometheus ストレージの増加量15 日ごとの Prometheus ストレージの増加量RAM 領域 (スケールサイズに基づく)ネットワーク (tsdb チャンクに基づく)

50

1800

6.3 GB

94 GB

6 GB

16 MB

100

3600

13 GB

195 GB

10 GB

26 MB

150

5400

19 GB

283 GB

12 GB

36 MB

200

7200

25 GB

375 GB

14 GB

46 MB

上記の計算では、ストレージ要件が計算値を超過しないようにするために、オーバーヘッドとして予期されたサイズのおよそ 20% が追加されています。

上記の計算は、デフォルトの OpenShift Container Platform cluster-monitoring-operator について開発されました。スケールが拡張する場合、Ansible インベントリーファイルで、デフォルトが 50Gi に設定されている openshift_cluster_monitoring_operator_prometheus_storage_capacity=94Gi 変数を編集します。

注記

CPU の使用率による影響は大きくありません。比率については、およそ 50 ノードおよび 1800 Pod ごとに 1 コア (/40) になります。

10.3.1. ラボ環境

すべての実験は、OpenStack 環境の OpenShift Container Platform で実行されました。

  • インフラストラクチャーノード (VM) - 40 コア、157 GB RAM。
  • CNS ノード (VM) - 16 コア、62 GB RAM、NVMe ドライブ。

10.3.2. 前提条件

スケーリングに基づいて、Prometheus データストアの関連する PV サイズを計算し、設定します。デフォルトの Prometheus Pod レプリカ数は 2 であるため、3600 Pod を含む 100 ノードの場合、188 GB が必要になります。

例:

195 GB (space per 15 days ) * 2 (pods) = 390 GB free

この方程式に基づいて、openshift_cluster_monitoring_operator_prometheus_storage_capacity=195Gi を設定します。