1.2. 가져오기 모델을 위해 모든 네임스페이스에 Argo CD ApplicationSet 리소스 배포 (기술 프리뷰)


Argo CD 풀 모델을 사용하면 허브 클러스터의 모든 네임스페이스에서 ApplicationSet 리소스를 생성할 수 있습니다.

Argo CD ApplicationSet 리소스를 완전히 관리하려면 다음 섹션을 완료합니다.

필수 액세스: 클러스터 관리자

사전 요구 사항

1.2.1. 표준 구성에 대한 ApplicationSet 리소스 배포

RBAC(역할 기반 액세스 제어)에 대한 지원이 제한된 경우 표준 구성에 대한 ApplicationSet 리소스를 배포해야 할 수 있습니다.

간단한 RBAC 관리를 위해 표준 구성을 위해 ApplicationSet 리소스를 배포하여 다음과 같은 이점을 얻을 수 있습니다.

  • 네임스페이스는 GitHub 리포지토리 리소스에 지정되지 않습니다.
  • 워크로드 네임스페이스의 대상은 애플리케이션 템플릿에 지정됩니다.
  • ApplicationSet 리소스는 기본 AppProject 리소스를 사용합니다.

표준 구성에 대한 ApplicationSet 리소스를 배포하려면 다음 단계를 완료합니다.

  1. openshift-gitops 네임스페이스에서 배치 리소스를 생성합니다.
  2. 다음 YAML 파일 샘플을 추가하여 기본 AppProject 리소스를 사용하여 appset-2 네임스페이스에 ApplicationSet 리소스를 생성합니다.

    apiVersion: v1
    kind: Namespace
    metadata:
      annotations:
      name: appset-2
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 YAML 파일 샘플을 적용합니다.

    oc apply -f namespace-example.yaml
    Copy to Clipboard Toggle word wrap
  4. 다음 YAML 파일 샘플을 추가하여 기본 AppProject 리소스를 사용하여 appset-2 네임스페이스에 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: {}
    Copy to Clipboard Toggle word wrap
  5. 다음 명령을 실행하여 YAML 파일 샘플을 적용합니다.

    oc apply -f applicationset-example.yaml
    Copy to Clipboard Toggle word wrap
    • ApplicationSet 리소스는 허브 클러스터의 appset-2 네임스페이스에서 생성됩니다.
    • 애플리케이션 리소스는 관리 클러스터의 appset-2 네임스페이스에 배포됩니다.
    • 애플리케이션 리소스는 워크로드를 관리 클러스터의 Helloworld 네임스페이스에 배포합니다.
    • 기본 Argo CD AppProject 리소스 구성이 적용됨
    • GitHub 리포지토리의 지정된 경로에 정의된 모든 애플리케이션 리소스는 네임스페이스에 한정되지 않습니다.

1.2.2. 고급 구성을 위한 ApplicationSet 리소스 배포

RBAC(역할 기반 액세스 제어)를 지원하는 경우 고급 구성을 위해 ApplicationSet 리소스를 배포하는 옵션이 있습니다.

더 많은 RBAC 관리를 사용하여 고급 구성을 위해 ApplicationSet 리소스를 배포하여 다음과 같은 이점을 얻을 수 있습니다.

  • GitHub 리포지토리 리소스에 지정된 애플리케이션 리소스 워크로드 네임스페이스입니다.
  • ApplicationSet 리소스에 지정된 워크로드 네임스페이스의 대상은 GitHub 리포지토리와 일치합니다.
  • ApplicationSet 리소스는 RBAC 제어에 사용자 지정 Argo CD AppProject 리소스를 사용합니다.

고급 구성을 위해 ApplicationSet 리소스를 배포하려면 다음 단계를 완료합니다.

  1. openshift-gitops 네임스페이스에서 배치 리소스를 생성합니다.
  2. 다음 YAML 파일 샘플을 추가하여 사용자 지정 bgdk AppProject 리소스를 사용하여 bgdk 네임스페이스에 ApplicationSet 리소스를 만듭니다.

    apiVersion: v1
    kind: Namespace
    metadata:
      annotations:
      name: bgdk
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 YAML 파일 샘플을 적용합니다.

    oc apply -f namespace-example.yaml
    Copy to Clipboard Toggle word wrap
  4. 다음 YAML 파일 샘플을 추가하여 OpenShift GitOps 네임스페이스에서 bgdk AppProject 리소스 구성을 설정합니다.

    apiVersion: argoproj.io/v1alpha1
    kind: AppProject
    metadata:
      name: bgdk
      namespace: openshift-gitops
    spec:
      sourceNamespaces:
      - bgdk
      sourceRepos:
      - https://github.com/redhat-developer-demos/openshift-gitops-examples.git
      destinations:
      - namespace: bgdk
        server: https://kubernetes.default.svc
      clusterResourceWhitelist:
      - group: ''
        kind: Namespace
    Copy to Clipboard Toggle word wrap
    • sourceNamespaces애플리케이션 자체를 생성하는 네임스페이스입니다.
    • sourceRepos애플리케이션 템플릿이 사용하는 리포지토리입니다.
    • 대상 은 애플리케이션이 워크로드를 배포하는 네임스페이스입니다.
    • clusterResourceWhitelist 는 애플리케이션에서 배포할 수 있는 클러스터 범위 리소스 목록입니다. 이 시나리오에서는 애플리케이션에서 새 네임스페이스를 생성해야 하므로 네임스페이스 종류는 필수입니다.
  5. 다음 명령을 실행하여 YAML 파일 샘플을 적용합니다.

    oc apply -f appproject-example.yaml
    Copy to Clipboard Toggle word wrap
  6. 다음 YAML 파일 샘플을 추가하여 사용자 지정 Argo CD AppProject 리소스 구성을 ApplicationSet 리소스에 적용합니다.

    apiVersion: argoproj.io/v1alpha1
    kind: ApplicationSet
    metadata:
      name: bgdk-2
      namespace: bgdk
    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}}-bgdk'
        spec:
          destination:
            namespace: bgdk
            server: https://kubernetes.default.svc
          project: bgdk
          source:
            path: apps/bgd/overlays/bgdk
            repoURL: https://github.com/redhat-developer-demos/openshift-gitops-examples.git
            targetRevision: HEAD
          syncPolicy:
            automated: {}
    Copy to Clipboard Toggle word wrap
  7. 다음 명령을 실행하여 YAML 파일 샘플을 적용합니다.

    oc apply -f applicationset-example.yaml
    Copy to Clipboard Toggle word wrap

추가 리소스

ArgoCD ApplicationSet 에 대한 자세한 내용은 다음 리소스를 참조하십시오.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat