4.14. Argo CD 사용자 정의 리소스 워크로드 모니터링


Red Hat OpenShift GitOps를 사용하면 특정 Argo CD 인스턴스에 대한 Argo CD 사용자 정의 리소스 워크로드의 가용성을 모니터링할 수 있습니다. Argo CD 사용자 정의 리소스 워크로드를 모니터링하면 경고를 활성화하여 Argo CD 인스턴스의 상태에 대한 최신 정보가 있습니다. 해당 Argo CD 인스턴스의 application-controller, repo-server 또는 서버와 같은 구성 요소 워크로드 Pod가 특정 이유로 발생할 수 없으며 준비된 복제본 수와 특정 기간 동안 필요한 복제본 수 사이에 변동이 있는 경우 Operator는 경고를 트리거합니다.

Argo CD 사용자 정의 리소스 워크로드를 모니터링하기 위한 설정을 활성화하고 비활성화할 수 있습니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • Red Hat OpenShift GitOps가 클러스터에 설치되어 있습니다.
  • 모니터링 스택은 openshift-monitoring 프로젝트의 클러스터에 구성되어 있습니다. 또한 Argo CD 인스턴스는 Prometheus를 통해 모니터링할 수 있는 네임스페이스에 있습니다.
  • kube-state-metrics 서비스가 클러스터에서 실행 중입니다.
  • 선택 사항: 사용자 정의 프로젝트에 Argo CD 인스턴스에 대한 모니터링을 이미 사용하는 경우 클러스터의 사용자 정의 프로젝트에 대한 모니터링이 활성화되어 있는지 확인합니다.

    참고

    기본 openshift-monitoring 스택에서 감시하지 않는 네임스페이스에서 Argo CD 인스턴스에 대한 모니터링을 활성화하려면 openshift-* 로 시작하지 않는 네임스페이스, 클러스터에서 사용자 워크로드 모니터링을 활성화해야 합니다. 이 작업을 사용하면 모니터링 스택에서 생성된 PrometheusRule을 가져올 수 있습니다.

4.14.1. Argo CD 사용자 정의 리소스 워크로드에 대한 모니터링 활성화

기본적으로 Argo CD 사용자 정의 리소스 워크로드에 대한 모니터링 구성은 false 로 설정됩니다.

Red Hat OpenShift GitOps를 사용하면 특정 Argo CD 인스턴스에 대한 워크로드 모니터링을 활성화할 수 있습니다. 결과적으로 Operator는 특정 Argo CD 인스턴스에서 관리하는 모든 워크로드에 대한 경고 규칙이 포함된 PrometheusRule 오브젝트를 생성합니다. 이러한 경고 규칙은 해당 구성 요소의 복제본 수가 일정 기간 동안 원하는 상태에서 변경될 때 경고를 트리거합니다. Operator는 사용자가 PrometheusRule 오브젝트에 대한 변경 사항을 덮어쓰지 않습니다.

프로세스

  1. 지정된 Argo CD 인스턴스에서 .spec.monitoring.enabled 필드 값을 true 로 설정합니다.

    Argo CD 사용자 정의 리소스의 예

    apiVersion: argoproj.io/v1alpha1
    kind: ArgoCD
    metadata:
      name: example-argocd
      labels:
        example: repo
    spec:
      ...
      monitoring:
        enabled: true
      ...

  2. Operator에서 생성한 PrometheusRule에 경고 규칙이 포함되어 있는지 확인합니다.

    경고 규칙 예

    apiVersion: monitoring.coreos.com/v1
    kind: PrometheusRule
    metadata:
      name: argocd-component-status-alert
      namespace: openshift-gitops
    spec:
      groups:
        - name: ArgoCDComponentStatus
          rules:
            ...
            - alert: ApplicationSetControllerNotReady 1
              annotations:
                message: >-
                  applicationSet controller deployment for Argo CD instance in
                  namespace "default" is not running
              expr: >-
                kube_statefulset_status_replicas{statefulset="openshift-gitops-application-controller statefulset",
                namespace="openshift-gitops"} !=
                kube_statefulset_status_replicas_ready{statefulset="openshift-gitops-application-controller statefulset",
                namespace="openshift-gitops"}
              for: 1m
              labels:
                severity: critical

    1
    Argo CD 인스턴스에서 생성한 워크로드가 예상대로 실행되는지 확인하는 PrometheusRule의 경고 규칙입니다.

4.14.2. Argo CD 사용자 정의 리소스 워크로드에 대한 모니터링 비활성화

특정 Argo CD 인스턴스에 대한 워크로드 모니터링을 비활성화할 수 있습니다. 워크로드 모니터링을 비활성화하면 생성된 PrometheusRule이 삭제됩니다.

프로세스

  • 지정된 Argo CD 인스턴스에서 .spec.monitoring.enabled 필드 값을 false 로 설정합니다.

    Argo CD 사용자 정의 리소스의 예

    apiVersion: argoproj.io/v1alpha1
    kind: ArgoCD
    metadata:
      name: example-argocd
      labels:
        example: repo
    spec:
      ...
      monitoring:
        enabled: false
      ...

4.14.3. 추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.