Type: application Version: 0.16.0 Artifact Hub Slack

Victoria Metrics Cluster version - high-performance, cost-effective and scalable TSDB, long-term remote storage for Prometheus

Prerequisites #

  • Install the follow packages: git, kubectl, helm, helm-docs. See this tutorial.

  • PV support on underlying infrastructure

Chart Details #

Note: this chart installs VictoriaMetrics cluster components such as vminsert, vmselect and vmstorage. It doesn’t create or configure metrics scraping. If you are looking for a chart to configure monitoring stack in cluster check out victoria-metrics-k8s-stack chart.

How to install #

Access a Kubernetes cluster.

Setup chart repository (can be omitted for OCI repositories) #

Add a chart helm repository with follow commands:

helm repo add vm https://victoriametrics.github.io/helm-charts/

helm repo update

List versions of vm/victoria-metrics-cluster chart available to installation:

helm search repo vm/victoria-metrics-cluster -l

Install victoria-metrics-cluster chart #

Export default values of victoria-metrics-cluster chart to file values.yaml:

  • For HTTPS repository

    helm show values vm/victoria-metrics-cluster > values.yaml
    
  • For OCI repository

    helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-cluster > values.yaml
    

Change the values according to the need of the environment in values.yaml file.

Test the installation with command:

  • For HTTPS repository

    helm install vmc vm/victoria-metrics-cluster -f values.yaml -n NAMESPACE --debug --dry-run
    
  • For OCI repository

    helm install vmc oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-cluster -f values.yaml -n NAMESPACE --debug --dry-run
    

Install chart with command:

  • For HTTPS repository

    helm install vmc vm/victoria-metrics-cluster -f values.yaml -n NAMESPACE
    
  • For OCI repository

    helm install vmc oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-cluster -f values.yaml -n NAMESPACE
    

Get the pods lists by running this commands:

kubectl get pods -A | grep 'vmc'

Get the application by running this command:

helm list -f vmc -n NAMESPACE

See the history of versions of vmc application with command.

helm history vmc -n NAMESPACE

How to uninstall #

Remove application with command.

helm uninstall vmc -n NAMESPACE

Documentation of Helm Chart #

Install helm-docs following the instructions on this tutorial.

Generate docs with helm-docs command.

cd charts/victoria-metrics-cluster

helm-docs

The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default README.md.gotmpl). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README.

Parameters #

The following tables lists the configurable parameters of the chart and their default values.

Change the values according to the need of the environment in victoria-metrics-cluster/values.yaml file.

KeyTypeDefaultDescription
autoDiscoverybool
false

extraObjectslist
[]

Add extra specs dynamically to this chart

extraSecretslist
[]

global.clusterobject
dnsDomain: cluster.local.

k8s cluster domain suffix, uses for building storage pods’ FQDN. Details are here

global.compatibilityobject
openshift:
    adaptSecurityContext: auto

Openshift security context compatibility configuration

global.image.registrystring
""

Image registry, that can be shared across multiple helm charts

global.imagePullSecretslist
[]

Image pull secrets, that can be shared across multiple helm charts

licenseobject
key: ""
secret:
    key: ""
    name: ""

Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Check docs here, for more information, visit site. Request a trial license here Supported starting from VictoriaMetrics v1.94.0

license.keystring
""

License key

license.secretobject
key: ""
name: ""

Use existing secret with license key

license.secret.keystring
""

Key in secret with license key

license.secret.namestring
""

Existing secret name

printNotesbool
true

Print information after deployment

serviceAccount.annotationsobject
{}

Service account annotations

serviceAccount.automountTokenbool
true

mount API token to pod directly

serviceAccount.createbool
true

Specifies whether a service account should be created

serviceAccount.extraLabelsobject
{}

Service account labels

serviceAccount.namestring
null

The name of the service account to use. If not set and create is true, a name is generated using the fullname template

vmauth.affinityobject
{}

Pod affinity

vmauth.annotationsobject
{}

VMAuth annotations

vmauth.configobject
unauthorized_user: {}

VMAuth configuration object

vmauth.configSecretNamestring
""

VMAuth configuration secret name

vmauth.containerWorkingDirstring
""

Container workdir

vmauth.enabledbool
false

Enable deployment of vmauth component. With vmauth enabled please set service.clusterIP: None and service.type: ClusterIP for vminsert and vmselect to use vmauth balancing benefits.

vmauth.envlist
[]

Additional environment variables (ex.: secret tokens, flags). Check here for details

