第3章 コアプラットフォームモニタリングの設定
3.1. コアプラットフォームモニタリングスタックを設定する準備 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform インストールプログラムは、インストール前の少数の設定オプションのみを提供します。ほとんどの OpenShift Container Platform フレームワークコンポーネント (クラスターモニタリングスタックを含む) の設定はインストール後に行われます。
このセクションでは、設定できるモニタリングコンポーネントと、モニタリングスタックを設定するための準備方法について説明します。
- モニタリングスタックのすべての設定パラメーターが公開されるわけではありません。設定では、Cluster Monitoring Operator の config map リファレンス にリストされているパラメーターとフィールドのみがサポートされます。
- モニタリングスタックには、追加のリソース要件があります。Cluster Monitoring Operator のスケーリング でコンピューティングリソースに関する推奨事項を参照し、十分なリソースがあることを確認してください。
3.1.1. 設定可能なモニタリングコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
次の表に、設定できるモニタリングコンポーネントと、cluster-monitoring-config
config map でコンポーネントを指定するために使用するキーを示します。
コンポーネント | cluster-monitoring-config config map キー |
---|---|
Prometheus Operator |
|
Prometheus |
|
Alertmanager 0.14.0 |
|
Thanos Querier |
|
kube-state-metrics |
|
monitoring-plugin |
|
openshift-state-metrics |
|
Telemeter クライアント |
|
Metrics Server |
|
ConfigMap
オブジェクトの設定変更によって、結果も異なります。
- Pod は再デプロイされません。したがって、サービスの停止はありません。
変更された Pod が再デプロイされます。
- 単一ノードクラスターの場合、一時的なサービスが停止します。
- マルチノードクラスターの場合、高可用性であるため、影響を受ける Pod は徐々にロールアウトされ、モニタリングスタックは引き続き利用可能です。
- 永続ボリュームの設定およびサイズ変更を行うと、高可用性であるかどうかに関係なく、常にサービスが停止します。
config map の変更を必要とする手順にはそれぞれ、想定される結果が含まれます。
3.1.2. クラスターモニタリング config map の作成 リンクのコピーリンクがクリップボードにコピーされました!
openshift-monitoring
プロジェクトで cluster-monitoring-config
config map を作成および更新することで、OpenShift Container Platform のコアモニタリングコンポーネントを設定できます。その後、Cluster Monitoring Operator (CMO) がモニタリングスタックのコアコンポーネントを設定します。
前提条件
-
cluster-admin
クラスターロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。
手順
cluster-monitoring-config
ConfigMap
オブジェクトが存在するかどうかを確認します。oc -n openshift-monitoring get configmap cluster-monitoring-config
$ oc -n openshift-monitoring get configmap cluster-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ConfigMap
オブジェクトが存在しない場合:以下の YAML マニフェストを作成します。以下の例では、このファイルは
cluster-monitoring-config.yaml
という名前です。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定を適用して
ConfigMap
を作成します。oc apply -f cluster-monitoring-config.yaml
$ oc apply -f cluster-monitoring-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.3. ユーザーへのコアプラットフォームモニタリング権限の付与 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、すべての OpenShift Container Platform のコアプロジェクトおよびユーザー定義プロジェクトを監視できます。
開発者や他のユーザーに、コアプラットフォームモニタリングに関するさまざまな権限を付与することもできます。次のいずれかのモニタリングロールまたはクラスターロールを割り当てることで、権限を付与できます。
名前 | 説明 | プロジェクト |
---|---|---|
| このロールを持つユーザーは、Thanos Querier API エンドポイントにアクセスできます。さらに、コアプラットフォームの Prometheus API とユーザー定義の Thanos Ruler API エンドポイントへのアクセスが許可されます。 |
|
|
このロールを持つユーザーは、コアプラットフォームモニタリング用の |
|
| このロールを持つユーザーは、コアプラットフォームモニタリング用の Alertmanager API を管理できます。また、OpenShift Container Platform Web コンソールの Administrator パースペクティブでアラートサイレンスを管理することもできます。 |
|
| このロールを持つユーザーは、コアプラットフォームモニタリング用の Alertmanager API を監視できます。OpenShift Container Platform Web コンソールの Administrator パースペクティブでアラートサイレンスを表示することもできます。 |
|
|
このクラスターロールを持つユーザーには、 |
ユーザー定義の Prometheus の |
3.1.3.1. Web コンソールを使用したユーザー権限の付与 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、openshift-monitoring
プロジェクトまたはユーザー自身のプロジェクトに対する権限をユーザーに付与できます。
前提条件
-
cluster-admin
クラスターロールを持つユーザーとしてクラスターにアクセスできる。 - ロールを割り当てるユーザーアカウントがすでに存在している。
手順
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブで、User Management
RoleBindings Create binding に移動します。 - Binding Type セクションで、Namespace Role Binding タイプを選択します。
- Name フィールドに、ロールバインディングの名前を入力します。
Namespace フィールドで、アクセスを許可するプロジェクトを選択します。
重要この手順を使用してユーザーに付与するモニタリングロールまたはクラスターロールの権限は、Namespace フィールドで選択したプロジェクトにのみ適用されます。
- Role Name リストからモニタリングロールまたはクラスターロールを選択します。
- Subject セクションで、User を選択します。
- Subject Name フィールドにユーザーの名前を入力します。
- Create を選択して、ロールバインディングを適用します。
3.1.3.2. CLI を使用したユーザー権限の付与 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc
) を使用して、openshift-monitoring
プロジェクトまたはユーザー自身のプロジェクトに対する権限をユーザーに付与できます。
どちらのロールまたはクラスターロールを選択する場合でも、クラスター管理者が特定のプロジェクトにバインドする必要があります。
前提条件
-
cluster-admin
クラスターロールを持つユーザーとしてクラスターにアクセスできる。 - ロールを割り当てるユーザーアカウントがすでに存在している。
-
OpenShift CLI (
oc
) がインストールされている。
手順
プロジェクトのユーザーにモニタリングロールを割り当てるには、次のコマンドを入力します。
oc adm policy add-role-to-user <role> <user> -n <namespace> --role-namespace <namespace>
$ oc adm policy add-role-to-user <role> <user> -n <namespace> --role-namespace <namespace>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<role>
は必要なモニタリングロールに、<user>
はロールを割り当てるユーザーに、<namespace>
はアクセスを許可するプロジェクトに置き換えます。
プロジェクトのユーザーにモニタリングクラスターロールを割り当てるには、次のコマンドを入力します。
oc adm policy add-cluster-role-to-user <cluster-role> <user> -n <namespace>
$ oc adm policy add-cluster-role-to-user <cluster-role> <user> -n <namespace>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster-role>
は必要なモニタリングクラスターロールに、<user>
はクラスターロールを割り当てるユーザーに、<namespace>
はアクセスを許可するプロジェクトに置き換えます。