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 ロールを持つユーザーとしてクラスターにアクセスできる。

手順

  1. cluster-monitoring-config.yaml YAML ファイルを作成します。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: cluster-monitoring-config
      namespace: openshift-monitoring
    data:
      config.yaml: |
        enableUserWorkload: true
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを実行して ConfigMap を適用します。

    $ oc apply -f cluster-monitoring-config.yaml
    Copy to Clipboard Toggle word wrap

検証

  • 次のコマンドを実行して、ユーザーワークロードのモニタリングコンポーネントが openshift-user-workload-monitoring namespace で実行されていることを確認します。

    $ oc -n openshift-user-workload-monitoring get pod
    Copy to Clipboard Toggle word wrap

    出力例

    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
    Copy to Clipboard Toggle word wrap

    prometheus-operatorprometheus-user-workloadthanos-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 がインストールされている。
  • ユーザーワークロードモニタリングが有効になっている。

手順

  1. メトリクスサーバーに HTTP を使用するように Operator を設定します。HTTPS はデフォルトで有効になっています。

    1. 次のコマンドを実行して、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"}]}}}'
      Copy to Clipboard Toggle word wrap
    2. 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
      Copy to Clipboard Toggle word wrap

      次の例は、METRICS_BIND_ADDRESSMETRICS_SECURE が更新されたことを示しています。

      # deployments/external-secrets-operator-controller-manager, container manager
      METRICS_BIND_ADDRESS=:8080
      METRICS_SECURE=false
      Copy to Clipboard Toggle word wrap
  2. kubernetes.io/service-account.name アノテーションを使用して Secret リソースを作成し、メトリクスサーバーでの認証に必要なトークンを注入します。

    1. secret-external-secrets-operator.yaml YAML ファイルを作成します。

      apiVersion: v1
      kind: Secret
      metadata:
        labels:
          app: external-secrets-operator
        name: external-secrets-operator-metrics-auth
        namespace: external-secrets-operator
        annotations:
          kubernetes.io/service-account.name: external-secrets-operator-controller-manager
      type: kubernetes.io/service-account-token
      Copy to Clipboard Toggle word wrap
    2. 次のコマンドを実行して、Secret リソースを作成します。

      $ oc apply -f secret-external-secrets-operator.yaml
      Copy to Clipboard Toggle word wrap
  3. メトリクスにアクセスするための権限を付与するために必要な ClusterRoleBinding リソースを作成します。

    1. clusterrolebinding-external-secrets.yaml YAML ファイルを作成します。

      次の例は、cluserrolebinding-external-secrets.yaml ファイルを示しています。

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        labels:
          app: external-secrets-operator
        name: external-secrets-allow-metrics-access
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: external-secrets-operator-metrics-reader
      subjects:
        - kind: ServiceAccount
          name: external-secrets-operator-controller-manager
          namespace: external-secrets-operator
      Copy to Clipboard Toggle word wrap
    2. 次のコマンドを実行して、ClusterRoldeBinding カスタムリソースを作成します。

      $ oc apply -f clusterrolebinding-external-secrets.yaml
      Copy to Clipboard Toggle word wrap
  4. デフォルトの HTTPS を使用する場合は、次の ServiceMonitor CR を作成します。

    1. servicemonitor-external-secrets-operator-https.yaml YAML ファイルを作成します。

      apiVersion: monitoring.coreos.com/v1
      kind: ServiceMonitor
      metadata:
        labels:
          app: external-secrets-operator
        name: external-secrets-operator-metrics-monitor
        namespace: external-secrets-operator
      spec:
        endpoints:
          - authorization:
              credentials:
                name: external-secrets-operator-metrics-auth
                key: token
              type: Bearer
            interval: 60s
            path: /metrics
            port: metrics-https
            scheme: https
            scrapeTimeout: 30s
            tlsConfig:
              ca:
                configMap:
                  name: openshift-service-ca.crt
                  key: service-ca.crt
              serverName: external-secrets-operator-controller-manager-metrics-service.external-secrets-operator.svc.cluster.local
        namespaceSelector:
          matchNames:
            - external-secrets-operator
        selector:
          matchLabels:
            app: external-secrets-operator
            svc: external-secrets-operator-controller-manager-metrics-service
      Copy to Clipboard Toggle word wrap
    2. 次のコマンドを実行して ServiceMonitor CR を作成します。

      $ oc apply -f servicemonitor-external-secrets-operator-https.yaml
      Copy to Clipboard Toggle word wrap
  5. HTTP を使用するように設定した場合は、次の ServiceMonitor CR を作成します。

    1. servicemonitor-external-secrets-operator-http.yaml YAML ファイルを作成します。

      apiVersion: monitoring.coreos.com/v1
      kind: ServiceMonitor
      metadata:
        labels:
          app: external-secrets-operator
        name: external-secrets-operator-metrics-monitor
        namespace: external-secrets-operator
      spec:
        endpoints:
          - authorization:
              credentials:
                name: external-secrets-operator-metrics-auth
                key: token
              type: Bearer
            interval: 60s
            path: /metrics
            port: metrics-http
            scheme: http
            scrapeTimeout: 30s
        namespaceSelector:
          matchNames:
            - external-secrets-operator
        selector:
          matchLabels:
            app: external-secrets-operator
            svc: external-secrets-operator-controller-manager-metrics-service
      Copy to Clipboard Toggle word wrap
    2. 次のコマンドを実行して ServiceMonitor CR を作成します。

      $ oc apply -f servicemonitor-external-secrets-operator-http.yaml
      Copy to Clipboard Toggle word wrap

      ServiceMonitor CR が作成されると、ユーザーワークロードの Prometheus インスタンスが、Operator からのメトリクス収集を開始します。収集されたメトリクスには、job="external-secrets-operator-controller-manager-metrics-service" というラベルが付けられます。

検証

  1. OpenShift Container Platform Web コンソールで、Observe Targets に移動します。
  2. Label フィルターフィールドに次のラベルを入力して、各オペランドのメトリクスターゲットをフィルタリングします。

    $ service=external-secrets-operator-controller-manager-metrics-service
    Copy to Clipboard Toggle word wrap
  3. external-secrets-operatorStatus 列に 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 オブジェクトを作成することで、モニタリングとメトリクスの収集を有効にした。

手順

  1. OpenShift Container Platform Web コンソールで、Observe Metrics に移動します。
  2. クエリーフィールドに次の PromQL 式を入力して、Red Hat OpenShift External Secrets Operator のメトリクスを照会します。

    {job="external-secrets-operator-controller-manager-metrics-service"}
    Copy to Clipboard Toggle word wrap

External Secrets Operator for Red Hat OpenShift オペランドは、3 つのコンポーネントすべて (external-secretsexternal-secrets-cert-controllexternal-secrets-webhook) の /metrics サービスエンドポイントのポート 8080 で、デフォルトでメトリクスを公開します。Prometheus Operator によるカスタムメトリクスの収集を可能にする ServiceMonitor カスタムリソース (CR) を作成することで、external-secrets オペランドのメトリクス収集を設定できます。詳細は、「ユーザーワークロードモニタリングの設定」を参照してください。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • External Secrets Operator for Red Hat OpenShift がインストールされている。
  • ユーザーワークロードモニタリングが有効になっている。

手順

  1. メトリクスにアクセスするための権限を付与するために必要な ClusterRoleBinding リソースを作成します。

    1. clusterrolebinding-external-secrets.yaml YAML ファイルを作成します。

      次の例は、cluserrolebinding-external-secrets.yaml ファイルを示しています。

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        labels:
          app: external-secrets
        name: external-secrets-allow-metrics-access
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: external-secrets-operator-metrics-reader
      subjects:
        - kind: ServiceAccount
          name: external-secrets
          namespace: external-secrets
        - kind: ServiceAccount
          name: external-secrets-cert-controller
          namespace: external-secrets
        - kind: ServiceAccount
          name: external-secrets-webhook
          namespace: external-secrets
      Copy to Clipboard Toggle word wrap
    2. 次のコマンドを実行して、ClusterRoldeBinding カスタムリソースを作成します。

      $ oc apply -f clusterrolebinding-external-secrets.yaml
      Copy to Clipboard Toggle word wrap
  2. ServiceMonitor CR を作成します。

    1. servicemonitor-external-secrets.yaml YAML ファイルを作成します。

      apiVersion: monitoring.coreos.com/v1
      kind: ServiceMonitor
      metadata:
        labels:
          app: external-secrets
        name: external-secrets-metrics-monitor
        namespace: external-secrets
      spec:
        endpoints:
          - interval: 60s
            path: /metrics
            port: metrics
            scheme: http
            scrapeTimeout: 30s
        namespaceSelector:
          matchNames:
            - external-secrets
        selector:
          matchExpressions:
            - key: app.kubernetes.io/name
              operator: In
              values:
                - external-secrets
                - external-secrets-cert-controller
                - external-secrets-webhook
            - key: app.kubernetes.io/instance
              operator: In
              values:
                - external-secrets
            - key: app.kubernetes.io/managed-by
              operator: In
              values:
                - external-secrets-operator
      Copy to Clipboard Toggle word wrap
    2. 次のコマンドを実行して ServiceMonitor CR を作成します。

      $ oc apply -f servicemonitor-external-secrets.yaml
      Copy to Clipboard Toggle word wrap

      ServiceMonitor CR が作成されると、ユーザーワークロードの Prometheus インスタンスが、External Secrets Operator for Red Hat OpenShift オペランドからのメトリクス収集を開始します。収集されたメトリクスには、job="external-secrets"job="external-secrets-cainjector"、および job="external-secrets-webhook" というラベルが付けられます。

検証

  1. OpenShift Container Platform Web コンソールで、Observe Targets に移動します。
  2. Label フィルターフィールドに次のラベルを入力して、各オペランドのメトリクスターゲットをフィルタリングします。

    $ service=external-secrets
    Copy to Clipboard Toggle word wrap
    $ service=external-secrets-cert-controller-metrics
    Copy to Clipboard Toggle word wrap
    $ service=external-secrets-webhook
    Copy to Clipboard Toggle word wrap
  3. external-secretsexternal-secrets-cert-controller、および external-secrets-webhookStatus 列に Up が表示されていることを確認します。

11.6.5. external-secrets オペランドのメトリクスの照会

クラスター管理者、またはすべての namespace に対する表示アクセス権を持つユーザーは、OpenShift Container Platform Web コンソールまたはコマンドラインインターフェイス (CLI) を使用して、external-secrets オペランドのメトリクスを照会できます。詳細は、「メトリクスへのアクセス」を参照してください。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • External Secrets Operator for Red Hat OpenShift がインストールされている。
  • ServiceMonitor オブジェクトを作成することで、モニタリングとメトリクスの収集を有効にした。

手順

  1. OpenShift Container Platform Web コンソールで、Observe Metrics に移動します。
  2. クエリーフィールドに次の PromQL 式を入力して、各オペランドの External Secrets Operator for Red Hat OpenShift オペランドメトリクスを照会します。

    {job="external-secrets"}
    Copy to Clipboard Toggle word wrap
    {job="external-secrets-webhook"}
    Copy to Clipboard Toggle word wrap
    {job="external-secrets-cert-controller-metrics"}
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat