364 lines
11 KiB
YAML
364 lines
11 KiB
YAML
# Default values for victoria-metrics.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
global:
|
|
# -- Image pull secrets, that can be shared across multiple helm charts
|
|
imagePullSecrets: []
|
|
image:
|
|
# -- Image registry, that can be shared across multiple helm charts
|
|
registry: ""
|
|
vm:
|
|
# -- Image tag for all vm charts
|
|
tag: ""
|
|
# -- Openshift security context compatibility configuration
|
|
compatibility:
|
|
openshift:
|
|
adaptSecurityContext: "auto"
|
|
# -- k8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/)
|
|
cluster:
|
|
dnsDomain: cluster.local.
|
|
|
|
# -- Print information after deployment
|
|
printNotes: true
|
|
|
|
# -- use SRV discovery for storageNode and selectNode flags for enterprise version
|
|
autoDiscovery: false
|
|
|
|
common:
|
|
# -- common for all components image configuration
|
|
image:
|
|
tag: ""
|
|
|
|
serviceAccount:
|
|
# -- Specifies whether a service account should be created
|
|
create: true
|
|
|
|
# -- The name of the service account to use.
|
|
# If not set and create is true, a name is generated using the fullname template
|
|
name:
|
|
|
|
# -- Service account labels
|
|
extraLabels: {}
|
|
|
|
# -- Service account annotations
|
|
annotations: {}
|
|
|
|
# -- mount API token to pod directly
|
|
automountToken: true
|
|
|
|
# -- Override chart name
|
|
nameOverride: ""
|
|
|
|
extraSecrets:
|
|
[]
|
|
# - name: secret-remote-storage-keys
|
|
# annotations: []
|
|
# labels: []
|
|
# data: |
|
|
# credentials: b64_encoded_str
|
|
|
|
# -- Add extra specs dynamically to this chart
|
|
extraObjects: []
|
|
|
|
vmselect:
|
|
enabled: false
|
|
|
|
vminsert:
|
|
enabled: false
|
|
|
|
vmauth:
|
|
enabled: false
|
|
|
|
vmstorage:
|
|
# -- Enable deployment of vmstorage component. StatefulSet is used
|
|
enabled: true
|
|
# -- Override default `app` label name
|
|
name: vmstorage
|
|
image:
|
|
# -- Image registry
|
|
registry: ""
|
|
# -- Image repository
|
|
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vmstorage
|
|
# -- Image tag
|
|
tag: v1.133.0-cluster
|
|
# -- Variant of the image to use. e.g. cluster, enterprise-cluster
|
|
variant: cluster
|
|
# -- Image pull policy
|
|
pullPolicy: IfNotPresent
|
|
# -- Specify pod lifecycle
|
|
lifecycle: {}
|
|
ports:
|
|
# -- VMStorage http port name
|
|
name: "http"
|
|
# -- Name of Priority Class
|
|
priorityClassName: ""
|
|
# -- Overrides the full name of vmstorage component
|
|
fullnameOverride: vm-storage-demand-prd
|
|
|
|
# -- Additional environment variables (ex.: secret tokens, flags). Check https://docs.victoriametrics.com/victoriametrics/#environment-variables for details
|
|
env: []
|
|
# -- Specify alternative source for env variables
|
|
envFrom: []
|
|
# -- Data retention period. Possible units character: h(ours), d(ays), w(eeks), y(ears), if no unit character specified - month. The minimum retention period is 24h.
|
|
retentionPeriod: 90d
|
|
# Additional vmstorage container arguments. Extra command line arguments for vmstorage component
|
|
extraArgs:
|
|
envflag.enable: true
|
|
envflag.prefix: VM_
|
|
loggerFormat: json
|
|
search.maxUniqueTimeseries: "30000000"
|
|
httpListenAddr: :8482
|
|
loggerTimezone: "Asia/Kolkata"
|
|
dedup.minScrapeInterval: 60s
|
|
|
|
# Additional hostPath mounts
|
|
extraHostPathMounts:
|
|
[]
|
|
# - name: certs-dir
|
|
# mountPath: /etc/kubernetes/certs
|
|
# subPath: ""
|
|
# hostPath: /etc/kubernetes/certs
|
|
# readOnly: true
|
|
|
|
# Extra Volumes for the pod
|
|
extraVolumes:
|
|
[]
|
|
# - name: example
|
|
# configMap:
|
|
# name: example
|
|
|
|
# Extra Volume Mounts for the container
|
|
extraVolumeMounts:
|
|
[]
|
|
# - name: example
|
|
# mountPath: /example
|
|
|
|
extraContainers:
|
|
[]
|
|
# - name: config-reloader
|
|
# image: reloader-image
|
|
|
|
extraSecretMounts:
|
|
[]
|
|
# - name: secret
|
|
# mountPath: /etc/credentials
|
|
# subPath: ""
|
|
# readOnly: true
|
|
|
|
initContainers:
|
|
[]
|
|
# - name: vmrestore
|
|
# image: victoriametrics/vmrestore:latest
|
|
# volumeMounts:
|
|
# - mountPath: /storage
|
|
# name: vmstorage-volume
|
|
# - mountPath: /etc/vm/creds
|
|
# name: secret-remote-storage-keys
|
|
# readOnly: true
|
|
# args:
|
|
# - -storageDataPath=/storage
|
|
# - -src=s3://your_bucket/folder/latest
|
|
# - -credsFilePath=/etc/vm/creds/credentials
|
|
|
|
# -- See `kubectl explain poddisruptionbudget.spec` for more. Ref: [https://kubernetes.io/docs/tasks/run-application/configure-pdb/](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
|
|
podDisruptionBudget:
|
|
enabled: false
|
|
# minAvailable: 1
|
|
# maxUnavailable: 1
|
|
labels: {}
|
|
|
|
# -- Array of tolerations object. Node tolerations for server scheduling to nodes with taints. Ref: [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
|
|
##
|
|
tolerations:
|
|
- key: "dedicated"
|
|
operator: "Equal"
|
|
value: "vmstorage-n4d"
|
|
effect: "NoSchedule"
|
|
|
|
# -- Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/)
|
|
nodeSelector:
|
|
dedicated: "vmstorage-n4d"
|
|
|
|
# -- Pod affinity
|
|
affinity: {}
|
|
|
|
topologySpreadConstraints:
|
|
- maxSkew: 1
|
|
topologyKey: topology.kubernetes.io/zone
|
|
whenUnsatisfiable: ScheduleAnyway
|
|
labelSelector:
|
|
matchLabels:
|
|
type: vmstorage
|
|
- maxSkew: 1
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
type: vmstorage
|
|
|
|
# -- Use an alternate scheduler, e.g. "stork". Check https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ for details
|
|
# schedulerName:
|
|
|
|
# -- Empty dir configuration if persistence is disabled
|
|
emptyDir: {}
|
|
persistentVolume:
|
|
# -- Create/use Persistent Volume Claim for vmstorage component. Empty dir if false. If true, vmstorage will create/use a Persistent Volume Claim
|
|
enabled: true
|
|
|
|
# -- Override Persistent Volume Claim name
|
|
name: vmstack-storage-volume
|
|
|
|
# -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are https://kubernetes.io/docs/concepts/storage/persistent-volumes/
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
# -- Persistent volume annotations
|
|
annotations: {}
|
|
# -- Persistent volume extra labels
|
|
extraLabels: {}
|
|
# -- Storage class name. Will be empty if not set
|
|
storageClassName: hyperdisk-balanced
|
|
# -- Existing Claim name. Requires vmstorage.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound
|
|
existingClaim: ""
|
|
|
|
# -- Data root path. Vmstorage data Persistent Volume mount root path
|
|
mountPath: /storage
|
|
# -- Size of the volume
|
|
size: 9677Gi
|
|
# -- Mount subpath
|
|
subPath: ""
|
|
|
|
# -- Pod's annotations
|
|
podAnnotations:
|
|
prometheus.io/port: "8482"
|
|
prometheus.io/scrape: "true"
|
|
# -- StatefulSet/Deployment annotations
|
|
annotations:
|
|
prometheus.io/port: "8482"
|
|
prometheus.io/scrape: "true"
|
|
# -- StatefulSet/Deployment additional labels
|
|
extraLabels:
|
|
bu: "demand"
|
|
team: "demand-sre"
|
|
service: "vm-storage-demand-prd"
|
|
env: "prd"
|
|
priority: "p0"
|
|
type: "vmstorage"
|
|
# arch: "arm64"
|
|
# runpod: "ondemand"
|
|
# -- Pod's additional labels
|
|
podLabels:
|
|
bu: "demand"
|
|
team: "demand-sre"
|
|
service: "vm-storage-demand-prd"
|
|
env: "prd"
|
|
priority: "p0"
|
|
type: "vmstorage"
|
|
|
|
# -- Count of vmstorage pods
|
|
replicaCount: 5
|
|
# -- Container workdir
|
|
containerWorkingDir: ""
|
|
# -- Deploy order policy for StatefulSet pods
|
|
podManagementPolicy: OrderedReady
|
|
|
|
# -- Resource object. Details are https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
resources:
|
|
# limits:
|
|
# cpu: 500m
|
|
# memory: 512Mi
|
|
requests:
|
|
cpu: 85
|
|
memory: 700Gi
|
|
|
|
# -- Pod's security context. Details are https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
|
securityContext:
|
|
enabled: false
|
|
# -- Pod's security context. Details are https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
|
podSecurityContext:
|
|
enabled: false
|
|
service:
|
|
enabled: true
|
|
# -- Service annotations
|
|
annotations: {}
|
|
# -- Service ClusterIP
|
|
clusterIP: None
|
|
# -- Service type
|
|
type: ClusterIP
|
|
# -- Service labels
|
|
labels: {}
|
|
# -- Service port
|
|
servicePort: 8482
|
|
# -- Port for accepting connections from vminsert
|
|
vminsertPort: 8400
|
|
# -- Port for accepting connections from vmselect
|
|
vmselectPort: 8401
|
|
# -- Extra service ports
|
|
extraPorts: []
|
|
# -- Health check node port for a service. Check https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip for details
|
|
healthCheckNodePort: ""
|
|
# -- Service external traffic policy. Check https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip for details
|
|
externalTrafficPolicy: ""
|
|
# -- Service IP family policy. Check https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services for details
|
|
ipFamilyPolicy: ""
|
|
# -- List of service IP families. Check https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services for details
|
|
ipFamilies: []
|
|
# -- Traffic Distribution. Check https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution
|
|
trafficDistribution: ""
|
|
# -- Pod's termination grace period in seconds
|
|
terminationGracePeriodSeconds: 60
|
|
minReadySeconds: 5
|
|
# -- Readiness probes
|
|
probe:
|
|
# -- VMStorage readiness probe
|
|
readiness:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 15
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3
|
|
liveness:
|
|
tcpSocket:
|
|
port: http
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 30
|
|
timeoutSeconds: 5
|
|
failureThreshold: 10
|
|
# -- VMStorage startup probe
|
|
startup: {}
|
|
|
|
horizontalPodAutoscaler:
|
|
# -- Use HPA for vmstorage component
|
|
enabled: false
|
|
# -- Maximum replicas for HPA to use to to scale the vmstorage component
|
|
maxReplicas: 10
|
|
# -- Minimum replicas for HPA to use to scale the vmstorage component
|
|
minReplicas: 2
|
|
# -- Metric for HPA to use to scale the vmstorage component
|
|
metrics: []
|
|
# -- Behavior settings for scaling by the HPA
|
|
behavior:
|
|
scaleDown:
|
|
selectPolicy: Disabled
|
|
|
|
vmbackupmanager:
|
|
# -- Enable automatic creation of backup via vmbackupmanager. vmbackupmanager is part of Enterprise packages
|
|
enabled: false
|
|
|
|
# -- Enterprise license key configuration for VictoriaMetrics enterprise.
|
|
# Required only for VictoriaMetrics enterprise. Check docs [here](https://docs.victoriametrics.com/victoriametrics/enterprise/),
|
|
# for more information, visit [site](https://victoriametrics.com/products/enterprise/).
|
|
# Request a trial license [here](https://victoriametrics.com/products/enterprise/trial/)
|
|
# Supported starting from VictoriaMetrics v1.94.0
|
|
license:
|
|
# -- License key
|
|
key: ""
|
|
|
|
# -- Use existing secret with license key
|
|
secret:
|
|
# -- Existing secret name
|
|
name: ""
|
|
# -- Key in secret with license key
|
|
key: ""
|