3장. 비컨트롤 플레인 네임스페이스에서 애플리케이션 리소스 관리
클러스터 관리자는 openshift-gitops
컨트롤 플레인 네임스페이스 이외의 선언적으로 비컨트롤 플레인 네임스페이스에서 애플리케이션
리소스를 생성하고 관리할 수 있습니다. 이 기능을 Argo CD 오픈 소스 프로젝트 의 모든 네임스페이스 기능의 애플리케이션 이라고 합니다.
개발자는 openshift-gitops
컨트롤 플레인 네임스페이스 이외의 비컨트롤 플레인 네임스페이스에 Argo CD 애플리케이션을 생성하는 경우 클러스터 관리자가 필요한 권한을 부여해야 합니다.
그러지 않으면 Argo CD 조정 후 다음 예와 유사한 오류 메시지가 표시됩니다.
오류 메시지의 예
error while validating and normalizing app: error getting application's project: application 'app' in namespace 'dev' is not allowed to use project 'default'
이 기능을 사용하려면 다음 오브젝트에서 대상 네임스페이스를 명시적으로 활성화하고 구성해야 합니다.
-
사용자 정의 클러스터 범위 Argo CD 인스턴스의
ArgoCD
CR(사용자 정의 리소스) -
AppProject
CR(사용자 정의 리소스) -
애플리케이션
CR
비컨트롤 플레인 네임스페이스에서 애플리케이션
리소스를 생성하고 관리하는 프로세스는 다음 절차로 구성됩니다.
이 기능은 분리된 팀을 위한 Argo CD 애플리케이션 배포를 관리하려는 경우 멀티 테넌시 환경에서 유용합니다.
애플리케이션 팀의 권한 에스컬레이션을 방지하려면 다음 요구 사항을 충족해야 합니다.
-
권한이 있는
AppProject
인스턴스의.spec.sourceNamespaces
필드에 비컨트롤 플레인 네임스페이스를 구성하지 마십시오(예:openshift-gitops
컨트롤 플레인 네임스페이스 또는 정의된 네임스페이스에 설치된AppProject
CR의기본
인스턴스). -
AppProject
CRD 내에서openshift-gitops
컨트롤 플레인 네임스페이스에 대한 액세스 권한을 부여하지 마십시오. -
항상
openshift-gitops
컨트롤 플레인 네임스페이스에서 사용자 정의AppProject
인스턴스를 생성하고 구성한 다음 해당 사용자 정의AppProject
인스턴스 내에서.spec.sourceNamespaces
필드에 비컨트롤 플레인 네임스페이스를 구성합니다.
3.1. 사전 요구 사항
- OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps 1.13.0 이상을 설치했습니다.
-
정의된 네임스페이스에 사용자 정의 클러스터 범위 Argo CD 인스턴스가 있습니다(예:
spring-petclinic
).