第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 の推奨事項
- 3 つ以上のインフラストラクチャー (infra) ノードを使用します。
- 3 つ以上の openshift-container-storage ノードを non-volatile memory express (NVMe) ドライブと共に使用します。
- OpenShift Container Storage (OCS) Block などの永続的なブロックストレージを使用します。
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
を設定します。