vmauth.envFromlist
[]

Specify alternative source for env variables

vmauth.extraArgsobject
envflag.enable: true
envflag.prefix: VM_
httpListenAddr: :8427
loggerFormat: json

Extra command line arguments for vmauth component

vmauth.extraContainerslist
[]

Extra containers to run in a pod with vmauth

vmauth.extraLabelsobject
{}

VMAuth additional labels

vmauth.extraVolumeMountslist
[]

Extra Volume Mounts for the container

vmauth.extraVolumeslist
[]

Extra Volumes for the pod

vmauth.fullnameOverridestring
""

Overrides the full name of vmauth component

vmauth.horizontalPodAutoscaler.behaviorobject
{}

Behavior settings for scaling by the HPA

vmauth.horizontalPodAutoscaler.enabledbool
false

Use HPA for vmauth component

vmauth.horizontalPodAutoscaler.maxReplicasint
10

Maximum replicas for HPA to use to to scale the vmauth component

vmauth.horizontalPodAutoscaler.metricslist
[]

Metric for HPA to use to scale the vmauth component

vmauth.horizontalPodAutoscaler.minReplicasint
2

Minimum replicas for HPA to use to scale the vmauth component

vmauth.image.pullPolicystring
IfNotPresent

Image pull policy

vmauth.image.registrystring
""

Image registry

vmauth.image.repositorystring
victoriametrics/vmauth

Image repository

vmauth.image.tagstring
""

Image tag override Chart.AppVersion

vmauth.image.variantstring
""

Variant of the image to use. e.g. cluster, enterprise-cluster

vmauth.ingress.annotationsobject
{}

Ingress annotations

vmauth.ingress.enabledbool
false

Enable deployment of ingress for vmauth component

vmauth.ingress.extraLabelsobject
{}

vmauth.ingress.hostslist
- name: vmauth.local
  path:
    - /insert
  port: http

Array of host objects

vmauth.ingress.pathTypestring
Prefix

pathType is only for k8s >= 1.1=

vmauth.ingress.tlslist
[]

Array of TLS objects

vmauth.initContainerslist
[]

Init containers for vmauth

vmauth.namestring
""

Override default app label name

vmauth.nodeSelectorobject
{}

Pod’s node selector. Details are here

vmauth.podAnnotationsobject
{}

Pod’s annotations

vmauth.podDisruptionBudgetobject
enabled: false
labels: {}

See kubectl explain poddisruptionbudget.spec for more. Details are here

vmauth.podLabelsobject
{}

VMAuth pod labels

vmauth.podSecurityContextobject
enabled: false

Pod’s security context. Details are here

vmauth.ports.namestring
http

VMAuth http port name

vmauth.priorityClassNamestring
""

Name of Priority Class

vmauth.probe.livenessobject
failureThreshold: 3
initialDelaySeconds: 5
periodSeconds: 15
tcpSocket: {}
timeoutSeconds: 5

VMAuth liveness probe

vmauth.probe.readinessobject
failureThreshold: 3
httpGet: {}
initialDelaySeconds: 5
periodSeconds: 15
timeoutSeconds: 5

VMAuth readiness probe

vmauth.probe.startupobject
{}

VMAuth startup probe

vmauth.replicaCountint
2

Count of vmauth pods

vmauth.resourcesobject
{}

Resource object

vmauth.securityContextobject
enabled: false

Pod’s security context. Details are here

vmauth.service.annotationsobject
{}

Service annotations

vmauth.service.clusterIPstring
""

Service ClusterIP

vmauth.service.enabledbool
true

Create VMAuth service

vmauth.service.externalIPslist
[]

Service External IPs. Details are here

vmauth.service.externalTrafficPolicystring
""

Service external traffic policy. Check here for details

vmauth.service.extraPortslist
[]

Extra service ports

vmauth.service.healthCheckNodePortstring
""

Health check node port for a service. Check here for details

vmauth.service.ipFamilieslist
[]

List of service IP families. Check here for details.

vmauth.service.ipFamilyPolicystring
""

Service IP family policy. Check here for details.

vmauth.service.labelsobject
{}

Service labels

vmauth.service.loadBalancerIPstring
""

Service load balancer IP

vmauth.service.loadBalancerSourceRangeslist
[]

Load balancer source range

vmauth.service.servicePortint
8427

Service port

vmauth.service.targetPortstring
http

Target port

vmauth.service.typestring
ClusterIP

Service type

vmauth.service.udpbool
false

