11.6. Red Hat OpenShift용 외부 시크릿 Operator 모니터링


기본적으로 Red Hat OpenShift의 External Secrets Operator는 Operator 및 피연산자에 대한 지표를 표시합니다. Prometheus Operator 형식을 사용하여 이러한 지표를 수집하도록 OpenShift 모니터링을 구성할 수 있습니다.

11.6.1. 사용자 워크로드 모니터링 활성화

클러스터에서 사용자 워크로드 모니터링을 구성하여 사용자 정의 프로젝트에 대한 모니터링을 활성화할 수 있습니다. 자세한 내용은 "사용자 정의 프로젝트에 대한 메트릭 컬렉션 설정"을 참조하십시오.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.

프로세스

  1. cluster-monitoring-config.yaml YAML 파일을 생성합니다.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: cluster-monitoring-config
      namespace: openshift-monitoring
    data:
      config.yaml: |
        enableUserWorkload: true
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 ConfigMap 을 적용합니다.

    $ oc apply -f cluster-monitoring-config.yaml
    Copy to Clipboard Toggle word wrap

검증

  • 다음 명령을 실행하여 사용자 워크로드에 대한 모니터링 구성 요소가 openshift-user-workload-monitoring 네임스페이스에서 실행되고 있는지 확인합니다.

    $ oc -n openshift-user-workload-monitoring get pod
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                                   READY   STATUS    RESTARTS   AGE
    prometheus-operator-5f79cff9c9-67pjb   2/2     Running   0          25h
    prometheus-user-workload-0             6/6     Running   0          25h
    thanos-ruler-user-workload-0           4/4     Running   0          25h
    Copy to Clipboard Toggle word wrap

    prometheus-operator,prometheus-user-workload, thanos-ruler-user-workload 와 같은 Pod의 상태는 Running 이어야 합니다.

Red Hat OpenShift용 External Secrets Operator는 기본적으로 /metrics 서비스 끝점의 포트 8443 에 지표를 노출합니다. ServiceMonitor CR(사용자 정의 리소스)을 생성하여 Prometheus Operator가 사용자 정의 지표를 수집할 수 있도록 Operator에 대한 메트릭 컬렉션을 구성할 수 있습니다. 자세한 내용은 "사용자 워크로드 모니터링 구성"을 참조하십시오.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • Red Hat OpenShift용 External Secrets Operator가 설치되어 있습니다.
  • 사용자 워크로드 모니터링을 활성화했습니다.

