Argo CD アプリケーションセット
コントロールプレーン以外の namespace でのアプリケーションセットリソースの管理
概要
第1章 コントロールプレーン以外の namespace でのアプリケーションセットリソースの管理 リンクのコピーリンクがクリップボードにコピーされました!
コントロールプレーン以外の namespace の Argo CD アプリケーションセットは、テクノロジープレビュー機能としてのみご利用いただけます。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではない場合があります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
アプリケーションセットを使用すると、単一のモノリポジトリーから複数のクラスターへの複数の Argo CD アプリケーションのデプロイメントを、より柔軟に、宣言的に自動化および管理できます。
Red Hat OpenShift GitOps 1.12 以降では、要件に応じて ArgoCD および ApplicationSet カスタムリソース (CR) を明示的に有効化および設定することで、コントロールプレーン以外の namespace で ApplicationSet リソースを管理できます。この機能は、分離されたチーム向けに Argo CD アプリケーションのデプロイメントを管理するマルチテナント環境で特に役立ちます。
生成された Argo CD アプリケーションは、コントロールプレーン以外の任意の namespace にリソースを作成できます。ただし、アプリケーション自体は、アプリケーションセットリソースと同じ namespace に存在します。
1.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- クラスタースコープの Argo CD インスタンス がある。
-
非コントロールプレーン namespace のアプリケーションリソースを管理するために、
ArgoCDCR でターゲット namespace を を明示的に有効化および設定 している。
1.2. コントロールプレーン以外の namespace でアプリケーションセットリソースの有効化 リンクのコピーリンクがクリップボードにコピーされました!
Argo CD 管理者は、ユーザーが ApplicationSet リソースを作成、更新、調整できる、コントロールプレーン以外の namespace の特定のセットを定義できます。要件に応じて、ArgoCD および ApplicationSet カスタムリソース (CR) を明示的に有効化して設定する必要があります。
手順
コントロールプレーン以外の namespace を含めるには、
applicationSet仕様のsourceNamespacesパラメーターを設定します。Argo CD カスタムリソースの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記現時点では、
.spec.applicationSet.sourceNamespacesフィールドではワイルドカード (*) の使用はサポートされていません。次のロールベースのアクセス制御 (RBAC) リソースが GitOps Operator により作成または変更されていることを確認します。
Expand Name Kind 目的 <argocd_name>-<argocd_namespace>-argocd-applicationset-controllerClusterRoleおよびClusterRoleBindingArgo CD ApplicationSet Controller がクラスターレベルで
ApplicationSetリソースを監視してリスト表示する<argocd_name>-<argocd_namespace>-applicationsetRoleおよびRoleBindingArgo CD ApplicationSet Controller がターゲット namespace の
ApplicationSetリソースを管理する<argocd_name>-<target_namespace>RoleおよびRoleBindingArgo CD サーバーが UI、API、または CLI を介してターゲット namespace の
ApplicationSetリソースを管理する注記Operator は、
argocd.argoproj.io/applicationset-managed-by-cluster-argocdラベルをターゲット namespace に追加します。
1.3. ソースコードマネージャープロバイダーの許可 リンクのコピーリンクがクリップボードにコピーされました!
このセクションを注意深くお読みください。誤った設定は潜在的なセキュリティー問題を引き起こす可能性があります。
コントロールプレーン以外の namespace で ApplicationSet リソースを許可すると、Source Code Manager (SCM) Provider または Pull Request (PR) ジェネレーターの悪意のある API エンドポイントを通じてシークレットが流出する可能性があります。機密情報への不正アクセスを防ぐため、Operator は予防措置として SCM プロバイダーと PR ジェネレーターをデフォルトで無効にします。
手順
SCM Provider と PR ジェネレーターを使用するには、許可される SCM Provider のリストを明示的に定義します。
Argo CD カスタムリソースの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 許可された SCM Provider の URL のリスト。
許可された SCM Provider のリストにない URL を使用すると、Argo CD ApplicationSet コントローラーはそれを拒否します。