1.2. 가져오기 모델을 위해 모든 네임스페이스에 Argo CD ApplicationSet 리소스 배포 (기술 프리뷰)
Argo CD 풀 모델을 사용하면 허브 클러스터의 모든 네임스페이스에서 ApplicationSet 리소스를 생성할 수 있습니다.
Argo CD ApplicationSet 리소스를 완전히 관리하려면 다음 섹션을 완료합니다.
필수 액세스: 클러스터 관리자
사전 요구 사항
- 관리 클러스터를 등록하는 절차를 완료합니다. 자세한 내용은 Red Hat OpenShift GitOps Operator에 관리 클러스터 등록을 참조하십시오.
-
사용자 지정 네임스페이스에서
ApplicationSet및Application리소스를 활성화하는 절차를 완료합니다. 자세한 내용은 모든 네임스페이스에서 ApplicationSet 리소스 활성화를 참조하십시오.
1.2.1. 표준 구성에 대한 ApplicationSet 리소스 배포 링크 복사링크가 클립보드에 복사되었습니다!
RBAC(역할 기반 액세스 제어)에 대한 지원이 제한된 경우 표준 구성에 대한 ApplicationSet 리소스를 배포해야 할 수 있습니다.
간단한 RBAC 관리를 위해 표준 구성을 위해 ApplicationSet 리소스를 배포하여 다음과 같은 이점을 얻을 수 있습니다.
- 네임스페이스는 GitHub 리포지토리 리소스에 지정되지 않습니다.
-
워크로드 네임스페이스의 대상은
애플리케이션템플릿에 지정됩니다. -
ApplicationSet리소스는 기본AppProject리소스를 사용합니다.
표준 구성에 대한 ApplicationSet 리소스를 배포하려면 다음 단계를 완료합니다.
-
openshift-gitops네임스페이스에서배치리소스를 생성합니다. 다음 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네임스페이스에서배치리소스를 생성합니다. 다음 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는애플리케이션템플릿이 사용하는 리포지토리입니다. -
대상은 애플리케이션이 워크로드를배포하는네임스페이스입니다. -
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 에 대한 자세한 내용은 다음 리소스를 참조하십시오.