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
오브젝트에 대한 변경 사항을 덮어쓰지 않습니다.
프로세스
지정된 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 ...
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 ...