1.15. Red Hat OpenShift GitOps를 사용하여 respectRBAC 구성
Argo CD의 respectRBAC
기능은 Argo CD가 클러스터에서 리소스를 감시하는 방법을 제어합니다. 기본적으로 Argo CD는 클러스터 범위에서 클러스터의 모든 Kubernetes 리소스(CRD)를 조사하려고 합니다. respectRBAC
기능을 사용하면 리소스 제외를 수동으로 구성하지 않고 컨트롤러 RBAC만 사용하여 ArgoCD 컨트롤러에서 특정 리소스를 검색하거나 동기화하지 않도록 제한할 수 있습니다.
이 기능을 활성화하려면 Argo CD 리소스에서 .spec.controller.respectRBAC
키를 설정합니다. 이 키를 설정하면 컨트롤러에서 나열하거나 액세스할 수 없는 리소스 감시를 자동으로 중지합니다. 예를 들어 Argo CD 클러스터 역할은 Argo CD가 OpenShift 경로를 감시하지 못하도록 제한하는 상황을 방지하므로 동기화 중에 오류가 발생하여 리소스를 볼 수 없음을 나타냅니다.
CLI(명령줄 인터페이스) 또는 웹 콘솔을 통해 Argo CD 인스턴스를 생성하여 respectRBAC
기능을 활성화할 수 있습니다.
사전 요구 사항
Subscription
리소스에서 네임스페이스를 생성하고 업데이트하여 Subscription
에서 클러스터 범위 Argo CD 인스턴스를 호스팅할 수 있습니다. 자세한 내용은 " Argo CD 인스턴스를 사용하여 클러스터 범위 리소스 관리"를 참조하십시오.
1.15.1. CLI를 사용하여 respectRBAC 구성 링크 복사링크가 클립보드에 복사되었습니다!
CLI를 사용하여 respectRBAC
기능을 구성할 수 있습니다.
프로세스
respectRBAC
기능을 구성하려면 YAML 오브젝트 파일(예:argo-cd-resource.yaml
)을 생성합니다.respectRBAC
를 생성하는ArgoCD
YAML의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Argo CD 인스턴스의 이름을 지정합니다.
- 2
ArgoCD
리소스에서.spec.controller.respectRBAC
키 값을일반
또는엄격한
로 지정할 수 있습니다. 리소스 목록이 경량 작업이므로 정확도와 속도를 균형 있게 조정하려면 값을정상적으로
설정하는 것이 좋습니다. Argo CD가 값을normal
로 설정할 때 리소스에 액세스할 수 없음을 나타내는 오류를 보고하는 경우 값을strict
으로 설정합니다. Strict을
설정하면 서버에 대한 API 호출 수가 증가하며 Argo CD가 RBAC 리소스의 추가 검증을 수행하여 권한을 결정하기 때문에 일반에 비해 더 정확합니다.
다음 명령을 실행하여 YAML 파일에 변경 사항을 적용합니다.
oc apply -f argocd-resource.yaml -n argo-cd-instance
$ oc apply -f argocd-resource.yaml -n argo-cd-instance
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ArgoCD
리소스를 포함하는 YAML 파일의 이름과ArgoCD
를 호스팅하는 네임스페이스를 지정합니다.
다음 명령을 실행하여
.status.phase
필드의 상태가사용
가능한지 확인합니다.oc get argocd <argocd_instance_name> -n <argocd_namespace> -o jsonpath='{.status.phase}'
$ oc get argocd <argocd_instance_name> -n <argocd_namespace> -o jsonpath='{.status.phase}'
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- &
lt;argocd_instance_name
>을 Argo CD 인스턴스의 이름으로 바꿉니다(예:example-argocd
).
ConfigMap
리소스의resource.respectRBAC
매개변수가 성공적으로 업데이트되었는지 확인합니다.argocd-cm
구성 맵의 콘텐츠를 검색하려면 다음 명령을 실행합니다.oc get cm argocd-cm -n <argocd_namespace> -o yaml
$ oc get cm argocd-cm -n <argocd_namespace> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
argocd-cm
ConfigMap
에resource.respectRBAC
매개변수가 포함되어 있는지 확인하고 값이strict
또는normal
로 설정되어 있는지 확인합니다.
1.15.2. 웹 콘솔을 사용하여 respectRBAC 구성 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔에서 respectRBAC
를 구성할 수 있습니다.
프로세스
- OpenShift Container Platform 웹 콘솔에 로그인합니다.
-
웹 콘솔의 관리자 화면에서 Operator
설치된 Operator 를 클릭합니다. - 프로젝트 목록에서 사용자 정의 Argo CD 인스턴스를 설치할 프로젝트를 생성하거나 선택합니다.
- 설치된 Operator 목록에서 Red Hat OpenShift GitOps 를 선택하고 Argo CD 탭을 클릭합니다.
Argo CD 탭에서
respectRBAC
매개변수를 구성합니다.spec: controller: respectRBAC: strict
spec: controller: respectRBAC: strict
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 생성을 클릭합니다.
설치가 완료되면 Argo CD 인스턴스가 Argo CD 탭에 나열되고 Status 가 Available 인지 확인합니다.
Argo CD 인스턴스가 생성되면 다음 단계를 완료하여
ConfigMap
리소스의resource.respectRBAC
매개변수가 성공적으로 업데이트되었는지 확인합니다.-
관리자 화면에서 워크로드
ConfigMaps 로 이동합니다. - 프로젝트 옵션에서 Argo CD 네임스페이스를 선택합니다.
-
argocd-cm
구성 맵을 선택합니다. -
YAML 탭을 선택하여
resource.respectRBAC
매개변수를 확인합니다.
-
관리자 화면에서 워크로드