Argo CD 애플리케이션 세트
컨트롤 플레인이 아닌 네임스페이스에서 애플리케이션 세트 리소스 관리
초록
1장. 컨트롤 플레인이 아닌 네임스페이스에서 애플리케이션 세트 리소스 관리 링크 복사링크가 클립보드에 복사되었습니다!
비컨트롤 플레인 네임스페이스에 있는 Argo CD 애플리케이션 세트는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
애플리케이션 세트를 사용하면 유연성 향상을 통해 단일 mono-repository에서 여러 클러스터로 선언적으로 여러 Argo CD 애플리케이션 배포를 자동화하고 관리할 수 있습니다.
Red Hat OpenShift GitOps 1.12 이상에서는 요구 사항에 따라 ArgoCD 및 ApplicationSet CR(사용자 정의 리소스)을 명시적으로 활성화하고 구성하여 openshift-gitops 컨트롤 플레인 네임스페이스 이외의 비컨트롤 플레인 네임스페이스에서 ApplicationSet 리소스를 생성하고 관리할 수 있습니다. 이 기능은 격리된 팀에 대한 Argo CD 애플리케이션 배포를 관리하려는 경우 멀티 테넌시 환경에서 특히 유용합니다. 이 기능을 Argo CD 오픈 소스 프로젝트의 모든 네임스페이스에서 ApplicationSet 이라고 합니다.
생성된 Argo CD 애플리케이션은 컨트롤 플레인이 아닌 네임스페이스에서 리소스를 생성할 수 있습니다. 그러나 애플리케이션 자체는 애플리케이션 세트 리소스와 동일한 네임스페이스에 있습니다.
1.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
-
정의된 네임스페이스에 사용자 정의 클러스터 범위 Argo CD 인스턴스가 있습니다. 예를 들어 Spring
-petclinic네임스페이스입니다. -
비 컨트롤 플레인 네임스페이스에서 애플리케이션 리소스를 관리하도록
ArgoCDCR에서 대상 네임스페이스를 명시적으로 활성화 및 구성했습니다.
1.2. 컨트롤 플레인이 아닌 네임스페이스에서 애플리케이션 세트 리소스 활성화 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 사용자가 ApplicationSet 리소스를 생성, 업데이트 및 조정할 수 있는 특정 비컨트롤 플레인 네임스페이스 세트를 정의할 수 있습니다. 요구 사항에 따라 ArgoCD 및 ApplicationSet CR(사용자 정의 리소스)을 명시적으로 활성화하고 구성해야 합니다.
프로세스
applicationSet사양의sourceNamespaces매개변수를 비 컨트롤 플레인 네임스페이스를 포함하도록 설정합니다.Argo CD 사용자 정의 리소스의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고현재
.spec.applicationSet.sourceNamespaces필드에서 와일드카드(*)를 사용할 수 없습니다.다음 RBAC(역할 기반 액세스 제어) 리소스가 GitOps Operator에 의해 생성 또는 수정되었는지 확인합니다.
Expand 이름 유형 목적 <argocd_name>-<argocd_namespace>-argocd-applicationset-controllerClusterRole및ClusterRoleBindingArgo CD ApplicationSet 컨트롤러가 클러스터 수준에서
ApplicationSet리소스를 감시하고 나열하려는 경우<argocd_name>-<argocd_namespace>-applicationsetRole및RoleBindingArgo CD ApplicationSet 컨트롤러가 대상 네임스페이스에서
ApplicationSet리소스를 관리하는 경우<argocd_name>-<target_namespace>Role및RoleBindingArgo 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 사용자 정의 리소스의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 허용된 SCM 공급자의 URL 목록입니다.
허용된 SCM 공급자 목록에 없는 URL을 사용하는 경우 Argo CD ApplicationSet 컨트롤러에서 이를 거부합니다.