Enable UDP port. used if you have spec.opentsdbListenAddr specified Make sure that service is not type LoadBalancer, as it requires MixedProtocolLBService feature gate. Check here

vmauth.serviceMonitor.annotationsobject
{}

Service Monitor annotations

vmauth.serviceMonitor.basicAuthobject
{}

Basic auth params for Service Monitor

vmauth.serviceMonitor.enabledbool
false

Enable deployment of Service Monitor for vmauth component. This is Prometheus operator object

vmauth.serviceMonitor.extraLabelsobject
{}

Service Monitor labels

vmauth.serviceMonitor.metricRelabelingslist
[]

Service Monitor metricRelabelings

vmauth.serviceMonitor.namespacestring
""

Target namespace of ServiceMonitor manifest

vmauth.serviceMonitor.relabelingslist
[]

Service Monitor relabelings

vmauth.strategyobject
{}

VMAuth Deployment strategy

vmauth.suppressStorageFQDNsRenderbool
false

Suppress rendering --storageNode FQDNs based on vmstorage.replicaCount value. If true suppress rendering --storageNodes, they can be re-defined in extraArgs

vmauth.tolerationslist
[]

Array of tolerations object. Details are here

vmauth.topologySpreadConstraintslist
[]

Pod topologySpreadConstraints

vminsert.affinityobject
{}

Pod affinity

vminsert.annotationsobject
{}

StatefulSet/Deployment annotations

vminsert.containerWorkingDirstring
""

Container workdir

vminsert.enabledbool
true

Enable deployment of vminsert component. Deployment is used

vminsert.envlist
[]

Additional environment variables (ex.: secret tokens, flags). Check here for details.

vminsert.envFromlist
[]

Specify alternative source for env variables

vminsert.excludeStorageIDslist
[]

IDs of vmstorage nodes to exclude from writing

vminsert.extraArgsobject
envflag.enable: true
envflag.prefix: VM_
httpListenAddr: :8480
loggerFormat: json

Extra command line arguments for vminsert component

vminsert.extraContainerslist
[]

Extra containers to run in a pod with vminsert

vminsert.extraLabelsobject
{}

StatefulSet/Deployment additional labels

vminsert.extraVolumeMountslist
[]

Extra Volume Mounts for the container

vminsert.extraVolumeslist
[]

Extra Volumes for the pod

vminsert.fullnameOverridestring
""

Overrides the full name of vminsert component

vminsert.horizontalPodAutoscaler.behaviorobject
{}

Behavior settings for scaling by the HPA

vminsert.horizontalPodAutoscaler.enabledbool
false

Use HPA for vminsert component

vminsert.horizontalPodAutoscaler.maxReplicasint
10

Maximum replicas for HPA to use to to scale the vminsert component

vminsert.horizontalPodAutoscaler.metricslist
[]

Metric for HPA to use to scale the vminsert component

vminsert.horizontalPodAutoscaler.minReplicasint
2

Minimum replicas for HPA to use to scale the vminsert component

vminsert.image.pullPolicystring
IfNotPresent

Image pull policy

vminsert.image.registrystring
""

Image registry

vminsert.image.repositorystring
victoriametrics/vminsert

Image repository

vminsert.image.tagstring
""

Image tag override Chart.AppVersion

vminsert.image.variantstring
cluster

Variant of the image to use. e.g. cluster, enterprise-cluster

vminsert.ingress.annotationsobject
{}

Ingress annotations

vminsert.ingress.enabledbool
false

Enable deployment of ingress for vminsert component

vminsert.ingress.extraLabelsobject
{}

Ingress extra labels

vminsert.ingress.hostslist
- name: vminsert.local
  path:
    - /insert
  port: http

Array of host objects

vminsert.ingress.ingressClassNamestring
""

Ingress controller class name

vminsert.ingress.pathTypestring
Prefix

Ingress path type

vminsert.ingress.tlslist
[]

Array of TLS objects

vminsert.initContainerslist
[]

Init containers for vminsert

vminsert.namestring
""

Override default app label name

vminsert.nodeSelectorobject
{}

Pod’s node selector. Details are here

vminsert.podAnnotationsobject
{}

Pod’s annotations

vminsert.podDisruptionBudgetobject
enabled: false
labels: {}

See kubectl explain poddisruptionbudget.spec for more. Details are here

vminsert.podLabelsobject
{}

Pod’s additional labels

vminsert.podSecurityContextobject
enabled: false

Pod’s security context. Details are here

vminsert.ports.namestring
http

VMInsert http port name

vminsert.priorityClassNamestring
""

Name of Priority Class

vminsert.probeobject
liveness:
    failureThreshold: 3
    initialDelaySeconds: 5
    periodSeconds: 15
    tcpSocket: {}
    timeoutSeconds: 5
readiness:
    failureThreshold: 3
    httpGet: {}
    initialDelaySeconds: 5
    periodSeconds: 15
    timeoutSeconds: 5
startup: {}

Readiness & Liveness probes

vminsert.probe.livenessobject
failureThreshold: 3
initialDelaySeconds: 5
periodSeconds: 15
tcpSocket: {}
timeoutSeconds: 5

VMInsert liveness probe

vminsert.probe.readinessobject
failureThreshold: 3
httpGet: {}
initialDelaySeconds: 5
periodSeconds: 15
timeoutSeconds: 5

VMInsert readiness probe

vminsert.probe.startupobject
{}

VMInsert startup probe

vminsert.replicaCountint
2

Count of vminsert pods

vminsert.resourcesobject
{}

Resource object. Details are here

vminsert.securityContextobject
enabled: false

Pod’s security context. Details are here

vminsert.service.annotationsobject
{}

Service annotations

vminsert.service.clusterIPstring
""

Service ClusterIP

vminsert.service.enabledbool
true

Create VMInsert service

vminsert.service.externalIPslist
[]

Service external IPs. Details are here

vminsert.service.externalTrafficPolicystring
""

Service external traffic policy. Check here for details

vminsert.service.extraPortslist
[]

Extra service ports

vminsert.service.healthCheckNodePortstring
""

Health check node port for a service. Check here for details

vminsert.service.ipFamilieslist
[]

List of service IP families. Check here for details.

vminsert.service.ipFamilyPolicystring
""

Service IP family policy. Check here for details.

vminsert.service.labelsobject
{}

Service labels

vminsert.service.loadBalancerIPstring
""

Service load balancer IP

vminsert.service.loadBalancerSourceRangeslist
[]

Load balancer source range

vminsert.service.servicePortint
8480

Service port

vminsert.service.targetPortstring
http

Target port

vminsert.service.typestring
ClusterIP

Service type

vminsert.service.udpbool
false

Enable UDP port. used if you have spec.opentsdbListenAddr specified Make sure that service is not type LoadBalancer, as it requires MixedProtocolLBService feature gate. Check here for details

vminsert.serviceMonitor.annotationsobject
{}

Service Monitor annotations

vminsert.serviceMonitor.basicAuthobject
{}

Basic auth params for Service Monitor

vminsert.serviceMonitor.enabledbool
false

Enable deployment of Service Monitor for vminsert component. This is Prometheus operator object

vminsert.serviceMonitor.extraLabelsobject
{}

Service Monitor labels

vminsert.serviceMonitor.metricRelabelingslist
[]

Service Monitor metricRelabelings

vminsert.serviceMonitor.namespacestring
""

Target namespace of ServiceMonitor manifest

vminsert.serviceMonitor.relabelingslist
[]

Service Monitor relabelings

vminsert.strategyobject
{}

VMInsert strategy

vminsert.suppressStorageFQDNsRenderbool
false

Suppress rendering --storageNode FQDNs based on vmstorage.replicaCount value. If true suppress rendering --storageNodes, they can be re-defined in extraArgs

vminsert.tolerationslist
[]

Array of tolerations object. Details are here

vminsert.topologySpreadConstraintslist
[]

Pod topologySpreadConstraints

vmselect.affinityobject
{}

Pod affinity

vmselect.annotationsobject
{}

StatefulSet/Deployment annotations

vmselect.cacheMountPathstring
/cache

Cache root folder

vmselect.containerWorkingDirstring
""

Container workdir

vmselect.emptyDirobject
{}

Empty dir configuration if persistence is disabled

vmselect.enabledbool
true

Enable deployment of vmselect component. Can be deployed as Deployment(default) or StatefulSet

vmselect.envlist
[]

Additional environment variables (ex.: secret tokens, flags). Check here for details.

vmselect.envFromlist
[]

Specify alternative source for env variables

vmselect.extraArgsobject
envflag.enable: true
envflag.prefix: VM_
httpListenAddr: :8481
loggerFormat: json

Extra command line arguments for vmselect component

vmselect.extraContainerslist
[]

Extra containers to run in a pod with vmselect

vmselect.extraHostPathMountslist
[]

Additional hostPath mounts

vmselect.extraLabelsobject
{}

StatefulSet/Deployment additional labels

vmselect.extraVolumeMountslist
[]

Extra Volume Mounts for the container

vmselect.extraVolumeslist
[]

Extra Volumes for the pod

vmselect.fullnameOverridestring
""

Overrides the full name of vmselect component

vmselect.horizontalPodAutoscaler.behaviorobject
{}

Behavior settings for scaling by the HPA

vmselect.horizontalPodAutoscaler.enabledbool
false

Use HPA for vmselect component

vmselect.horizontalPodAutoscaler.maxReplicasint
10

Maximum replicas for HPA to use to to scale the vmselect component

vmselect.horizontalPodAutoscaler.metricslist
[]

Metric for HPA to use to scale the vmselect component

vmselect.horizontalPodAutoscaler.minReplicasint
2

Minimum replicas for HPA to use to scale the vmselect component

vmselect.image.pullPolicystring
IfNotPresent

Image pull policy

vmselect.image.registrystring
""

Image registry

vmselect.image.repositorystring
victoriametrics/vmselect

Image repository

vmselect.image.tagstring
""

Image tag override Chart.AppVersion

vmselect.image.variantstring
cluster

Variant of the image to use. e.g. cluster, enterprise-cluster

vmselect.ingress.annotationsobject
{}

Ingress annotations

vmselect.ingress.enabledbool
false

Enable deployment of ingress for vmselect component

vmselect.ingress.extraLabelsobject
{}

Ingress extra labels

vmselect.ingress.hostslist
- name: vmselect.local
  path:
    - /select
  port: http

Array of host objects

vmselect.ingress.ingressClassNamestring
""

Ingress controller class name

vmselect.ingress.pathTypestring
Prefix

Ingress path type

vmselect.ingress.tlslist
[]

Array of TLS objects

vmselect.initContainerslist
[]

Init containers for vmselect

vmselect.namestring
""

Override default app label name

vmselect.nodeSelectorobject
{}

Pod’s node selector. Details are here

vmselect.persistentVolume.accessModeslist
- ReadWriteOnce

Array of access mode. Must match those of existing PV or dynamic provisioner. Details are here

vmselect.persistentVolume.annotationsobject
{}

Persistent volume annotations

vmselect.persistentVolume.enabledbool
false

Create/use Persistent Volume Claim for vmselect component. Empty dir if false. If true, vmselect will create/use a Persistent Volume Claim

vmselect.persistentVolume.existingClaimstring
""

Existing Claim name. Requires vmselect.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound

vmselect.persistentVolume.labelsobject
{}

Persistent volume labels

vmselect.persistentVolume.sizestring
2Gi

Size of the volume. Better to set the same as resource limit memory property

vmselect.persistentVolume.subPathstring
""

Mount subpath

vmselect.podAnnotationsobject
{}

Pod’s annotations

vmselect.podDisruptionBudgetobject
enabled: false
labels: {}

See kubectl explain poddisruptionbudget.spec for more. Details are here

vmselect.podDisruptionBudget.enabledbool
false

See kubectl explain poddisruptionbudget.spec for more. Details are here

vmselect.podLabelsobject
{}

Pod’s additional labels

vmselect.podSecurityContextobject
enabled: true

Pod’s security context. Details are here

vmselect.ports.namestring
http

VMSelect http port name

vmselect.priorityClassNamestring
""

Name of Priority Class

vmselect.probeobject
liveness:
    failureThreshold: 3
    initialDelaySeconds: 5
    periodSeconds: 15
    tcpSocket: {}
    timeoutSeconds: 5
readiness:
    failureThreshold: 3
    httpGet: {}
    initialDelaySeconds: 5
    periodSeconds: 15
    timeoutSeconds: 5
startup: {}

Readiness & Liveness probes

vmselect.probe.livenessobject
failureThreshold: 3
initialDelaySeconds: 5
periodSeconds: 15
tcpSocket: {}
timeoutSeconds: 5

VMSelect liveness probe

vmselect.probe.readinessobject
failureThreshold: 3
httpGet: {}
initialDelaySeconds: 5
periodSeconds: 15
timeoutSeconds: 5

VMSelect readiness probe

vmselect.probe.startupobject
{}

VMSelect startup probe

vmselect.replicaCountint
2

Count of vmselect pods

vmselect.resourcesobject
{}

Resource object. Details are here

vmselect.securityContextobject
enabled: true

Pod’s security context. Details are here

vmselect.service.annotationsobject
{}

Service annotations

vmselect.service.clusterIPstring
""

Service ClusterIP

vmselect.service.enabledbool
true

Create VMSelect service

vmselect.service.externalIPslist
[]

Service external IPs. Details are here

vmselect.service.externalTrafficPolicystring
""

Service external traffic policy. Check here for details

vmselect.service.extraPortslist
[]

Extra service ports

vmselect.service.healthCheckNodePortstring
""

Health check node port for a service. Check here for details

vmselect.service.ipFamilieslist
[]

List of service IP families. Check here for details.

vmselect.service.ipFamilyPolicystring
""

Service IP family policy. Check here for details.

vmselect.service.labelsobject
{}

Service labels

vmselect.service.loadBalancerIPstring
""

Service load balancer IP

vmselect.service.loadBalancerSourceRangeslist
[]

Load balancer source range

vmselect.service.servicePortint
8481

Service port

vmselect.service.targetPortstring
http

Target port

vmselect.service.typestring
ClusterIP

Service type

vmselect.serviceMonitor.annotationsobject
{}

Service Monitor annotations

vmselect.serviceMonitor.basicAuthobject
{}

Basic auth params for Service Monitor

vmselect.serviceMonitor.enabledbool
false

Enable deployment of Service Monitor for vmselect component. This is Prometheus operator object

vmselect.serviceMonitor.extraLabelsobject
{}

Service Monitor labels

vmselect.serviceMonitor.metricRelabelingslist
[]

Service Monitor metricRelabelings

vmselect.serviceMonitor.namespacestring
""

Target namespace of ServiceMonitor manifest

vmselect.serviceMonitor.relabelingslist
[]

Service Monitor relabelings

vmselect.statefulSet.enabledbool
false

Deploy StatefulSet instead of Deployment for vmselect. Useful if you want to keep cache data.

vmselect.statefulSet.podManagementPolicystring
OrderedReady

Deploy order policy for StatefulSet pods

vmselect.strategyobject
{}

VMSelect strategy

vmselect.suppressStorageFQDNsRenderbool
false

Suppress rendering --storageNode FQDNs based on vmstorage.replicaCount value. If true suppress rendering --storageNodes, they can be re-defined in extraArgs

vmselect.tolerationslist
[]

Array of tolerations object. Details are here

vmselect.topologySpreadConstraintslist
[]

Pod topologySpreadConstraints

vmstorage.affinityobject
{}

Pod affinity

vmstorage.annotationsobject
{}

StatefulSet/Deployment annotations

vmstorage.containerWorkingDirstring
""

Container workdir

vmstorage.emptyDirobject
{}

Empty dir configuration if persistence is disabled

vmstorage.enabledbool
true

Enable deployment of vmstorage component. StatefulSet is used

vmstorage.envlist
[]

Additional environment variables (ex.: secret tokens, flags). Check here for details

vmstorage.envFromlist
[]

Specify alternative source for env variables

vmstorage.extraArgsobject
envflag.enable: true
envflag.prefix: VM_
httpListenAddr: :8482
loggerFormat: json

Additional vmstorage container arguments. Extra command line arguments for vmstorage component

vmstorage.extraContainerslist
[]

Extra containers to run in a pod with vmstorage

vmstorage.extraHostPathMountslist
[]

Additional hostPath mounts

vmstorage.extraLabelsobject
{}

StatefulSet/Deployment additional labels

vmstorage.extraSecretMountslist
[]

Extra secret mounts for vmstorage

vmstorage.extraVolumeMountslist
[]

Extra Volume Mounts for the container

vmstorage.extraVolumeslist
[]

Extra Volumes for the pod

vmstorage.fullnameOverridestring
null

Overrides the full name of vmstorage component

vmstorage.horizontalPodAutoscaler.behaviorobject
scaleDown:
    selectPolicy: Disabled

Behavior settings for scaling by the HPA

vmstorage.horizontalPodAutoscaler.enabledbool
false

Use HPA for vmstorage component

vmstorage.horizontalPodAutoscaler.maxReplicasint
10

Maximum replicas for HPA to use to to scale the vmstorage component

vmstorage.horizontalPodAutoscaler.metricslist
[]

Metric for HPA to use to scale the vmstorage component

vmstorage.horizontalPodAutoscaler.minReplicasint
2

Minimum replicas for HPA to use to scale the vmstorage component

vmstorage.image.pullPolicystring
IfNotPresent

Image pull policy

