第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 がインストールされている。
手順
-
Web コンソールの Administrator パースペクティブで、Administration
CustomResourceDefinitions に移動します。 -
Subscriptionを検索し、Subscription CRD をクリックします。 - Instances タブをクリックし、openshift-gitops-operator サブスクリプションをクリックします。
YAML タブをクリックし、YAML ファイルを編集します。
.spec.config.envプロパティーで値をtrueに設定して、NAMESPACE_SCOPED_ARGO_ROLLOUTS環境変数を指定します。namespace スコープの Argo Rollouts のインストール設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 値を
'true'に設定すると、namespace スコープのインストールが有効になります。値が'false'に設定されているか指定されていない場合、インストールはデフォルトでクラスタースコープモードになります。
Save をクリックします。
Red Hat OpenShift GitOps Operator は、namespace スコープのインストール内での Argo Rollouts カスタムリソースの調整を容易にします。
GitOps コンテナーのログを表示して、Red Hat OpenShift GitOps Operator が namespace スコープの Argo Rollouts インストールを有効にしたことを確認します。
-
Web コンソールの Administrator パースペクティブで、Workloads
Pods に移動します。 - openshift-gitops-operator-controller-manager Pod をクリックし、Logs タブをクリックします。
-
Running in namespaced-scoped modeのログステートメントを探します。このステートメントは、Red Hat OpenShift GitOps Operator が namespace スコープの Argo Rollouts インストールを有効にしたことを示します。
-
Web コンソールの Administrator パースペクティブで、Workloads
RolloutManagerリソースを作成して、namespace スコープの Argo Rollouts のインストールを完了します。-
Operator
Installed Operator Red Hat OpenShift GitOps に移動し、RolloutManager タブをクリックします。 - Create RolloutManager を作成します。
YAML view を選択し、以下のスニペットを入力します。
namespace スコープの Argo Rollouts インストール用の
RolloutManagerCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- namespace スコープの Argo Rollouts インスタンスをインストールするプロジェクトの名前を指定します。
Create をクリックします。
RolloutManagerCR が作成されると、Red Hat OpenShift GitOps は namespace スコープの Argo Rollouts インスタンスを選択した名前空間にインストールします。
-
Operator
namespace スコープのインストールが成功していることを確認します。
-
RolloutManager タブの RolloutManagers セクションで、
RolloutManagerインスタンスの Status フィールドがPhase: Availableであることを確認します。 RolloutManagers セクションの YAML タブで以下の出力を確認して、インストールが正常に行われていることを確認します。
namespace スコープの Argo Rollouts インストール YAML ファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- このステータスは、namespace スコープの Argo Rollouts インストールが正常に有効化されていることを示します。
クラスター上にクラスタースコープのインストールがすでに存在する場合に、namespace 固有の Argo Rollouts インスタンスをインストールしようとすると、次のエラーメッセージが表示されます。
エラーメッセージが表示される誤ったインストールの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- このステータスは、namespace スコープの Argo Rollouts のインストールが正常に有効になっていないことを示します。インストールのデフォルトは cluster-scoped モードです。
-
RolloutManager タブの RolloutManagers セクションで、