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,53 @@
|
||||
# vmagent 배포 (Kubernetes 메트릭 수집)
|
||||
|
||||
kubelet·cadvisor·kube-state-metrics·node-exporter·파드 annotation을 스크레이핑하여 VictoriaMetrics Cluster로 전송한다.
|
||||
|
||||
## 1. 배포 방법
|
||||
|
||||
### 사전 준비 — relabel ConfigMap
|
||||
|
||||
`remoteWrite`의 `urlRelabelConfig`가 참조하는 ConfigMap을 먼저 생성한다. 네임스페이스 → accountID 분기 규칙을 담는다.
|
||||
|
||||
```sh
|
||||
kubectl create configmap vmagent-relabel-configs -n monitoring \
|
||||
--from-file=demo01.yaml --from-file=demo02.yaml --from-file=platform.yaml
|
||||
```
|
||||
|
||||
각 파일은 `write_relabel_configs` 규칙(예: 특정 namespace만 통과)을 담는다. 테넌트별 격리가 필요 없으면 fallback(accountID 0) remoteWrite 하나만 남겨도 된다.
|
||||
|
||||
```sh
|
||||
helm upgrade vmagent ./ -f custom-values.yaml --install -n monitoring
|
||||
```
|
||||
|
||||
## 2. custom-values.yaml 설정 설명
|
||||
|
||||
### 2.1 remoteWrite (accountID 매핑)
|
||||
|
||||
| accountID | 대상 | urlRelabelConfig |
|
||||
|-----------|------|------------------|
|
||||
| 1 | demo01 (namespace: demo01-*) | `/relabel/demo01.yaml` |
|
||||
| 2 | demo02 (namespace: demo02-*) | `/relabel/demo02.yaml` |
|
||||
| 9000 | platform (kafka-system, kubeflow 등) | `/relabel/platform.yaml` |
|
||||
| 0 | fallback (미매칭) | 없음 |
|
||||
|
||||
> 쓰기 경로는 vmauth를 경유하지 않고 vminsert(`:8480`)에 직접 쓴다. `writeRelabelConfigs`(camelCase)는 CLI 미지원이라 파일 마운트(`urlRelabelConfig`) 방식을 사용한다.
|
||||
|
||||
### 2.2 scrape_configs
|
||||
|
||||
kubelet / cadvisor / kube-state-metrics / node-exporter / `kubernetes-pods`(annotation 기반) 5개 job을 포함한다. kube-state-metrics·node-exporter는 `monitoring` 네임스페이스의 엔드포인트를 keep 한다.
|
||||
|
||||
### 2.3 RBAC
|
||||
|
||||
`rbac.extraRules`로 nodes/proxy, nodes/metrics, `/metrics/cadvisor` 등 kubelet 스크레이프 권한을 부여한다.
|
||||
|
||||
## 3. 의존 관계
|
||||
|
||||
- **전송 대상**: vmcluster vminsert:8480
|
||||
- **스크레이프 대상**: kube-state-metrics, prometheus-node-exporter (먼저 배포)
|
||||
|
||||
## 4. 검증
|
||||
|
||||
```sh
|
||||
kubectl port-forward -n monitoring deploy/vmagent-victoria-metrics-agent 8429:8429
|
||||
curl -s http://localhost:8429/targets | grep -c 'up' # active target 확인
|
||||
```
|
||||
Reference in New Issue
Block a user