1.2. プルモデル用の任意の namespace に Argo CD ApplicationSet リソースをデプロイする (テクノロジープレビュー)
Argo CD プルモデルを使用すると、ハブクラスターの任意の namespace に ApplicationSet リソースを作成できます。
Argo CD ApplicationSet リソースを完全に管理するには、次のセクションを完了します。
必要なアクセス権: クラスター管理者
前提条件
- マネージドクラスターを登録する手順を完了します。手順については、マネージドクラスターを Red Hat OpenShift GitOps Operator に登録する を参照してください。
-
任意のカスタム namespace で
ApplicationSetおよびApplicationリソースを有効にするための手順を完了します。手順については、任意の namespace で ApplicationSet リソースを有効にする を参照してください。
1.2.1. 標準設定の ApplicationSet リソースをデプロイする リンクのコピーリンクがクリップボードにコピーされました!
ロールベースのアクセス制御 (RBAC) のサポートが制限されている場合は、標準設定の ApplicationSet リソースをデプロイすることを推奨します。
シンプルな RBAC 管理のために、標準設定の ApplicationSet リソースをデプロイすると、次の利点が得られます。
- namespace は GitHub リポジトリーリソースで指定されません。
-
ワークロード namespace の宛先は、
Applicationテンプレートで指定されます。 -
ApplicationSetリソースは、デフォルトのAppProjectリソースを使用します。
標準設定の ApplicationSet リソースをデプロイするには、次の手順を実行します。
-
openshift-gitopsnamespace で、Placementリソースを作成します。 次の YAML ファイルサンプルを追加し、デフォルトの
AppProjectリソースを使用して、appset-2namespace にApplicationSetリソースを作成します。apiVersion: v1 kind: Namespace metadata: annotations: name: appset-2次のコマンドを実行して、YAML ファイルサンプルを適用します。
oc apply -f namespace-example.yaml次の YAML ファイルサンプルを追加し、デフォルトの
AppProjectリソースを使用して、appset-2namespace にApplicationSetリソースを作成します。apiVersion: argoproj.io/v1alpha1 kind: ApplicationSet metadata: name: helloworld namespace: appset-2 spec: generators: - clusterDecisionResource: configMapRef: acm-placement labelSelector: matchLabels: cluster.open-cluster-management.io/placement: all-openshift-clusters requeueAfterSeconds: 30 template: metadata: annotations: apps.open-cluster-management.io/ocm-managed-cluster: '{{name}}' argocd.argoproj.io/skip-reconcile: "true" labels: apps.open-cluster-management.io/pull-to-ocm-managed-cluster: "true" name: '{{name}}-helloworld' spec: destination: namespace: helloworld server: https://kubernetes.default.svc project: default source: path: helloworld repoURL: https://github.com/stolostron/application-samples.git targetRevision: HEAD syncPolicy: automated: {}次のコマンドを実行して、YAML ファイルサンプルを適用します。
oc apply -f applicationset-example.yaml-
ApplicationSetリソースは、ハブクラスターのappset-2namespace に作成されます。 -
Applicationリソースは、マネージドクラスターのappset-2namespace にデプロイされます。 -
Applicationリソースは、マネージドクラスター上のHelloworldnamespace にワークロードをデプロイします。 -
デフォルトの Argo CD
AppProjectリソース設定が適用されます。 -
GitHub リポジトリーの指定されたパスで定義されているすべての
Applicationリソースは、namespace 固有ではありません。
-