1.2. プルモデル用の任意の名前空間に Argo CD ApplicationSet リソースをデプロイする (テクノロジープレビュー)
Argo CD プルモデルを使用すると、ハブクラスターの任意の名前空間に ApplicationSet リソースを作成できます。
Argo CD ApplicationSet リソースを完全に管理するには、次のセクションを完了します。
必要なアクセス権: クラスター管理者
前提条件
- 管理対象クラスターを登録する手順を完了します。手順については、マネージドクラスターを Red Hat OpenShift GitOps オペレーターに登録するを 参照してください。
-
任意のカスタム名前空間で
ApplicationSetおよびApplicationリソースを有効にするための手順を完了します。手順については、任意の名前空間で ApplicationSet リソースを有効にする を参照してください。
1.2.1. 標準設定の ApplicationSet リソースの展開 リンクのコピーリンクがクリップボードにコピーされました!
ロールベースのアクセス制御 (RBAC) のサポートが制限されている場合は、標準設定の ApplicationSet リソースを展開することを推奨します。
シンプルな RBAC 管理のために、標準設定の ApplicationSet リソースを展開すると、次の利点が得られます。
- GitHub リポジトリーリソースでは名前空間が指定されていません。
-
ワークロード名前空間の宛先は、
アプリケーションテンプレートで指定されます。 -
ApplicationSetリソースは、デフォルトのAppProjectリソースを使用します。
標準設定の ApplicationSet リソースを展開するには、次の手順を実行します。
-
openshift-gitops名前空間で、Placementリソースを作成します。 次の YAML ファイルサンプルを追加して、デフォルトの
AppProjectリソースを使用して、appset-2名前空間にApplicationSetリソースを作成します。apiVersion: v1 kind: Namespace metadata: annotations: name: appset-2
apiVersion: v1 kind: Namespace metadata: annotations: name: appset-2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、YAML ファイルサンプルを適用します。
oc apply -f namespace-example.yaml
oc apply -f namespace-example.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次の YAML ファイルサンプルを追加して、デフォルトの
AppProjectリソースを使用して、appset-2名前空間にApplicationSetリソースを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、YAML ファイルサンプルを適用します。
oc apply -f applicationset-example.yaml
oc apply -f applicationset-example.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ApplicationSetリソースは、ハブクラスターのappset-2名前空間に作成されます。 -
アプリケーションリソースは、管理対象クラスターのappset-2名前空間にデプロイされます。 -
アプリケーションリソースは、マネージドクラスター上のHelloworld名前空間にワークロードをデプロイします。 -
デフォルトの Argo CD
AppProjectリソース設定が適用されます -
GitHub リポジトリーの指定されたパスで定義されているすべての
アプリケーションリソースは、名前空間固有ではありません。
-
1.2.2. 高度な設定のための ApplicationSet リソースの展開 リンクのコピーリンクがクリップボードにコピーされました!
ロールベースのアクセス制御 (RBAC) をサポートしている場合は、高度な設定のために ApplicationSet リソースを展開するオプションがあります。
より高度な RBAC 管理を備えた高度な設定のために ApplicationSet リソースを展開すると、次のような利点が得られます。
-
GitHub リポジトリーリソースで指定された
アプリケーションリソースのワークロード名前空間。 -
ApplicationSetリソースで指定されているワークロード名前空間の宛先は、GitHub リポジトリーと一致します。 -
ApplicationSetリソースは、RBAC 制御にカスタム Argo CDAppProjectリソースを使用します。
高度な設定の ApplicationSet リソースを展開するには、次の手順を実行します。
-
openshift-gitops名前空間で、Placementリソースを作成します。 次の YAML ファイルサンプルを追加して、カスタム
bgdkAppProjectリソースを使用してbgdk名前空間にApplicationSetリソースを作成します。apiVersion: v1 kind: Namespace metadata: annotations: name: bgdk
apiVersion: v1 kind: Namespace metadata: annotations: name: bgdkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、YAML ファイルサンプルを適用します。
oc apply -f namespace-example.yaml
oc apply -f namespace-example.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次の YAML ファイルサンプルを追加して、OpenShift GitOps 名前空間に
bgdkAppProjectリソース設定を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
sourceNamespacesは、アプリケーション自体が作成される名前空間です。 -
sourceRepos は、アプリケーションテンプレートが使用するリポジトリーです。 -
destinations は、アプリケーションがワークロードをデプロイする名前空間です。 -
clusterResourceWhitelistは、アプリケーションがデプロイできるクラスタースコープのリソースリストです。このシナリオでは、アプリケーションが新しい名前空間を作成する必要があるため、この名前空間の種類は必須です。
-
次のコマンドを実行して、YAML ファイルサンプルを適用します。
oc apply -f appproject-example.yaml
oc apply -f appproject-example.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次の YAML ファイルサンプルを追加して、カスタマイズされた Argo CD
AppProjectリソース設定をApplicationSetリソースに適用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、YAML ファイルサンプルを適用します。
oc apply -f applicationset-example.yaml
oc apply -f applicationset-example.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
ArgoCD ApplicationSet の詳細は、次のリソースを参照してください。