vmstorage.image.registrystring
""

Image registry

vmstorage.image.repositorystring
victoriametrics/vmstorage

Image repository

vmstorage.image.tagstring
""

Image tag override Chart.AppVersion

vmstorage.image.variantstring
cluster

Variant of the image to use. e.g. cluster, enterprise-cluster

vmstorage.initContainerslist
[]

Init containers for vmstorage

vmstorage.namestring
""

Override default app label name

vmstorage.nodeSelectorobject
{}

Pod’s node selector. Details are here

vmstorage.persistentVolume.accessModeslist
- ReadWriteOnce

Array of access modes. Must match those of existing PV or dynamic provisioner. Details are here

vmstorage.persistentVolume.annotationsobject
{}

Persistent volume annotations

vmstorage.persistentVolume.enabledbool
true

Create/use Persistent Volume Claim for vmstorage component. Empty dir if false. If true, vmstorage will create/use a Persistent Volume Claim

vmstorage.persistentVolume.existingClaimstring
""

Existing Claim name. Requires vmstorage.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound

vmstorage.persistentVolume.labelsobject
{}

Persistent volume labels

vmstorage.persistentVolume.mountPathstring
/storage

Data root path. Vmstorage data Persistent Volume mount root path

vmstorage.persistentVolume.namestring
vmstorage-volume

vmstorage.persistentVolume.sizestring
8Gi

Size of the volume.

vmstorage.persistentVolume.storageClassNamestring
""

Storage class name. Will be empty if not setted

vmstorage.persistentVolume.subPathstring
""

Mount subpath

vmstorage.podAnnotationsobject
{}

Pod’s annotations

vmstorage.podDisruptionBudgetobject
enabled: false
labels: {}

See kubectl explain poddisruptionbudget.spec for more. Details are here

vmstorage.podLabelsobject
{}

Pod’s additional labels

vmstorage.podManagementPolicystring
OrderedReady

Deploy order policy for StatefulSet pods

vmstorage.podSecurityContextobject
enabled: false

Pod’s security context. Details are here

vmstorage.ports.namestring
http

VMStorage http port name

vmstorage.priorityClassNamestring
""

Name of Priority Class

vmstorage.probeobject
liveness:
    failureThreshold: 10
    initialDelaySeconds: 30
    periodSeconds: 30
    tcpSocket: {}
    timeoutSeconds: 5
readiness:
    failureThreshold: 3
    httpGet: {}
    initialDelaySeconds: 5
    periodSeconds: 15
    timeoutSeconds: 5
startup: {}

Readiness & Liveness probes

vmstorage.probe.livenessobject
failureThreshold: 10
initialDelaySeconds: 30
periodSeconds: 30
tcpSocket: {}
timeoutSeconds: 5

VMStorage liveness probe

vmstorage.probe.readinessobject
failureThreshold: 3
httpGet: {}
initialDelaySeconds: 5
periodSeconds: 15
timeoutSeconds: 5

VMStorage readiness probe

vmstorage.probe.startupobject
{}

VMStorage startup probe

vmstorage.replicaCountint
2

Count of vmstorage pods

vmstorage.resourcesobject
{}

Resource object. Details are here

vmstorage.retentionPeriodint
1

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. See these docs

vmstorage.schedulerNamestring
""

Use an alternate scheduler, e.g. “stork”. Check here for details

vmstorage.securityContextobject
enabled: false

Pod’s security context. Details are here

vmstorage.service.annotationsobject
{}

Service annotations

vmstorage.service.clusterIPstring
None

Service ClusterIP

vmstorage.service.enabledbool
true

vmstorage.service.externalTrafficPolicystring
""

Service external traffic policy. Check here for details

vmstorage.service.extraPortslist
[]

Extra service ports

vmstorage.service.healthCheckNodePortstring
""

Health check node port for a service. Check here for details

vmstorage.service.ipFamilieslist
[]

List of service IP families. Check here for details.

vmstorage.service.ipFamilyPolicystring
""

Service IP family policy. Check here for details.

vmstorage.service.labelsobject
{}

Service labels

vmstorage.service.servicePortint
8482

Service port

vmstorage.service.typestring
ClusterIP

Service type

vmstorage.service.vminsertPortint
8400

Port for accepting connections from vminsert

vmstorage.service.vmselectPortint
8401

Port for accepting connections from vmselect

vmstorage.serviceMonitor.annotationsobject
{}

Service Monitor annotations

vmstorage.serviceMonitor.basicAuthobject
{}

