Argo CD 애플리케이션 세트


Red Hat OpenShift GitOps 1.17

컨트롤 플레인이 아닌 네임스페이스에서 애플리케이션 세트 리소스 관리

Red Hat OpenShift Documentation Team

초록

이 문서에서는 컨트롤 플레인이 아닌 네임스페이스에서 애플리케이션 세트 리소스를 활성화하고 관리하는 방법에 대한 정보를 제공합니다.

중요

비컨트롤 플레인 네임스페이스에 있는 Argo CD 애플리케이션 세트는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

애플리케이션 세트를 사용하면 유연성 향상을 통해 단일 mono-repository에서 여러 클러스터로 선언적으로 여러 Argo CD 애플리케이션 배포를 자동화하고 관리할 수 있습니다.

Red Hat OpenShift GitOps 1.12 이상에서는 요구 사항에 따라 ArgoCDApplicationSet CR(사용자 정의 리소스)을 명시적으로 활성화하고 구성하여 openshift-gitops 컨트롤 플레인 네임스페이스 이외의 비컨트롤 플레인 네임스페이스에서 ApplicationSet 리소스를 생성하고 관리할 수 있습니다. 이 기능은 격리된 팀에 대한 Argo CD 애플리케이션 배포를 관리하려는 경우 멀티 테넌시 환경에서 특히 유용합니다. 이 기능을 Argo CD 오픈 소스 프로젝트의 모든 네임스페이스에서 ApplicationSet 이라고 합니다.

참고

생성된 Argo CD 애플리케이션은 컨트롤 플레인이 아닌 네임스페이스에서 리소스를 생성할 수 있습니다. 그러나 애플리케이션 자체는 애플리케이션 세트 리소스와 동일한 네임스페이스에 있습니다.

1.1. 사전 요구 사항

클러스터 관리자는 사용자가 ApplicationSet 리소스를 생성, 업데이트 및 조정할 수 있는 특정 비컨트롤 플레인 네임스페이스 세트를 정의할 수 있습니다. 요구 사항에 따라 ArgoCDApplicationSet CR(사용자 정의 리소스)을 명시적으로 활성화하고 구성해야 합니다.

프로세스

  1. applicationSet 사양의 sourceNamespaces 매개변수를 비 컨트롤 플레인 네임스페이스를 포함하도록 설정합니다.

    Argo CD 사용자 정의 리소스의 예

    apiVersion: argoproj.io/v1beta1
    kind: ArgoCD
    metadata:
      name: example
      namespace: spring-petclinic
    spec:
      applicationSet:
        sourceNamespaces: 
    1
    
          - dev 
    2
    Copy to Clipboard Toggle word wrap

    1
    ApplicationSet 리소스를 생성하고 관리하기 위한 비컨트롤 플레인 네임스페이스 목록입니다.
    2
    ApplicationSet 리소스를 생성하고 관리할 Argo CD 서버의 대상 네임스페이스 이름입니다.
    참고

    현재 .spec.applicationSet.sourceNamespaces 필드에서 와일드카드(*)를 사용할 수 없습니다.

  2. 다음 RBAC(역할 기반 액세스 제어) 리소스가 GitOps Operator에 의해 생성 또는 수정되었는지 확인합니다.

    Expand
    이름유형목적

    <argocd_name>-<argocd_namespace>-argocd-applicationset-controller

    ClusterRoleClusterRoleBinding

    Argo CD ApplicationSet 컨트롤러가 클러스터 수준에서 ApplicationSet 리소스를 감시하고 나열하려는 경우

    <argocd_name>-<argocd_namespace>-applicationset

    RoleRoleBinding

    Argo CD ApplicationSet 컨트롤러가 대상 네임스페이스에서 ApplicationSet 리소스를 관리하는 경우

    <argocd_name>-<target_namespace>

    RoleRoleBinding

    Argo CD 서버가 UI, API 또는 CLI를 통해 대상 네임스페이스에서 ApplicationSet 리소스를 관리하는 경우

    참고

    Operator는 argocd.argoproj.io/applicationset-managed-by-cluster-argocd 레이블을 대상 네임스페이스에 추가합니다.

1.3. 소스 코드 관리자 공급자 허용

중요

이 섹션을 주의 깊게 읽으십시오. 잘못된 구성으로 인해 보안 문제가 발생할 수 있습니다.

비컨트롤 플레인 네임스페이스에서 ApplicationSet 리소스를 허용하면 SCM(Source Code Manager) 공급자 또는 PR(Pull Request) 생성기의 악의적인 API 끝점을 통해 시크릿이 노출될 수 있습니다. 중요한 정보에 대한 무단 액세스를 방지하기 위해 Operator는 기본적으로 SCM 공급자 및 PR 생성기를 예방 조치로 비활성화합니다.

프로세스

  • SCM 공급자 및 PR 생성기를 사용하려면 허용된 SCM 공급자 목록을 명시적으로 정의합니다.

    Argo CD 사용자 정의 리소스의 예

    apiVersion: argoproj.io/v1beta1
    kind: ArgoCD
    metadata:
      name: example-argocd
    spec:
      applicationSet:
        sourceNamespaces:
          - dev
        scmProviders: 
    1
    
          - https://git.mydomain.com/
          - https://gitlab.mydomain.com/
    Copy to Clipboard Toggle word wrap

    1
    허용된 SCM 공급자의 URL 목록입니다.
참고

허용된 SCM 공급자 목록에 없는 URL을 사용하는 경우 Argo CD ApplicationSet 컨트롤러에서 이를 거부합니다.

법적 공지

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat