3.2. ユーザーに対するユーザー定義のプロジェクトをモニターするパーミッションの付与
クラスター管理者は、すべての OpenShift Container Platform のコアプロジェクトおよびユーザー定義プロジェクトをモニターできます。
クラスター管理者は、開発者およびその他のユーザーに、独自のプロジェクトをモニターするパーミッションを付与できます。特権は、以下のモニタリングロールのいずれかを割り当てることで付与されます。
-
monitoring-rules-view ロールは、プロジェクトの
PrometheusRule
カスタムリソースへの読み取りアクセスを提供します。 -
monitoring-rules-edit ロールは、プロジェクトの
PrometheusRule
カスタムリソースを作成し、変更し、削除するパーミッションをユーザーに付与します。 -
monitoring-edit ロールは、
monitoring-rules-edit
ロールと同じ特権を付与します。さらに、ユーザーはサービスまたは Pod の新規の収集 ターゲットを作成できます。このロールを使用すると、ServiceMonitor
およびPodMonitor
リソースを作成し、変更し、削除することもできます。
また、ユーザー定義のプロジェクトをモニターするコンポーネントを設定するパーミッションをユーザーに付与することもできます。
-
openshift-user-workload-monitoring
プロジェクトの user-workload-monitoring-config-edit ロールにより、user-workload-monitoring-config
ConfigMap
オブジェクトを編集できます。このロールを使用して、ConfigMap
オブジェクトを編集し、ユーザー定義のワークロードのモニター用に Prometheus、Prometheus Operator および Thanos Ruler を設定できます。
このセクションでは、OpenShift Container Platform Web コンソールまたは CLI を使用してこれらのロールを割り当てる方法について説明します。
3.2.1. Web コンソールを使用したユーザーパーミッションの付与
OpenShift Container Platform Web コンソールを使用して、独自のプロジェクトをモニターするパーミッションをユーザーに付与できます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - ロールを割り当てるユーザーアカウントがすでに存在している。
手順
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブで、User Management
Role Bindings Create Binding に移動します。 - Binding Typeで、Namespace Role Binding タイプを選択します。
- Name フィールドに、ロールバインディングの名前を入力します。
Namespace フィールドで、アクセスを付与するユーザー定義プロジェクトを選択します。
重要モニタリングロールは、Namespace フィールドで適用するプロジェクトにバインドされます。この手順を使用してユーザーに付与するパーミッションは、選択されたプロジェクトにのみ適用されます。
-
Role Name 一覧で、
monitoring-rules-view
、monitoring-rules-edit
、またはmonitoring-edit
を選択します。 - Subject セクションで、User を選択します。
- Subject Name フィールドにユーザーの名前を入力します。
- Create を選択して、ロールバインディングを適用します。
3.2.2. CLI を使用したユーザーパーミッションの付与
OpenShift CLI (oc
) を使用して、独自のプロジェクトをモニターするパーミッションをユーザーに付与できます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - ロールを割り当てるユーザーアカウントがすでに存在している。
-
OpenShift CLI (
oc
) がインストールされている。
手順
プロジェクトのユーザーにモニタリングロールを割り当てます。
$ oc policy add-role-to-user <role> <user> -n <namespace> 1
- 1
<role>
をmonitoring-rules-view
、monitoring-rules-edit
、またはmonitoring-edit
に置き換えます。
重要選択したすべてのロールは、クラスター管理者が特定のプロジェクトにバインドする必要があります。
たとえば、
<role>
をmonitoring-edit
に、<user>
をjohnsmith
に、<namespace>
をns1
に置き換えます。これにより、ユーザーjohnsmith
に、メトリクスコレクションをセットアップし、ns1
namespace にアラートルールを作成するパーミッションが割り当てられます。