프로젝트 소개
Prometheus Operator는 Prometheus 및 관련 모니터링 구성 요소의 Kubernetes 네이티브 배포 및 관리를 제공합니다. 주요 목표는 Kubernetes 클러스터를 위한 Prometheus 기반 모니터링 스택의 구성을 단순화하고 자동화하는 것입니다.
주요 기능은 다음과 같습니다:
- **Kubernetes 커스텀 리소스**: Kubernetes 커스텀 리소스를 사용하여 Prometheus, Alertmanager 및 관련 구성 요소를 배포하고 관리합니다.
- **간소화된 배포 구성**: 버전, 영속성, 보존 정책, 복제본과 같은 Prometheus 기본 사항을 네이티브 Kubernetes 리소스에서 구성합니다.
- **Prometheus 대상 구성**: 익숙한 Kubernetes 레이블 쿼리를 기반으로 모니터링 대상 구성을 자동 생성하여 Prometheus 전용 구성 언어를 배울 필요가 없습니다.
이 Operator는 다음 커스텀 리소스 정의(CRD)에 대해 작동합니다:
- **Prometheus**: 원하는 Prometheus 배포를 정의합니다.
- **PrometheusAgent**: 에이전트 모드로 실행되는 원하는 Prometheus 배포를 정의합니다.
- **Alertmanager**: 원하는 Alertmanager 배포를 정의합니다.
- **ThanosRuler**: 원하는 Thanos Ruler 배포를 정의합니다.
- **ServiceMonitor**: Kubernetes 서비스 그룹을 모니터링하는 방법을 선언적으로 지정하며, Operator가 Prometheus 스크레이프 구성을 자동 생성합니다.
- **PodMonitor**: 파드 그룹을 모니터링하는 방법을 선언적으로 지정하며, Operator가 Prometheus 스크레이프 구성을 자동 생성합니다.
- **Probe**: 인그레스 또는 정적 대상 그룹을 모니터링하는 방법을 선언적으로 지정합니다.
- **ScrapeConfig**: Prometheus에 추가할 스크레이프 구성을 선언적으로 지정하며, Kubernetes 클러스터 외부 리소스를 스크레이프하는 데 유용합니다.
- **PrometheusRule**: 원하는 Prometheus 경고 및/또는 기록 규칙 집합을 정의하며, Operator가 Prometheus 인스턴스용 규칙 파일을 생성합니다.
- **AlertmanagerConfig**: Alertmanager 구성의 하위 섹션을 선언적으로 지정하여 사용자 지정 수신자로 경고를 라우팅하고 억제 규칙을 설정할 수 있습니다.
Operator는 Kubernetes API 서버에서 이러한 객체의 변경 사항을 자동으로 감지하고 일치하는 배포 및 구성이 동기화되도록 보장합니다.
추가 기능은 다음과 같습니다:
- **동적 승인 제어**: 승인 웹훅이 PrometheusRule 리소스의 생성 또는 업데이트 시 검증하여 잘못된 경고 및 기록 규칙이 배포된 Prometheus 인스턴스에서 실패를 유발하지 않도록 방지합니다.
- **프로덕션 준비**: Operator 자체는 프로덕션 준비가 완료된 것으로 간주됩니다. monitoring.coreos.com/v1 CRD 및 API는 안정적이며 하위 호환 가능한 변경 사항을 제공합니다.
전제 조건은 최소 Kubernetes 버전 1.16.0입니다. 이 프로젝트는 또한 완전한 클러스터 모니터링 스택의 예제 구성을 위한 kube-prometheus와 유사한 기능을 위한 커뮤니티 유지 관리 Helm 차트(prometheus-community/kube-prometheus-stack)를 제공합니다.
프로젝트에는 시작하기, 설계 세부 사항, 문제 해결, 테스트 및 기여 지침에 대한 문서가 포함되어 있으며, 기여자를 위한 AI 사용 정책도 포함되어 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.