2.2.3. Argo CD インスタンスのメトリクスの自動スクレイピングを無効にする
デフォルトでは、Red Hat OpenShift GitOps Operator は、すべての Argo CD インスタンスのメトリクスを自動的に収集してパフォーマンスを測定します。その結果、Operator は、Argo CD インスタンスがインストールされている namespace に次のリソースとラベルを作成します。
-
gitops-operator-argocd-alertsPrometheus ルール -
<argocd_namespace>-readロール -
<argocd_name>、<argocd_name>-repo-server、および<argocd_name>-serverサービスモニター -
<argocd_namespace>-prometheus-k8s-read-bindingロールバインディング -
openshift.io/cluster-monitoring=trueラベル
クラスター内の複数の Argo CD インスタンスのメトリクスをスクレイピングすると、ストレージの使用量が過剰になる可能性があります。予防策として、Web コンソールの YAML ビューを使用して ArgoCD カスタムリソース (CR) を設定し、Argo CD インスタンスのメトリクスの自動スクレイピングを無効にします。
クラスター管理者は、個々のインスタンスのメトリクススクレイピングを無効にすることで、定義された namespace を管理するための制御性、柔軟性、安定性をユーザーに提供できます。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Web コンソールの Administrator パースペクティブで、Operators
Installed Operators の順にクリックします。 - Project リストから、ユーザー定義の Argo CD インスタンスがインストールされているプロジェクトを選択します。
- インストールされた Operator のリストから Red Hat OpenShift GitOps を選択し、Argo CD タブに移動します。
- ユーザー定義の Argo CD インスタンスをクリックします。
ユーザー定義の Argo CD インスタンスの
ArgoCDCR を設定して、メトリクスの自動スクレイピングを無効にします。-
YAML タブをクリックし、
ArgoCDCR の YAML ファイルを編集します。 ArgoCDCR で、spec.monitoring.disableMetricsフィールドの値をtrueに設定します。ArgoCDCR の例apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example1 namespace: spring-petclinic2 spec: monitoring: disableMetrics: true- 1
- ユーザー定義の Argo CD インスタンスの名前。
- 2
- ユーザー定義の Argo CD インスタンスを実行する namespace。ヒント
または、Red Hat OpenShift GitOps
argocdCLI でメトリクスの自動スクレイピングを無効にするには、次のコマンドを使用します。コマンドの例
$ oc patch argocd example -n spring-petclinic --type='json' -p='[{"op": "replace", "path": "/spec/monitoring/disableMetrics", "value": true}]'出力例
argocd.argoproj.io/example patched
-
YAML タブをクリックし、
Operator が定義した namespace に
openshift.io/cluster-monitoring=falseラベルを追加したことを確認します。Administration
Namespaces に移動します。 Namespaces ページには、作成された namespace が表示されます。
-
定義した namespace をクリックし、YAML タブに移動して、
metadata.labelsセクションの下に、Operator によってopenshift.io/cluster-monitoring=falseラベルが追加されていることを確認します。
Operator が定義した namespace から次のリソースを削除することを確認します。
-
Home
Search に移動します。 Resources リストから、PrometheusRule、Role、RoleBinding、ServiceMonitors を選択します。
Search ページには選択したリソースが表示されます。
-
Search ページで、PrometheusRule セクションで、
gitops-operator-argocd-alertsprometheus ルールが削除されていることを確認します。 - Roles セクションの Filter リストから、Namespace Roles を選択します。
-
<argocd_namespace>-readロールが削除されていることを確認します。 - RoleBindings セクションの Filter リストから、Namespace RoleBindings を選択します。
-
<argocd_namespace>-prometheus-k8s-read-bindingロールバインディングが削除されていることを確認します。 -
ServiceMonitors セクションで、
<argocd_name>、<argocd_name>-repo-server、および<argocd_name>-serverサービスモニターが削除されていることを確認します。
-
Home
spec.monitoring.disableMetrics フィールドの値を false に変更することで、インスタンスのメトリクスを有効にできます。次に、Operator は必要なロール、ロールバインディング、およびサービスモニターを作成し、定義された namespace に openshift.io/cluster-monitoring=true ラベルを追加します。