6290322f1b
- 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>
1.8 KiB
1.8 KiB
VictoriaMetrics Cluster 배포
URL 기반 멀티테넌시를 지원하는 고가용 시계열 메트릭 스토리지. vminsert(쓰기)·vmselect(조회)·vmstorage(저장) 3개 컴포넌트로 구성된다.
1. 배포 방법
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. 검증
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'