프로세스

  1. 메트릭 서버에 HTTP 를 사용하도록 Operator를 구성합니다. HTTPS 는 기본적으로 활성화되어 있습니다.

    1. 다음 명령을 실행하여 Red Hat OpenShift용 외부 Secrets Operator에 대한 서브스크립션 오브젝트를 업데이트하여 HTTP 프로토콜을 구성합니다.

      $ oc -n external-secrets-operator patch subscription openshift-external-secrets-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"METRICS_BIND_ADDRESS","value":":8080"}, {"name": "METRICS_SECURE", "value": "false"}]}}}'
      Copy to Clipboard Toggle word wrap
    2. External Secrets Operator Pod가 재배포되고 METRICS_BIND_ADDRESSMETRICS_SECURE 에 대해 구성된 값이 업데이트되었는지 확인하려면 다음 명령을 실행합니다.

      $ oc set env --list deployment/external-secrets-operator-controller-manager -n external-secrets-operator | grep -e METRICS_BIND_ADDRESS -e METRICS_SECURE -e container
      Copy to Clipboard Toggle word wrap

      다음 예제에서는 METRICS_BIND_ADDRESSMETRICS_SECURE 가 업데이트되었음을 보여줍니다.

      # deployments/external-secrets-operator-controller-manager, container manager
      METRICS_BIND_ADDRESS=:8080
      METRICS_SECURE=false
      Copy to Clipboard Toggle word wrap
  2. kubernetes.io/service-account.name 주석을 사용하여 Secret 리소스를 생성하여 지표 서버로 인증하는 데 필요한 토큰을 삽입합니다.

    1. secret-external-secrets-operator.yaml YAML 파일을 생성합니다.

      apiVersion: v1
      kind: Secret
      metadata:
        labels:
          app: external-secrets-operator
        name: external-secrets-operator-metrics-auth
        namespace: external-secrets-operator
        annotations:
          kubernetes.io/service-account.name: external-secrets-operator-controller-manager
      type: kubernetes.io/service-account-token
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 Secret 리소스를 생성합니다.

      $ oc apply -f secret-external-secrets-operator.yaml
      Copy to Clipboard Toggle word wrap
  3. 메트릭에 액세스 권한을 부여하는 데 필요한 ClusterRoleBinding 리소스를 생성합니다.

    1. clusterrolebinding-external-secrets.yaml YAML 파일을 생성합니다.

      다음 예제에서는 cluserrolebinding-external-secrets.yaml 파일을 보여줍니다.

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        labels:
          app: external-secrets-operator
        name: external-secrets-allow-metrics-access
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: external-secrets-operator-metrics-reader
      subjects:
        - kind: ServiceAccount
          name: external-secrets-operator-controller-manager
          namespace: external-secrets-operator
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 ClusterRoldeBinding 사용자 정의 리소스를 생성합니다.

      $ oc apply -f clusterrolebinding-external-secrets.yaml
      Copy to Clipboard Toggle word wrap
  4. 기본 HTTPS 를 사용하는 경우 ServiceMonitor CR을 생성합니다.

    1. servicemonitor-external-secrets-operator-https.yaml YAML 파일을 생성합니다.

      apiVersion: monitoring.coreos.com/v1
      kind: ServiceMonitor
      metadata:
        labels:
          app: external-secrets-operator
        name: external-secrets-operator-metrics-monitor
        namespace: external-secrets-operator
      spec:
        endpoints:
          - authorization:
              credentials:
                name: external-secrets-operator-metrics-auth
                key: token
              type: Bearer
            interval: 60s
            path: /metrics
            port: metrics-https
            scheme: https
            scrapeTimeout: 30s
            tlsConfig:
              ca:
                configMap:
                  name: openshift-service-ca.crt
                  key: service-ca.crt
              serverName: external-secrets-operator-controller-manager-metrics-service.external-secrets-operator.svc.cluster.local
        namespaceSelector:
          matchNames:
            - external-secrets-operator
        selector:
          matchLabels:
            app: external-secrets-operator
            svc: external-secrets-operator-controller-manager-metrics-service
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 ServiceMonitor CR을 생성합니다.

      $ oc apply -f servicemonitor-external-secrets-operator-https.yaml
      Copy to Clipboard Toggle word wrap
  5. HTTP 를 사용하도록 구성된 경우 ServiceMonitor CR을 생성합니다.

    1. servicemonitor-external-secrets-operator-http.yaml YAML 파일을 생성합니다.

      apiVersion: monitoring.coreos.com/v1
      kind: ServiceMonitor
      metadata:
        labels:
          app: external-secrets-operator
        name: external-secrets-operator-metrics-monitor
        namespace: external-secrets-operator
      spec:
        endpoints:
          - authorization:
              credentials:
                name: external-secrets-operator-metrics-auth
                key: token
              type: Bearer
            interval: 60s
            path: /metrics
            port: metrics-http
            scheme: http
            scrapeTimeout: 30s
        namespaceSelector:
          matchNames:
            - external-secrets-operator
        selector:
          matchLabels:
            app: external-secrets-operator
            svc: external-secrets-operator-controller-manager-metrics-service
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 ServiceMonitor CR을 생성합니다.

      $ oc apply -f servicemonitor-external-secrets-operator-http.yaml
      Copy to Clipboard Toggle word wrap

      ServiceMonitor CR이 생성되면 사용자 워크로드 Prometheus 인스턴스는 Operator에서 메트릭 수집을 시작합니다. 수집된 지표는 job="external-secrets-operator-controller-manager-metrics-service" 로 레이블이 지정됩니다.

검증

  1. OpenShift Container Platform 웹 콘솔에서 모니터링 대상으로 이동합니다.
  2. 라벨 필터 필드에 다음 레이블을 입력하여 각 피연산자의 메트릭 대상을 필터링합니다.

    $ service=external-secrets-operator-controller-manager-metrics-service
    Copy to Clipboard Toggle word wrap
  3. external-secrets-operatorStatus 열에 Up 이 표시되는지 확인합니다.

11.6.3. Red Hat OpenShift용 External Secrets Operator의 메트릭 쿼리

클러스터 관리자 또는 모든 네임스페이스에 대한 보기 액세스 권한이 있는 사용자는 OpenShift Container Platform 웹 콘솔 또는 CLI(명령줄 인터페이스)를 사용하여 Operator 지표를 쿼리할 수 있습니다. 자세한 내용은 " metrics 액세스"를 참조하십시오.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • Red Hat OpenShift용 External Secrets Operator가 설치되어 있습니다.
  • ServiceMonitor 오브젝트를 생성하여 모니터링 및 메트릭 컬렉션을 활성화했습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔에서 모니터링 메트릭 으로 이동합니다.
  2. 쿼리 필드에 다음 PromQL 표현식을 입력하여 External Secrets Operator for Red Hat OpenShift 메트릭을 쿼리합니다.

    {job="external-secrets-operator-controller-manager-metrics-service"}
    Copy to Clipboard Toggle word wrap

