3.2. 대상 네임스페이스를 사용하여 사용자 정의 클러스터 범위 Argo CD 인스턴스의 Argo CD CR 구성
클러스터 관리자는 사용자가 애플리케이션
리소스를 생성, 업데이트 및 조정할 수 있는 특정 비컨트롤 플레인 네임스페이스 세트를 정의할 수 있습니다. 먼저 요구 사항에 따라 사용자 정의 클러스터 범위 Argo CD 인스턴스의 ArgoCD
CR(사용자 정의 리소스)에서 대상 네임스페이스를 명시적으로 구성해야 합니다.
사전 요구 사항
- OpenShift Container Platform 클러스터에 관리자로 로그인되어 있습니다.
- OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps 1.13.0 이상을 설치했습니다.
-
정의된 네임스페이스에 사용자 정의 클러스터 범위 Argo CD 인스턴스가 있습니다(예:
spring-petclinic
).
프로세스
-
웹 콘솔의 관리자 화면에서 Operator
설치된 Operator 를 클릭합니다. - 프로젝트 목록에서 사용자 정의 클러스터 범위 Argo CD 인스턴스가 설치된 프로젝트를 선택합니다.
- 설치된 Operator 목록에서 Red Hat OpenShift GitOps 를 선택하고 Argo CD 탭으로 이동합니다.
- 사용자 정의 클러스터 범위 Argo CD 인스턴스를 클릭합니다.
대상 네임스페이스를 사용하여 사용자 정의 클러스터 범위 Argo CD 인스턴스의
ArgoCD
CR을 구성합니다.-
YAML 탭을 클릭하고
ArgoCD
CR의 YAML 파일을 편집합니다. ArgoCD
CR에서sourceNamespaces
매개변수 값을 설정하여 비컨트롤 플레인 네임스페이스를 포함합니다.ArgoCD
CR의 예apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example 1 namespace: spring-petclinic 2 spec: sourceNamespaces: 3 - dev 4 - app-team-* 5
- 1
- 사용자 정의 클러스터 범위 Argo CD 인스턴스의 이름입니다.
- 2
- 사용자 정의 클러스터 범위 Argo CD 인스턴스를 실행하려는 네임스페이스입니다.
- 3
애플리케이션
리소스를 생성하고 관리하기 위한 비컨트롤 플레인 네임스페이스 목록입니다.- 4
애플리케이션
리소스를 생성하고 관리할 Argo CD 서버의 대상 네임스페이스 이름입니다.- 5
- 와일드카드(
*
)를 사용하면 Argo CD 서버에서애플리케이션
리소스를 생성하고 관리하는 데 사용할app-team-1
및app-team-2
와 같은 패턴app-team-*
과 일치하는 대상 네임스페이스의 이름을 지정합니다.
저장 및 다시 로드 를 클릭합니다.
참고대상 네임스페이스가
sourceNamespaces
필드 아래에 지정되면 Operator는argocd.argoproj.io/managed-by-cluster-argocd
레이블을 지정된 네임스페이스에 추가합니다.dev
대상 네임스페이스의 예apiVersion: v1 kind: Namespace metadata: name: dev labels: argocd.argoproj.io/managed-by-cluster-argocd: spring-petclinic 1 kubernetes.io/metadata.name: dev 2
-
YAML 탭을 클릭하고
Operator가
argocd.argoproj.io/managed-by-cluster-argocd
라벨을 지정된 네임스페이스에 추가하는지 확인합니다.-
관리
네임스페이스 로 이동하여 네임스페이스 생성을 클릭합니다. 네임스페이스 생성 대화 상자에서 이름을 지정하고 생성 을 클릭합니다.
예를 들어
dev
대상 네임스페이스를 만들려면 Name 필드에dev
를 입력합니다. 이전 단계를 반복하여app-team-1
및app-team-2
대상 네임스페이스를 생성할 수 있습니다.네임스페이스 페이지에 생성된 대상 네임스페이스가 표시됩니다.
-
대상 네임스페이스를 클릭하고 YAML 탭으로 이동하여 Operator에서 추가한
argocd.argoproj.io/managed-by-cluster-argocd
레이블을 확인합니다.
-
관리
클러스터 범위 리소스를 관리하기 위해 사용자 정의 클러스터 범위 Argo CD 인스턴스가 클러스터 역할로 구성되었는지 확인합니다.
-
사용자 관리
역할로 이동하고 필터 목록에서 클러스터 전체 역할을 선택합니다. 이름으로 검색 필드를 사용하여 생성된 클러스터 역할을 검색합니다. 예를 들어,
example-spring-petclinic-argocd-application-controller
및example-spring-petclinic-argocd-server
.역할 페이지에는 생성된 클러스터 역할이 표시됩니다.
GitOps Operator에서 다음 RBAC(역할 기반 액세스 제어) 리소스가 생성되었는지 확인합니다.
이름 유형 목적 <argocd_name>-<argocd_namespace>-argocd-application-controller
ClusterRole
및ClusterRoleBinding
Argo CD 애플리케이션 컨트롤러가 클러스터 수준에서
애플리케이션
리소스를 감시하고 나열하려는 경우<argocd_name>-<argocd_namespace>-argocd-server
ClusterRole
및ClusterRoleBinding
Argo CD Server가 클러스터 수준에서
애플리케이션
리소스를 감시하고 나열하려면<argocd_name>-<target_namespace>
Role
및RoleBinding
Argo CD 서버가 UI, API 또는 CLI를 통해 대상 네임스페이스에서
애플리케이션
리소스를 관리하는 경우
-
사용자 관리
추가 리소스