第5章 namespace スコープの Argo Rollouts インストールサポートの有効化


Red Hat OpenShift GitOps では、Argo Rollouts インストールの 2 つのモードがサポートされます。

  • クラスタースコープのインストール (デフォルト): 任意の namespace で定義された Argo Rollouts カスタムリソース (CR) は、Argo Rollouts インスタンスによって調整されます。その結果、クラスター上の任意の namespace で Argo Rollouts CR を使用できます。
  • namespace スコープのインストール: Argo Rollouts インスタンスは特定の namespace にインストールされ、同じ namespace 内の Argo Rollouts CR のみを処理します。このインストールモードには、以下の利点があります。

    • このモードでは、クラスター全体の ClusterRole または ClusterRoleBinding パーミッションは必要ありません。クラスター権限を必要とせずに、単一の namespace 内で Argo Rollouts をインストールして使用できます。
    • このモードでは、単一の Argo Rollouts インスタンスのクラスタースコープを特定の namespace に制限することで、セキュリティー上の利点があります。
注記

意図しない権限昇格を防ぐため、Red Hat OpenShift GitOps では、Argo Rollout のインストールは、一度に 1 つのモードでのみ利用できます。

クラスタースコープと namespace スコープの Argo Rollouts インストールを切り替えるには、次の手順を実行します。

5.1. namespace スコープの Argo Rollouts インストールの設定

Argo Rollouts インストールの namespace スコープのインスタンスを設定するには、次の手順を実行します。

前提条件

  • Red Hat OpenShift GitOps クラスターに管理者としてログインしている。
  • Red Hat OpenShift GitOps クラスターに Red Hat OpenShift GitOps がインストールされている。

手順

  1. Web コンソールの Administrator パースペクティブで、Administration CustomResourceDefinitions に移動します。
  2. Subscription を検索し、Subscription CRD をクリックします。
  3. Instances タブをクリックし、openshift-gitops-operator サブスクリプションをクリックします。
  4. YAML タブをクリックし、YAML ファイルを編集します。

    1. .spec.config.env プロパティーで値を true に設定して、NAMESPACE_SCOPED_ARGO_ROLLOUTS 環境変数を指定します。

      namespace スコープの Argo Rollouts のインストール設定の例

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: openshift-gitops-operator
      spec:
        # (...)
        config:
          env:
            - name: NAMESPACE_SCOPED_ARGO_ROLLOUTS
              value: 'true' 
      1
      Copy to Clipboard Toggle word wrap

      1
      値を 'true' に設定すると、namespace スコープのインストールが有効になります。値が 'false' に設定されているか指定されていない場合、インストールはデフォルトでクラスタースコープモードになります。
    2. Save をクリックします。

      Red Hat OpenShift GitOps Operator は、namespace スコープのインストール内での Argo Rollouts カスタムリソースの調整を容易にします。

  5. GitOps コンテナーのログを表示して、Red Hat OpenShift GitOps Operator が namespace スコープの Argo Rollouts インストールを有効にしたことを確認します。

    1. Web コンソールの Administrator パースペクティブで、Workloads Pods に移動します。
    2. openshift-gitops-operator-controller-manager Pod をクリックし、Logs タブをクリックします。
    3. Running in namespaced-scoped mode のログステートメントを探します。このステートメントは、Red Hat OpenShift GitOps Operator が namespace スコープの Argo Rollouts インストールを有効にしたことを示します。
  6. RolloutManager リソースを作成して、namespace スコープの Argo Rollouts のインストールを完了します。

    1. Operator Installed Operator Red Hat OpenShift GitOps に移動し、RolloutManager タブをクリックします。
    2. Create RolloutManager を作成します。
    3. YAML view を選択し、以下のスニペットを入力します。

      namespace スコープの Argo Rollouts インストール用の RolloutManager CR の例

      apiVersion: argoproj.io/v1alpha1
      kind: RolloutManager
      metadata:
        name: rollout-manager
        namespace: my-application 
      1
      
      spec:
        namespaceScoped: true
      Copy to Clipboard Toggle word wrap

      1
      namespace スコープの Argo Rollouts インスタンスをインストールするプロジェクトの名前を指定します。
    4. Create をクリックします。

      RolloutManager CR が作成されると、Red Hat OpenShift GitOps は namespace スコープの Argo Rollouts インスタンスを選択した名前空間にインストールします。

  7. namespace スコープのインストールが成功していることを確認します。

    1. RolloutManager タブの RolloutManagers セクションで、RolloutManager インスタンスの Status フィールドが Phase: Available であることを確認します。
    2. RolloutManagers セクションの YAML タブで以下の出力を確認して、インストールが正常に行われていることを確認します。

      namespace スコープの Argo Rollouts インストール YAML ファイルの例

      spec:
        namespaceScoped: true
      status:
        conditions:
          lastTransitionTime: '2024-07-10T14:20:5z`
          message: ''
          reason: Success
          status: 'True' 
      1
      
          type: 'Reconciled'
        phase: Available
        rolloutController: Available
      Copy to Clipboard Toggle word wrap

      1
      このステータスは、namespace スコープの Argo Rollouts インストールが正常に有効化されていることを示します。

      クラスター上にクラスタースコープのインストールがすでに存在する場合に、namespace 固有の Argo Rollouts インスタンスをインストールしようとすると、次のエラーメッセージが表示されます。

      エラーメッセージが表示される誤ったインストールの例

      spec:
        namespaceScoped: true
      status:
        conditions:
         lastTransitionTime: '2024-07-10T14:10:7z`
         message: 'when Subscription has environment variable NAMESPACE_SCOPED_ARGO_ROLLOUTS set to False, there may not exist any namespace-scoped RolloutManagers: only a single cluster-scoped RolloutManager is supported'
         reason: InvalidRolloutManagerScope
         status: 'False' 
      1
      
         type: 'Reconciled'
        phase: Failure
        rolloutController: Failure
      Copy to Clipboard Toggle word wrap

      1
      このステータスは、namespace スコープの Argo Rollouts のインストールが正常に有効になっていないことを示します。インストールのデフォルトは cluster-scoped モードです。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat