3.3. ターゲット namespace を使用したユーザー定義の AppProject インスタンスの作成および設定
クラスター管理者は、ユーザーが Application リソースを作成、更新、および調整できる特定のコントロールプレーン以外の namespace のセットを定義できます。ターゲット namespace を使用してユーザー定義のクラスタースコープ Argo CD インスタンスを設定した後、openshift-gitops コントロールプレーン namespace にユーザー定義の AppProject インスタンスを作成して設定する必要があります。さらに、ユーザー定義の AppProject インスタンスの .spec.sourceNamespaces フィールドでターゲット namespace を明示的に設定する必要があります。
GitOps コントロールプレーン namespace (openshift-gitops) 内のアプリケーションは、AppProject カスタムリソース (CR) の .spec.sourceNamespaces フィールドによって課される制限に関係なく、任意の AppProject インスタンスを参照するように .spec.project フィールドを設定できます。
前提条件
- 管理者として OpenShift Container Platform クラスターにログインしている。
- OpenShift Container Platform クラスターに Red Hat OpenShift GitOps 1.13.0 以降のバージョンがインストールされている。
手順
openshift-gitopsコントロールプレーン namespace にユーザー定義のAppProjectインスタンスを作成して設定し、.spec.sourceNamespacesフィールドにターゲット namespace を指定します。-
Project リストから
openshift-gitopsプロジェクトを選択します。 -
Web コンソールの Administrator パースペクティブで、Operator
Installed Operator Red Hat OpenShift GitOps をクリックし、AppProject タブに移動します。 Create AppProject をクリックし、YAML ビューに以下の設定を入力します。
ユーザー定義の
AppProjectインスタンスの例kind: AppProject apiVersion: argoproj.io/v1alpha1 metadata: name: project-one1 namespace: openshift-gitops2 spec: sourceNamespaces:3 - dev4 - app-team-*5 destinations:6 - name: '*' namespace: '*' server: '*' sourceRepos:7 - '*'- 1
- ユーザー定義の
AppProjectインスタンスの名前。 - 2
- ユーザー定義の
AppProjectインスタンスを実行するコントロールプレーン namespace。 - 3
Applicationリソースを作成および管理するための非コントロールプレーン namespace のリスト。- 4
Applicationリソースを作成および管理するための Argo CD サーバーのターゲット namespace の名前。- 5
- ワイルドカード (
*) を使用して、Argo CD サーバーがApplicationリソースを作成および管理するためのパターンapp-team-*(app-team-1やapp-team-2など) に一致するターゲット namespace の名前を指定します。 - 6
- ユーザー定義の
AppProjectインスタンス内のアプリケーションをデプロイできるクラスターと namespace への参照。 - 7
- ユーザー定義の
AppProjectインスタンス内のアプリケーションがマニフェストをプルできるリポジトリーへの参照。
Create をクリックします。
AppProjects ページには、作成されたユーザー定義の
AppProjectインスタンスが表示されます。
-
Project リストから