Add VictoriaMetrics observability stack + sync catalog for monitoring test
- VM stack 10 charts: victoria-metrics-cluster/auth, victoria-logs-cluster, victoria-metrics-agent/alert, opentelemetry-collector, kube-state-metrics, prometheus-node-exporter, alertmanager, perses (JWT/OIDC, Infisical-ready) - ArgoCD ApplicationSet (syncWave) + per-chart dip-values overlays - doc/victoria-metrics-architecture.md, define-chart-resources updates - includes pending working-tree changes (mlflow, kubeflow, apisix, CLAUDE.md) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# VictoriaMetrics Cluster 배포
|
||||
|
||||
URL 기반 멀티테넌시를 지원하는 고가용 시계열 메트릭 스토리지. vminsert(쓰기)·vmselect(조회)·vmstorage(저장) 3개 컴포넌트로 구성된다.
|
||||
|
||||
## 1. 배포 방법
|
||||
|
||||
```sh
|
||||
helm upgrade vmcluster ./ -f custom-values.yaml --install -n monitoring
|
||||
```
|
||||
|
||||
배포 시 주의:
|
||||
- `vmstorage`는 StatefulSet + PVC를 사용한다. `persistentVolume.size`(기본 10Gi)와 StorageClass를 환경에 맞게 조정한다.
|
||||
- 인증/라우팅은 이 차트가 담당하지 않는다. 사용자/외부 접근은 **victoria-metrics-auth(vmauth)** 차트를 앞단에 둔다.
|
||||
|
||||
## 2. custom-values.yaml 설정 설명
|
||||
|
||||
| 컴포넌트 | 포트 | 역할 |
|
||||
|----------|------|------|
|
||||
| vminsert | 8480 | 쓰기 수신 — `/insert/{accountID}/prometheus/api/v1/write` |
|
||||
| vmselect | 8481 | 쿼리 — `/select/{accountID}/prometheus/api/v1/query` |
|
||||
| vmstorage | 8482 | 데이터 저장 (PVC, 보존기간 `retentionPeriod`) |
|
||||
|
||||
## 3. 멀티테넌시
|
||||
|
||||
`accountID`를 URL 경로에 포함하여 **스토리지 레벨에서 완전 격리**된다.
|
||||
- 쓰기: vmagent가 `/insert/{accountID}/...`로 전송
|
||||
- 조회: vmauth가 JWT `vm_access`의 accountID로 `/select/{accountID}/...` 라우팅
|
||||
- 전체 집계: `/select/multitenant/prometheus` (vmalert 등 플랫폼 레벨)
|
||||
|
||||
## 4. 의존 관계
|
||||
|
||||
- **쓰기**: vmagent → vminsert:8480
|
||||
- **조회**: vmauth → vmselect:8481, vmalert → vmselect multitenant
|
||||
- **알림 메트릭**: vmalert remoteWrite → vminsert:8480 `/insert/0/`
|
||||
|
||||
## 5. 검증
|
||||
|
||||
```sh
|
||||
kubectl get pods -n monitoring -l app.kubernetes.io/instance=vmcluster
|
||||
kubectl port-forward -n monitoring svc/vmcluster-victoria-metrics-cluster-vmselect 8481:8481
|
||||
curl -s 'http://localhost:8481/select/0/prometheus/api/v1/query?query=up' | jq '.status'
|
||||
```
|
||||
Reference in New Issue
Block a user