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-one 1 namespace: openshift-gitops 2 spec: sourceNamespaces: 3 - dev 4 - 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 リストから