Red Hat OpenShift 피연산자용 External Secrets Operator는 세 가지 구성 요소( external-secrets ,external-secrets-cert-controll,external- secrets-webhook )에 대해 /metrics 서비스 끝점의 포트 8080 에 기본적으로 지표를 노출합니다. ServiceMonitor CR(사용자 정의 리소스)을 생성하여 external-secrets 피연산자에 대한 메트릭 컬렉션을 구성하여 Prometheus Operator에서 사용자 정의 지표를 수집할 수 있습니다. 자세한 내용은 "사용자 워크로드 모니터링 구성"을 참조하십시오.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • Red Hat OpenShift용 External Secrets Operator가 설치되어 있습니다.
  • 사용자 워크로드 모니터링을 활성화했습니다.

프로세스

  1. 메트릭에 액세스 권한을 부여하는 데 필요한 ClusterRoleBinding 리소스를 생성합니다.

    1. clusterrolebinding-external-secrets.yaml YAML 파일을 생성합니다.

      다음 예제에서는 cluserrolebinding-external-secrets.yaml 파일을 보여줍니다.

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        labels:
          app: external-secrets
        name: external-secrets-allow-metrics-access
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: external-secrets-operator-metrics-reader
      subjects:
        - kind: ServiceAccount
          name: external-secrets
          namespace: external-secrets
        - kind: ServiceAccount
          name: external-secrets-cert-controller
          namespace: external-secrets
        - kind: ServiceAccount
          name: external-secrets-webhook
          namespace: external-secrets
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 ClusterRoldeBinding 사용자 정의 리소스를 생성합니다.

      $ oc apply -f clusterrolebinding-external-secrets.yaml
      Copy to Clipboard Toggle word wrap
  2. ServiceMonitor CR을 생성합니다.

    1. servicemonitor-external-secrets.yaml YAML 파일을 생성합니다.

      apiVersion: monitoring.coreos.com/v1
      kind: ServiceMonitor
      metadata:
        labels:
          app: external-secrets
        name: external-secrets-metrics-monitor
        namespace: external-secrets
      spec:
        endpoints:
          - interval: 60s
            path: /metrics
            port: metrics
            scheme: http
            scrapeTimeout: 30s
        namespaceSelector:
          matchNames:
            - external-secrets
        selector:
          matchExpressions:
            - key: app.kubernetes.io/name
              operator: In
              values:
                - external-secrets
                - external-secrets-cert-controller
                - external-secrets-webhook
            - key: app.kubernetes.io/instance
              operator: In
              values:
                - external-secrets
            - key: app.kubernetes.io/managed-by
              operator: In
              values:
                - external-secrets-operator
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 ServiceMonitor CR을 생성합니다.

      $ oc apply -f servicemonitor-external-secrets.yaml
      Copy to Clipboard Toggle word wrap

      ServiceMonitor CR이 생성되면 사용자 워크로드 Prometheus 인스턴스는 Red Hat OpenShift 피연산자용 External Secrets Operator에서 메트릭 수집을 시작합니다. 수집된 지표는 job="external-secrets",job="external-secrets-cainjector"job="external-secrets-webhook" 로 레이블이 지정됩니다.

검증

  1. OpenShift Container Platform 웹 콘솔에서 모니터링 대상으로 이동합니다.
  2. 라벨 필터 필드에 다음 레이블을 입력하여 각 피연산자의 메트릭 대상을 필터링합니다.

    $ service=external-secrets
    Copy to Clipboard Toggle word wrap
    $ service=external-secrets-cert-controller-metrics
    Copy to Clipboard Toggle word wrap
    $ service=external-secrets-webhook
    Copy to Clipboard Toggle word wrap
  3. Status 열에 external-secrets , external-secrets -cert-controller 및 external-secrets- webhook 에 대한 Up 이 표시되는지 확인합니다.

11.6.5. external-secrets 피연산자의 메트릭 쿼리

클러스터 관리자는 또는 모든 네임스페이스에 대한 보기 액세스 권한이 있는 사용자로 OpenShift Container Platform 웹 콘솔 또는 CLI(명령줄 인터페이스)를 사용하여 external-secrets 피연산자 메트릭을 쿼리할 수 있습니다. 자세한 내용은 " metrics 액세스"를 참조하십시오.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • Red Hat OpenShift용 External Secrets Operator가 설치되어 있습니다.
  • ServiceMonitor 오브젝트를 생성하여 모니터링 및 메트릭 컬렉션을 활성화했습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔에서 모니터링 메트릭 으로 이동합니다.
  2. 쿼리 필드에 다음 PromQL 표현식을 입력하여 각 피연산자의 외부 Secrets Operator를 쿼리합니다.

    {job="external-secrets"}
    Copy to Clipboard Toggle word wrap
    {job="external-secrets-webhook"}
    Copy to Clipboard Toggle word wrap
    {job="external-secrets-cert-controller-metrics"}
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat