5.2. 사용자 정의 프로젝트를 모니터링할 수 있는 사용자 권한 부여

클러스터 관리자는 모든 핵심 OpenShift Container Platform 및 사용자 정의 프로젝트를 모니터링할 수 있습니다.

클러스터 관리자는 개발자 및 다른 사용자에게 자신의 프로젝트를 모니터링할 수 있는 권한을 부여할 수 있습니다. 권한은 다음 모니터링 역할 중 하나를 할당하는 방식으로 부여합니다.

  • monitoring-rules-view 클러스터 역할은 프로젝트의 PrometheusRule 사용자 정의 리소스에 대한 읽기 액세스 권한을 제공합니다.
  • monitoring-rules-edit 클러스터 역할은 사용자에게 프로젝트의 PrometheusRule 사용자 정의 리소스를 생성, 수정, 삭제할 수 있는 권한을 부여합니다.
  • monitoring-edit 클러스터 역할은 monitoring-rules-edit 클러스터 역할과 동일한 권한을 부여합니다. 또한 사용자는 서비스 또는 Pod에 대한 새로운 스크랩 대상을 생성할 수 있습니다. 이 역할을 사용하면 ServiceMonitorPodMonitor 리소스를 생성, 수정, 삭제할 수도 있습니다.

또한 사용자 정의 프로젝트를 모니터링하는 구성 요소를 구성할 수 있는 권한을 사용자에게 부여할 수도 있습니다.

  • openshift-user-workload-monitoring 프로젝트에서 user-workload-monitoring-config-edit 역할을 통해 user-workload-monitoring-config ConfigMap 오브젝트를 편집할 수 있습니다. 이 역할을 통해 ConfigMap 오브젝트를 편집하여 사용자 정의 워크로드 모니터링에 대해 Prometheus, Prometheus Operator 및 Thanos Ruler를 구성할 수 있습니다.

사용자 정의 프로젝트에 대한 경고 라우팅을 구성할 수 있는 권한을 사용자에게 부여할 수도 있습니다.

  • alert-routing-edit 클러스터 역할은 사용자에게 프로젝트의 AlertmanagerConfig 사용자 정의 리소스를 생성, 업데이트 및 삭제할 수 있는 권한을 부여합니다.

이 섹션에서는 OpenShift Container Platform 웹 콘솔 또는 CLI를 사용하여 이러한 역할을 할당하는 방법에 대해 자세히 설명합니다.

5.2.1. 웹 콘솔을 사용하여 사용자에게 권한 부여

OpenShift Container Platform 웹 콘솔을 사용하여 사용자의 프로젝트를 모니터링할 수 있는 권한을 사용자에게 부여할 수 있습니다.

사전 요구 사항

  • cluster-admin 클러스터 역할의 사용자로 클러스터에 액세스할 수 있습니다.
  • 이미 존재하는 역할에 할당 중인 사용자 계정입니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔의 관리자 관점에서 사용자 관리역할 바인딩 → 바인딩 생성으로 이동합니다.
  2. 바인딩 유형 섹션에서 "네임스페이스 역할 바인딩" 유형을 선택합니다.
  3. 이름 필드에 역할 바인딩의 이름을 입력합니다.
  4. 네임스페이스 필드에서 액세스 권한을 부여하려는 사용자 정의 프로젝트를 선택합니다.

    중요

    모니터링 역할은 네임스페이스 필드에 적용하는 프로젝트에 바인딩됩니다. 이 프로세스를 사용하여 사용자에게 부여한 권한은 선택한 프로젝트에만 적용됩니다.

  5. 역할 이름 목록에서 monitoring-rules-view, monitoring-rules-edit 또는 monitoring-edit를 선택합니다.
  6. 주체 섹션에서 사용자를 선택합니다.
  7. 주체 이름 필드에 사용자 이름을 입력합니다.
  8. 역할 바인딩을 적용하려면 만들기를 선택합니다.

5.2.2. CLI를 사용하여 사용자에게 권한 부여

OpenShift CLI(oc)를 사용하여 자체 프로젝트를 모니터링할 수 있는 권한을 사용자에게 부여할 수 있습니다.

사전 요구 사항

  • cluster-admin 클러스터 역할의 사용자로 클러스터에 액세스할 수 있습니다.
  • 이미 존재하는 역할에 할당 중인 사용자 계정입니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.

프로세스

  • 프로젝트의 사용자에게 모니터링 역할을 할당합니다.

    $ oc policy add-role-to-user <role> <user> -n <namespace> 1
    1
    <role>monitoring-rules-view, monitoring-rules-edit 또는 monitoring-edit로 바꿉니다.
    중요

    선택한 역할이 무엇이든 클러스터 관리자로 특정 프로젝트에 대해 바인딩해야 합니다.

    예를 들어 <role>monitoring-edit로 바꾸고, <user>johnsmith로 바꾸고, <namespace>ns1으로 바꿉니다. 이를 통해 메트릭 컬렉션을 설정하고 ns1 네임스페이스에서 경고 규칙을 생성할 수 있는 사용자 johnsmith 권한이 할당됩니다.