Basic auth params for Service Monitor

vmstorage.serviceMonitor.enabledbool
false

Enable deployment of Service Monitor for vmstorage component. This is Prometheus operator object

vmstorage.serviceMonitor.extraLabelsobject
{}

Service Monitor labels

vmstorage.serviceMonitor.metricRelabelingslist
[]

Service Monitor metricRelabelings

vmstorage.serviceMonitor.namespacestring
""

Target namespace of ServiceMonitor manifest

vmstorage.serviceMonitor.relabelingslist
[]

Service Monitor relabelings

vmstorage.terminationGracePeriodSecondsint
60

Pod’s termination grace period in seconds

vmstorage.tolerationslist
[]

Array of tolerations object. Node tolerations for server scheduling to nodes with taints. Details are here

vmstorage.topologySpreadConstraintslist
[]

Pod topologySpreadConstraints

vmstorage.vmbackupmanager.destinationstring
""

Backup destination at S3, GCS or local filesystem. Pod name will be included to path!

vmstorage.vmbackupmanager.disableDailybool
false

Disable daily backups

vmstorage.vmbackupmanager.disableHourlybool
false

Disable hourly backups

vmstorage.vmbackupmanager.disableMonthlybool
false

Disable monthly backups

vmstorage.vmbackupmanager.disableWeeklybool
false

Disable weekly backups

vmstorage.vmbackupmanager.enabledbool
false

Enable automatic creation of backup via vmbackupmanager. vmbackupmanager is part of Enterprise packages

vmstorage.vmbackupmanager.envlist
[]

Additional environment variables (ex.: secret tokens, flags). Check here for details

vmstorage.vmbackupmanager.extraArgsobject
envflag.enable: true
envflag.prefix: VM_
loggerFormat: json

Extra command line arguments for container of component

vmstorage.vmbackupmanager.extraSecretMountslist
[]

Extra secret mounts for vmbackupmanager

vmstorage.vmbackupmanager.image.registrystring
""

VMBackupManager image registry

vmstorage.vmbackupmanager.image.repositorystring
victoriametrics/vmbackupmanager

VMBackupManager image repository

vmstorage.vmbackupmanager.image.tagstring
""

VMBackupManager image tag override Chart.AppVersion

vmstorage.vmbackupmanager.image.variantstring
cluster

Variant of the image tag to use. e.g. enterprise.

vmstorage.vmbackupmanager.probeobject
liveness:
    failureThreshold: 10
    initialDelaySeconds: 30
    periodSeconds: 30
    tcpSocket:
        port: manager-http
    timeoutSeconds: 5
readiness:
    failureThreshold: 3
    httpGet:
        port: manager-http
    initialDelaySeconds: 5
    periodSeconds: 15
    timeoutSeconds: 5
startup: {}

Readiness & Liveness probes

vmstorage.vmbackupmanager.probe.livenessobject
failureThreshold: 10
initialDelaySeconds: 30
periodSeconds: 30
tcpSocket:
    port: manager-http
timeoutSeconds: 5

VMBackupManager liveness probe

vmstorage.vmbackupmanager.probe.readinessobject
failureThreshold: 3
httpGet:
    port: manager-http
initialDelaySeconds: 5
periodSeconds: 15
timeoutSeconds: 5

VMBackupManager readiness probe

vmstorage.vmbackupmanager.probe.startupobject
{}

VMBackupManager startup probe

vmstorage.vmbackupmanager.resourcesobject
{}

Resource object. Details are here

vmstorage.vmbackupmanager.restoreobject
onStart:
    enabled: false

Allows to enable restore options for pod. Check here for details

vmstorage.vmbackupmanager.retentionobject
keepLastDaily: 2
keepLastHourly: 2
keepLastMonthly: 2
keepLastWeekly: 2

Backups’ retention settings

vmstorage.vmbackupmanager.retention.keepLastDailyint
2

Keep last N daily backups. 0 means delete all existing daily backups. Specify -1 to turn off

vmstorage.vmbackupmanager.retention.keepLastHourlyint
2

Keep last N hourly backups. 0 means delete all existing hourly backups. Specify -1 to turn off

vmstorage.vmbackupmanager.retention.keepLastMonthlyint
2

Keep last N monthly backups. 0 means delete all existing monthly backups. Specify -1 to turn off

vmstorage.vmbackupmanager.retention.keepLastWeeklyint
2

Keep last N weekly backups. 0 means delete all existing weekly backups. Specify -1 to turn off