1.15. Red Hat OpenShift GitOps を使用した respectRBAC の設定


Argo CD の respectRBAC 機能は、Argo CD がクラスター上のリソースを監視する方法を制御します。デフォルトでは、Argo CD はクラスタースコープでクラスター上のすべての Kubernetes リソース (CRD) を監視しようとします。respectRBAC 機能を使用すると、リソースの除外を手動で設定することなく、コントローラー RBAC のみを使用して ArgoCD コントローラーによる特定のリソースの検出や同期を制限できます。

この機能を有効にするには、Argo CD リソースで .spec.controller.respectRBAC キーを設定します。このキーを設定すると、コントローラーはリストまたはアクセスできないリソースの監視を自動的に停止します。たとえば、こうすることで、Argo CD クラスターロールにより、Argo CD が OpenShift Routes を監視できなくなるといった状況が回避されます。監視できなくなると、同期中にリソースの監視ができない旨のエラーが発生してしまいます。

コマンドラインインターフェイス (CLI) または Web コンソールを使用して Argo CD インスタンスを作成し、respectRBAC 機能を有効にできます。

前提条件

Subscription リソースで namespace を作成して更新していることを確認し、Subscription がクラスタースコープの Argo CD インスタンスをホストできるようにします。詳細は、「Argo CD インスタンスを使用してクラスタースコープのリソースの管理」を参照してください。

1.15.1. CLI を使用した respectRBAC の設定

CLI を使用して respectRBAC 機能を設定できます。

手順

  1. respectRBAC 機能を設定するには、YAML オブジェクトファイル (例: argo-cd-resource.yaml) を作成します。

    respectRBAC を作成するための ArgoCD YAML の例

    apiVersion: argoproj.io/v1beta1
    kind: ArgoCD
    metadata:
      name: example-argocd 
    1
    
    spec:
      controller:
        respectRBAC: strict 
    2
    Copy to Clipboard Toggle word wrap

    1
    Argo CD インスタンスの名前を指定します。
    2
    ArgoCD リソースの .spec.controller.respectRBAC キーの値を normal または strict として指定できます。リソースの表示は軽量な操作であるため、精度と速度のバランスをとるために値を normal に設定することを検討してください。値を normal に設定したときに、Argo CD がリソースにアクセスできないことを示すエラーを報告する場合は、値を strict に設定します。strict に設定すると、サーバーへの API 呼び出しの数が増え、Argo CD が RBAC リソースの追加検証を実行して権限を決定するため、normal よりも正確になります。
  2. 次のコマンドを実行して、YAML ファイルに変更を適用します。

    $ oc apply -f argocd-resource.yaml -n argo-cd-instance 
    1
    Copy to Clipboard Toggle word wrap
    1
    ArgoCD リソースを含む YAML ファイルの名前と、ArgoCD をホストする namespace を指定します。
  3. 次のコマンドを実行して、.status.phase フィールドのステータスが Available であることを確認します。

    $ oc get argocd <argocd_instance_name> -n <argocd_namespace> -o jsonpath='{.status.phase}' 
    1
    Copy to Clipboard Toggle word wrap
    1
    <argocd_instance_name> は、Argo CD インスタンスの名前に置き換えます (例: example-argocd)。
  4. ConfigMap リソースの resource.respectRBAC パラメーターが正常に更新されていることを確認します。

    1. argocd-cm config map の内容を取得するには、次のコマンドを実行します。

      $ oc get cm argocd-cm -n <argocd_namespace> -o yaml
      Copy to Clipboard Toggle word wrap
    2. argocd-cm ConfigMapresource.respectRBAC パラメーターが含まれていることを確認し、その値が strict または normal に設定されていることを確認します。

1.15.2. Web コンソールを使用した respectRBAC の設定

Web コンソールで respectRBAC を設定できます。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. Web コンソールの Administrator パースペクティブで、Operators Installed Operators の順にクリックします。
  3. Project リストからユーザー定義の Argo CD インスタンスをインストールするプロジェクトを作成または選択します。
  4. インストールされている Operators リストから Red Hat OpenShift GitOps を選択し、Argo CD タブをクリックします。
  5. Argo CD タブで respectRBAC パラメーターを設定します。

    spec:
      controller:
        respectRBAC: strict
    Copy to Clipboard Toggle word wrap
  6. Create をクリックします。

    インストールが正常に完了したら、Argo CD インスタンスが Argo CD タブに一覧表示され、StatusAvailable であることを確認します。

  7. Argo CD インスタンスの作成後、次の手順を実行して、ConfigMap リソースの resource.respectRBAC パラメーターが正常に更新されていることを確認します。

    1. Administrator パースペクティブで、Workload ConfigMaps に移動します。
    2. Project オプションで、Argo CD namespace を選択します。
    3. argocd-cm config map を選択します。
    4. YAML タブを選択して、resource.respectRBAC パラメーターを表示します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat