feat(victoria-metrics): add Kustomization and configuration files for Victoria Metrics stack

This commit is contained in:
2026-05-03 13:23:21 +02:00
parent a6856e0260
commit 5e7a3570f6
6 changed files with 212 additions and 0 deletions
@@ -0,0 +1,21 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: victoria-metrics
namespace: argocd
spec:
project: default
destination:
namespace: victoria-metrics
server: https://kubernetes.default.svc
sources:
- repoURL: git@git.janis-eccarius.de:NowChess/GitOps.git
path: ./victoria-metrics/eu-central-1
targetRevision: main
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
@@ -0,0 +1,23 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- namespace.yaml
helmCharts:
- name: victoria-metrics-k8s-stack
repo: https://victoriametrics.github.io/helm-charts/
version: 0.76.0
releaseName: vm-stack
namespace: victoria-metrics
valuesFile: vm-stack-values.yaml
- name: victoria-logs-single
repo: https://victoriametrics.github.io/helm-charts/
version: 0.12.4
releaseName: victoria-logs
namespace: victoria-metrics
valuesFile: victoria-logs-values.yaml
- name: victoria-traces-single
repo: https://victoriametrics.github.io/helm-charts/
version: 0.0.7
releaseName: victoria-traces
namespace: victoria-metrics
valuesFile: victoria-traces-values.yaml
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: victoria-metrics
@@ -0,0 +1,20 @@
server:
retentionPeriod: 7d
resources:
requests:
cpu: 30m
memory: 40Mi
limits:
cpu: 300m
memory: 100Mi
extraArgs:
envflag.enable: "true"
envflag.prefix: VM_
loggerFormat: json
search.maxConcurrentRequests: "4"
search.maxMemoryPerQuery: 20MB
persistentVolume:
enabled: true
size: 3Gi
accessModes:
- ReadWriteOnce
@@ -0,0 +1,20 @@
server:
retentionPeriod: 7d
resources:
requests:
cpu: 30m
memory: 40Mi
limits:
cpu: 300m
memory: 80Mi
extraArgs:
envflag.enable: "true"
envflag.prefix: VM_
loggerFormat: json
search.maxConcurrentRequests: "4"
search.maxMemoryPerQuery: 20MB
persistentVolume:
enabled: true
size: 2Gi
accessModes:
- ReadWriteOnce
@@ -0,0 +1,124 @@
# victoria-metrics-k8s-stack — all CRDs managed by victoria-metrics-operator
# VMSingle service: vmsingle-vm-stack.victoria-metrics.svc.cluster.local:8428
# VMAlert service: vmalert-vm-stack.victoria-metrics.svc.cluster.local:8080
victoria-metrics-operator:
resources:
requests:
cpu: 20m
memory: 30Mi
limits:
cpu: 200m
memory: 60Mi
operator:
disable_prometheus_converter: false
vmsingle:
enabled: true
spec:
retentionPeriod: "2"
replicaCount: 1
resources:
requests:
cpu: 50m
memory: 80Mi
limits:
cpu: 500m
memory: 150Mi
storage:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
vmagent:
enabled: true
spec:
scrapeInterval: 60s
resources:
requests:
cpu: 20m
memory: 30Mi
limits:
cpu: 200m
memory: 60Mi
vmalert:
enabled: true
spec:
evaluationInterval: 60s
resources:
requests:
cpu: 20m
memory: 20Mi
limits:
cpu: 200m
memory: 50Mi
alertmanager:
enabled: true
spec:
replicaCount: 1
resources:
requests:
cpu: 10m
memory: 20Mi
limits:
cpu: 100m
memory: 40Mi
grafana:
enabled: true
resources:
requests:
cpu: 50m
memory: 80Mi
limits:
cpu: 300m
memory: 150Mi
persistence:
enabled: false
plugins:
- victoriametrics-metrics-datasource
- victoriametrics-logs-datasource
sidecar:
datasources:
enabled: true
label: grafana_datasource
labelValue: "1"
dashboards:
enabled: true
label: grafana_dashboard
labelValue: "1"
folder: /var/lib/grafana/dashboards
defaultFolderName: default
grafana.ini:
server:
root_url: "%(protocol)s://%(domain)s/"
auth.anonymous:
enabled: false
defaultDashboards:
enabled: true
defaultTimezone: utc
prometheus-node-exporter:
enabled: true
resources:
requests:
cpu: 10m
memory: 15Mi
limits:
cpu: 100m
memory: 30Mi
kube-state-metrics:
enabled: true
resources:
requests:
cpu: 15m
memory: 30Mi
limits:
cpu: 200m
memory: 60Mi