2.4. 모니터링 스택 구성

OpenShift Container Platform 4.7에서는 cluster-monitoring-config 또는 user-workload-monitoring-config ConfigMap 오브젝트를 사용하여 모니터링 스택을 구성할 수 있습니다. 구성 맵은 CCMO(Cluster Monitoring Operator)를 구성한 다음 스택의 구성 요소를 구성합니다.

사전 요구 사항

  • 핵심 OpenShift Container Platform 모니터링 구성 요소인 경우:

    • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
    • cluster-monitoring-config ConfigMap 오브젝트를 생성하셨습니다.
  • 사용자 정의 프로젝트를 모니터링하는 구성 요소를 구성하는 경우:

    • cluster-admin 역할의 사용자로 또는 openshift-user-workload-monitoring 프로젝트에서 user-workload-monitoring-config-edit 역할의 사용자로 클러스터에 액세스할 수 있습니다.
    • user-workload-monitoring-config ConfigMap 오브젝트가 생성되어 있습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.

프로세스

  1. ConfigMap 오브젝트를 편집합니다.

    • 핵심 OpenShift Container Platform 모니터링 구성 요소를 구성하려면 다음을 수행합니다.

      1. openshift-monitoring 프로젝트에서 cluster-monitoring-config ConfigMap 오브젝트를 편집합니다.

        $ oc -n openshift-monitoring edit configmap cluster-monitoring-config
      2. data/config.yaml 아래의 구성을 키-값 쌍 % <component_name>: <component_configuration>으로 추가합니다.

        apiVersion: v1
        kind: ConfigMap
        metadata:
          name: cluster-monitoring-config
          namespace: openshift-monitoring
        data:
          config.yaml: |
            <component>:
              <configuration_for_the_component>

        이에 따라 <component><configuration_for_the_component>를 바꿉니다.

        다음 예제 ConfigMap 오브젝트는 Prometheus의 PVC(영구 볼륨 클레임)를 구성합니다. 이는 핵심 OpenShift Container Platform 구성 요소만 모니터링하는 Prometheus 인스턴스와 관련이 있습니다.

        apiVersion: v1
        kind: ConfigMap
        metadata:
          name: cluster-monitoring-config
          namespace: openshift-monitoring
        data:
          config.yaml: |
            prometheusK8s: 1
              volumeClaimTemplate:
               spec:
                 storageClassName: fast
                 volumeMode: Filesystem
                 resources:
                   requests:
                     storage: 40Gi
        1
        Prometheus 구성 요소를 정의하면 후속 행은 해당 구성을 정의합니다.
    • 사용자 정의 프로젝트를 모니터링하는 구성 요소를 구성하려면 다음을 수행합니다.

      1. openshift-user-workload-monitoring 프로젝트에서 user-workload-monitoring-config ConfigMap 오브젝트를 편집합니다.

        $ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
      2. data/config.yaml 아래의 구성을 키-값 쌍 % <component_name>: <component_configuration>으로 추가합니다.

        apiVersion: v1
        kind: ConfigMap
        metadata:
          name: user-workload-monitoring-config
          namespace: openshift-user-workload-monitoring
        data:
          config.yaml: |
            <component>:
              <configuration_for_the_component>

        이에 따라 <component><configuration_for_the_component>를 바꿉니다.

        다음 예제 ConfigMap 오브젝트는 Prometheus에 대한 데이터 보존 기간 및 최소 컨테이너 리소스 요청을 구성합니다. 이는 사용자 정의 프로젝트만 모니터링하는 Prometheus 인스턴스와 관련이 있습니다.

        apiVersion: v1
        kind: ConfigMap
        metadata:
          name: user-workload-monitoring-config
          namespace: openshift-user-workload-monitoring
        data:
          config.yaml: |
            prometheus: 1
              retention: 24h 2
              resources:
                requests:
                  cpu: 200m 3
                  memory: 2Gi 4
        1
        Prometheus 구성 요소를 정의하면 후속 행은 해당 구성을 정의합니다.
        2
        사용자 정의 프로젝트를 모니터링하는 Prometheus 인스턴스에 대해 24시간 데이터 보존 기간을 구성합니다.
        3
        Prometheus 컨테이너에 대한 200밀리코어의 최소 리소스 요청을 정의합니다.
        4
        Prometheus 컨테이너에 대한 메모리 2GiB의 최소 Pod 리소스 요청을 정의합니다.
        참고

        Prometheus 구성 맵 구성 요소는 cluster-monitoring-config ConfigMap 오브젝트에서 prometheusK8s라고 하며 user-workload-monitoring-config ConfigMap 오브젝트에서 prometheus라고 합니다.

  2. 파일을 저장하여 ConfigMap 오브젝트에 대한 변경 사항을 적용합니다. 새 구성의 영향을 받는 Pod가 자동으로 다시 시작됩니다.

    참고

    클러스터 관리자가 사용자 정의 프로젝트에 대한 모니터링을 활성화하지 않는 한 user-workload-monitoring-config ConfigMap 오브젝트에 적용되는 구성이 활성화되어 있지 않습니다.

    주의

    모니터링 구성 맵에 변경 사항이 저장되면 관련 프로젝트의 Pod 및 기타 리소스가 재배포될 수 있습니다. 해당 프로젝트에서 실행 중인 모니터링 프로세스도 다시 시작할 수 있습니다.

추가 리소스