b100f3034e
Migrate Victoria Metrics cluster and agent from Terragrunt to ArgoCD/Kustomize. Creates new observability AppProject and ApplicationSet. Deploys victoria-metrics-cluster v0.33.0 (vmselect/vminsert/vmstorage with HPA, PDB, ingress) and victoria-metrics-agent v0.30.0 (3 replicas, k8s scrape configs) in the observability namespace. 💘 Generated with Crush Assisted-by: Claude Sonnet 4.6 via Crush <crush@charm.land> Reviewed-on: #82
186 lines
4.4 KiB
YAML
186 lines
4.4 KiB
YAML
vmselect:
|
|
enabled: true
|
|
image:
|
|
repository: victoriametrics/vmselect
|
|
pullPolicy: IfNotPresent
|
|
variant: cluster
|
|
extraArgs:
|
|
envflag.enable: true
|
|
envflag.prefix: VM_
|
|
loggerFormat: json
|
|
httpListenAddr: :8481
|
|
dedup.minScrapeInterval: 15s
|
|
replicationFactor: 2
|
|
resources:
|
|
limits:
|
|
cpu: 500m
|
|
memory: 1024Mi
|
|
requests:
|
|
cpu: 50m
|
|
memory: 128Mi
|
|
horizontalPodAutoscaler:
|
|
enabled: true
|
|
maxReplicas: 10
|
|
minReplicas: 2
|
|
metrics:
|
|
- type: Resource
|
|
resource:
|
|
name: cpu
|
|
target:
|
|
type: Utilization
|
|
averageUtilization: 60
|
|
behavior:
|
|
scaleUp:
|
|
stabilizationWindowSeconds: 0
|
|
selectPolicy: Max
|
|
policies:
|
|
- type: Percent
|
|
value: 100
|
|
periodSeconds: 30
|
|
- type: Pods
|
|
value: 4
|
|
periodSeconds: 30
|
|
scaleDown:
|
|
stabilizationWindowSeconds: 300
|
|
selectPolicy: Min
|
|
policies:
|
|
- type: Percent
|
|
value: 10
|
|
periodSeconds: 60
|
|
- type: Pods
|
|
value: 2
|
|
periodSeconds: 60
|
|
podAnnotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8481"
|
|
podDisruptionBudget:
|
|
enabled: true
|
|
maxUnavailable: 1
|
|
replicaCount: 2
|
|
ingress:
|
|
enabled: true
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: vault-issuer
|
|
cert-manager.io/common-name: vmselect.k8s.syd1.au.unkin.net
|
|
cert-manager.io/private-key-size: "4096"
|
|
external-dns.alpha.kubernetes.io/hostname: vmselect.k8s.syd1.au.unkin.net
|
|
external-dns.alpha.kubernetes.io/target: 198.18.200.0
|
|
hosts:
|
|
- name: vmselect.k8s.syd1.au.unkin.net
|
|
path:
|
|
- /
|
|
port: http
|
|
tls:
|
|
- hosts:
|
|
- vmselect.k8s.syd1.au.unkin.net
|
|
secretName: vmselect-tls
|
|
ingressClassName: nginx
|
|
|
|
vminsert:
|
|
enabled: true
|
|
image:
|
|
repository: victoriametrics/vminsert
|
|
variant: cluster
|
|
pullPolicy: IfNotPresent
|
|
extraArgs:
|
|
envflag.enable: true
|
|
envflag.prefix: VM_
|
|
loggerFormat: json
|
|
httpListenAddr: :8480
|
|
replicationFactor: 2
|
|
resources:
|
|
limits:
|
|
cpu: 500m
|
|
memory: 1024Mi
|
|
requests:
|
|
cpu: 50m
|
|
memory: 128Mi
|
|
horizontalPodAutoscaler:
|
|
enabled: true
|
|
maxReplicas: 10
|
|
minReplicas: 2
|
|
metrics:
|
|
- type: Resource
|
|
resource:
|
|
name: cpu
|
|
target:
|
|
type: Utilization
|
|
averageUtilization: 60
|
|
behavior:
|
|
scaleUp:
|
|
stabilizationWindowSeconds: 0
|
|
selectPolicy: Max
|
|
policies:
|
|
- type: Percent
|
|
value: 100
|
|
periodSeconds: 30
|
|
- type: Pods
|
|
value: 4
|
|
periodSeconds: 30
|
|
scaleDown:
|
|
stabilizationWindowSeconds: 300
|
|
selectPolicy: Min
|
|
policies:
|
|
- type: Percent
|
|
value: 10
|
|
periodSeconds: 60
|
|
- type: Pods
|
|
value: 2
|
|
periodSeconds: 60
|
|
podAnnotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8480"
|
|
podDisruptionBudget:
|
|
enabled: true
|
|
maxUnavailable: 1
|
|
replicaCount: 2
|
|
ingress:
|
|
enabled: true
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: vault-issuer
|
|
cert-manager.io/common-name: vminsert.k8s.syd1.au.unkin.net
|
|
cert-manager.io/private-key-size: "4096"
|
|
external-dns.alpha.kubernetes.io/hostname: vminsert.k8s.syd1.au.unkin.net
|
|
external-dns.alpha.kubernetes.io/target: 198.18.200.0
|
|
nginx.ingress.kubernetes.io/proxy-body-size: "100m"
|
|
hosts:
|
|
- name: vminsert.k8s.syd1.au.unkin.net
|
|
path:
|
|
- /
|
|
port: http
|
|
tls:
|
|
- hosts:
|
|
- vminsert.k8s.syd1.au.unkin.net
|
|
secretName: vminsert-tls
|
|
ingressClassName: nginx
|
|
|
|
vmstorage:
|
|
enabled: true
|
|
image:
|
|
repository: victoriametrics/vmstorage
|
|
variant: cluster
|
|
pullPolicy: IfNotPresent
|
|
retentionPeriod: 180d
|
|
extraArgs:
|
|
envflag.enable: true
|
|
envflag.prefix: VM_
|
|
loggerFormat: json
|
|
httpListenAddr: :8482
|
|
dedup.minScrapeInterval: 15s
|
|
podAnnotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8482"
|
|
podDisruptionBudget:
|
|
enabled: true
|
|
maxUnavailable: 1
|
|
persistentVolume:
|
|
enabled: true
|
|
name: vmstorage-volume
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
storageClassName: cephrbd-fast-delete
|
|
mountPath: /storage
|
|
size: 200Gi
|
|
replicaCount: 3
|
|
podManagementPolicy: OrderedReady
|