11.6. External Secrets Operator for Red Hat OpenShift のモニタリング
External Secrets Operator for Red Hat OpenShift は、デフォルトで Operator とオペランドのメトリクスを公開します。Prometheus Operator 形式を使用してこれらのメトリクスを収集するように OpenShift Monitoring を設定できます。
11.6.1. ユーザーワークロードモニタリングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
クラスターでユーザーワークロードモニタリングを設定することで、ユーザー定義プロジェクトのモニタリングを有効にできます。詳細は、「ユーザー定義プロジェクトのメトリクス収集の設定」を参照してください。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。
手順
cluster-monitoring-config.yamlYAML ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
ConfigMapを適用します。oc apply -f cluster-monitoring-config.yaml
$ oc apply -f cluster-monitoring-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、ユーザーワークロードのモニタリングコンポーネントが
openshift-user-workload-monitoringnamespace で実行されていることを確認します。oc -n openshift-user-workload-monitoring get pod
$ oc -n openshift-user-workload-monitoring get podCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE prometheus-operator-5f79cff9c9-67pjb 2/2 Running 0 25h prometheus-user-workload-0 6/6 Running 0 25h thanos-ruler-user-workload-0 4/4 Running 0 25h
NAME READY STATUS RESTARTS AGE prometheus-operator-5f79cff9c9-67pjb 2/2 Running 0 25h prometheus-user-workload-0 6/6 Running 0 25h thanos-ruler-user-workload-0 4/4 Running 0 25hCopy to Clipboard Copied! Toggle word wrap Toggle overflow prometheus-operator、prometheus-user-workload、thanos-ruler-user-workloadなどの Pod のステータスがRunningである必要があります。
11.6.2. ServiceMonitor を使用した External Secrets Operator for Red Hat OpenShift のメトリクス収集の設定 リンクのコピーリンクがクリップボードにコピーされました!
External Secrets Operator for Red Hat OpenShift は、デフォルトで /metrics サービスエンドポイントのポート 8443 でメトリクスを公開します。Prometheus Operator によるカスタムメトリクスの収集を可能にする ServiceMonitor カスタムリソース (CR) を作成することで、Operator のメトリクス収集を設定できます。詳細は、「ユーザーワークロードモニタリングの設定」を参照してください。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 - External Secrets Operator for Red Hat OpenShift がインストールされている。
- ユーザーワークロードモニタリングが有効になっている。
手順
メトリクスサーバーに
HTTPを使用するように Operator を設定します。HTTPSはデフォルトで有効になっています。次のコマンドを実行して、External Secrets Operator for Red Hat OpenShift のサブスクリプションオブジェクトを更新し、
HTTPプロトコルを設定します。oc -n external-secrets-operator patch subscription openshift-external-secrets-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"METRICS_BIND_ADDRESS","value":":8080"}, {"name": "METRICS_SECURE", "value": "false"}]}}}'$ oc -n external-secrets-operator patch subscription openshift-external-secrets-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"METRICS_BIND_ADDRESS","value":":8080"}, {"name": "METRICS_SECURE", "value": "false"}]}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow External Secrets Operator Pod が再デプロイされ、
METRICS_BIND_ADDRESSおよびMETRICS_SECUREの設定値が更新されたことを確認するために、次のコマンドを実行します。oc set env --list deployment/external-secrets-operator-controller-manager -n external-secrets-operator | grep -e METRICS_BIND_ADDRESS -e METRICS_SECURE -e container
$ oc set env --list deployment/external-secrets-operator-controller-manager -n external-secrets-operator | grep -e METRICS_BIND_ADDRESS -e METRICS_SECURE -e containerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次の例は、
METRICS_BIND_ADDRESSとMETRICS_SECUREが更新されたことを示しています。deployments/external-secrets-operator-controller-manager, container manager
# deployments/external-secrets-operator-controller-manager, container manager METRICS_BIND_ADDRESS=:8080 METRICS_SECURE=falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow
kubernetes.io/service-account.nameアノテーションを使用してSecretリソースを作成し、メトリクスサーバーでの認証に必要なトークンを注入します。secret-external-secrets-operator.yamlYAML ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
Secretリソースを作成します。oc apply -f secret-external-secrets-operator.yaml
$ oc apply -f secret-external-secrets-operator.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
メトリクスにアクセスするための権限を付与するために必要な
ClusterRoleBindingリソースを作成します。clusterrolebinding-external-secrets.yamlYAML ファイルを作成します。次の例は、
cluserrolebinding-external-secrets.yamlファイルを示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ClusterRoldeBindingカスタムリソースを作成します。oc apply -f clusterrolebinding-external-secrets.yaml
$ oc apply -f clusterrolebinding-external-secrets.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
デフォルトの
HTTPSを使用する場合は、次のServiceMonitorCR を作成します。servicemonitor-external-secrets-operator-https.yamlYAML ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
ServiceMonitorCR を作成します。oc apply -f servicemonitor-external-secrets-operator-https.yaml
$ oc apply -f servicemonitor-external-secrets-operator-https.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
HTTPを使用するように設定した場合は、次のServiceMonitorCR を作成します。servicemonitor-external-secrets-operator-http.yamlYAML ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
ServiceMonitorCR を作成します。oc apply -f servicemonitor-external-secrets-operator-http.yaml
$ oc apply -f servicemonitor-external-secrets-operator-http.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ServiceMonitorCR が作成されると、ユーザーワークロードの Prometheus インスタンスが、Operator からのメトリクス収集を開始します。収集されたメトリクスには、job="external-secrets-operator-controller-manager-metrics-service"というラベルが付けられます。
検証
-
OpenShift Container Platform Web コンソールで、Observe
Targets に移動します。 Label フィルターフィールドに次のラベルを入力して、各オペランドのメトリクスターゲットをフィルタリングします。
service=external-secrets-operator-controller-manager-metrics-service
$ service=external-secrets-operator-controller-manager-metrics-serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
external-secrets-operatorの Status 列にUpと表示されていることを確認します。
11.6.3. External Secrets Operator for Red Hat OpenShift のメトリクスの照会 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者、またはすべての namespace に対する表示アクセス権を持つユーザーは、OpenShift Container Platform Web コンソールまたはコマンドラインインターフェイス (CLI) を使用して Operator のメトリクスを照会できます。詳細は、「メトリクスへのアクセス」を参照してください。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 - External Secrets Operator for Red Hat OpenShift がインストールされている。
-
ServiceMonitorオブジェクトを作成することで、モニタリングとメトリクスの収集を有効にした。
手順
-
OpenShift Container Platform Web コンソールで、Observe
Metrics に移動します。 クエリーフィールドに次の PromQL 式を入力して、Red Hat OpenShift External Secrets Operator のメトリクスを照会します。
{job="external-secrets-operator-controller-manager-metrics-service"}{job="external-secrets-operator-controller-manager-metrics-service"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.6.4. ServiceMonitor を使用した External Secrets Operator for Red Hat OpenShift オペランドのメトリクス収集の設定 リンクのコピーリンクがクリップボードにコピーされました!
External Secrets Operator for Red Hat OpenShift オペランドは、3 つのコンポーネントすべて (external-secrets、external-secrets-cert-controll、external-secrets-webhook) の /metrics サービスエンドポイントのポート 8080 で、デフォルトでメトリクスを公開します。Prometheus Operator によるカスタムメトリクスの収集を可能にする ServiceMonitor カスタムリソース (CR) を作成することで、external-secrets オペランドのメトリクス収集を設定できます。詳細は、「ユーザーワークロードモニタリングの設定」を参照してください。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 - External Secrets Operator for Red Hat OpenShift がインストールされている。
- ユーザーワークロードモニタリングが有効になっている。
手順
メトリクスにアクセスするための権限を付与するために必要な
ClusterRoleBindingリソースを作成します。clusterrolebinding-external-secrets.yamlYAML ファイルを作成します。次の例は、
cluserrolebinding-external-secrets.yamlファイルを示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ClusterRoldeBindingカスタムリソースを作成します。oc apply -f clusterrolebinding-external-secrets.yaml
$ oc apply -f clusterrolebinding-external-secrets.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ServiceMonitorCR を作成します。servicemonitor-external-secrets.yamlYAML ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
ServiceMonitorCR を作成します。oc apply -f servicemonitor-external-secrets.yaml
$ oc apply -f servicemonitor-external-secrets.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ServiceMonitorCR が作成されると、ユーザーワークロードの Prometheus インスタンスが、External Secrets Operator for Red Hat OpenShift オペランドからのメトリクス収集を開始します。収集されたメトリクスには、job="external-secrets"、job="external-secrets-cainjector"、およびjob="external-secrets-webhook"というラベルが付けられます。
検証
-
OpenShift Container Platform Web コンソールで、Observe
Targets に移動します。 Label フィルターフィールドに次のラベルを入力して、各オペランドのメトリクスターゲットをフィルタリングします。
service=external-secrets
$ service=external-secretsCopy to Clipboard Copied! Toggle word wrap Toggle overflow service=external-secrets-cert-controller-metrics
$ service=external-secrets-cert-controller-metricsCopy to Clipboard Copied! Toggle word wrap Toggle overflow service=external-secrets-webhook
$ service=external-secrets-webhookCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
external-secrets、external-secrets-cert-controller、およびexternal-secrets-webhookの Status 列にUpが表示されていることを確認します。
11.6.5. external-secrets オペランドのメトリクスの照会 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者、またはすべての namespace に対する表示アクセス権を持つユーザーは、OpenShift Container Platform Web コンソールまたはコマンドラインインターフェイス (CLI) を使用して、external-secrets オペランドのメトリクスを照会できます。詳細は、「メトリクスへのアクセス」を参照してください。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 - External Secrets Operator for Red Hat OpenShift がインストールされている。
-
ServiceMonitorオブジェクトを作成することで、モニタリングとメトリクスの収集を有効にした。
手順
-
OpenShift Container Platform Web コンソールで、Observe
Metrics に移動します。 クエリーフィールドに次の PromQL 式を入力して、各オペランドの External Secrets Operator for Red Hat OpenShift オペランドメトリクスを照会します。
{job="external-secrets"}{job="external-secrets"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow {job="external-secrets-webhook"}{job="external-secrets-webhook"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow {job="external-secrets-cert-controller-metrics"}{job="external-secrets-cert-controller-metrics"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow