![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.14.6](https://img.shields.io/badge/Version-0.14.6-informational?style=flat-square) [![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/victoriametrics)](https://artifacthub.io/packages/helm/victoriametrics/victoria-metrics-cluster) [![Slack](https://img.shields.io/badge/join%20slack-%23victoriametrics-brightgreen.svg)](https://slack.victoriametrics.com/) 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](https://docs.victoriametrics.com/helm/requirements/). * 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](https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-k8s-stack#helm-chart-for-victoria-metrics-kubernetes-monitoring-stack). ## How to install Access a Kubernetes cluster. ### Setup chart repository (can be omitted for OCI repositories) Add a chart helm repository with follow commands: ```console helm repo add vm https://victoriametrics.github.io/helm-charts/ helm repo update ``` List versions of `vm/victoria-metrics-cluster` chart available to installation: ```console 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 ```console helm show values vm/victoria-metrics-cluster > values.yaml ``` - For OCI repository ```console 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 ```console helm install vmc vm/victoria-metrics-cluster -f values.yaml -n NAMESPACE --debug --dry-run ``` - For OCI repository ```console 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 ```console helm install vmc vm/victoria-metrics-cluster -f values.yaml -n NAMESPACE ``` - For OCI repository ```console 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: ```console kubectl get pods -A | grep 'vmc' ``` Get the application by running this command: ```console helm list -f vmc -n NAMESPACE ``` See the history of versions of `vmc` application with command. ```console helm history vmc -n NAMESPACE ``` ## How to uninstall Remove application with command. ```console helm uninstall vmc -n NAMESPACE ``` ## Documentation of Helm Chart Install ``helm-docs`` following the instructions on this [tutorial](https://docs.victoriametrics.com/helm/requirements/). Generate docs with ``helm-docs`` command. ```bash 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.
Key Type Default Description
autoDiscovery bool
false

clusterDomainSuffix string
cluster.local

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

extraObjects list
[]

Add extra specs dynamically to this chart

extraSecrets list
[]

global.cluster object
dnsDomain: cluster.local

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

global.compatibility object
openshift:
    adaptSecurityContext: auto

Openshift security context compatibility configuration

global.image.registry string
""

Image registry, that can be shared across multiple helm charts

global.imagePullSecrets list
[]

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

license object
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.key string
""

License key

license.secret object
key: ""
name: ""

Use existing secret with license key

license.secret.key string
""

Key in secret with license key

license.secret.name string
""

Existing secret name

printNotes bool
true

Print information after deployment

serviceAccount.annotations object
{}

Service account annotations

serviceAccount.automountToken bool
true

mount API token to pod directly

serviceAccount.create bool
true

Specifies whether a service account should be created

serviceAccount.extraLabels object
{}

Service account labels

serviceAccount.name string
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.affinity object
{}

Pod affinity

vmauth.annotations object
{}

VMAuth annotations

vmauth.config object
unauthorized_user: {}

VMAuth configuration object

vmauth.configSecretName string
""

VMAuth configuration secret name

vmauth.containerWorkingDir string
""

Container workdir

vmauth.enabled bool
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.env list
[]

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

vmauth.envFrom list
[]

Specify alternative source for env variables

vmauth.extraArgs object
envflag.enable: "true"
envflag.prefix: VM_
loggerFormat: json

Extra command line arguments for vmauth component

vmauth.extraContainers list
[]

Extra containers to run in a pod with vmauth

vmauth.extraLabels object
{}

VMAuth additional labels

vmauth.extraVolumeMounts list
[]

Extra Volume Mounts for the container

vmauth.extraVolumes list
[]

Extra Volumes for the pod

vmauth.fullnameOverride string
""

Overrides the full name of vmauth component

vmauth.horizontalPodAutoscaler.behavior object
{}

Behavior settings for scaling by the HPA

vmauth.horizontalPodAutoscaler.enabled bool
false

Use HPA for vmauth component

vmauth.horizontalPodAutoscaler.maxReplicas int
10

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

vmauth.horizontalPodAutoscaler.metrics list
[]

Metric for HPA to use to scale the vmauth component

vmauth.horizontalPodAutoscaler.minReplicas int
2

Minimum replicas for HPA to use to scale the vmauth component

vmauth.image.pullPolicy string
IfNotPresent

Image pull policy

vmauth.image.registry string
""

Image registry

vmauth.image.repository string
victoriametrics/vmauth

Image repository

vmauth.image.tag string
""

Image tag override Chart.AppVersion

vmauth.image.variant string
""

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

vmauth.ingress.annotations object
{}

Ingress annotations

vmauth.ingress.enabled bool
false

Enable deployment of ingress for vmauth component

vmauth.ingress.extraLabels object
{}

vmauth.ingress.hosts list
[]

Array of host objects

vmauth.ingress.pathType string
Prefix

pathType is only for k8s >= 1.1=

vmauth.ingress.tls list
[]

Array of TLS objects

vmauth.initContainers list
[]

Init containers for vmauth

vmauth.name string
""

VMAuth container name

vmauth.nodeSelector object
{}

Pod’s node selector. Details are here

vmauth.podAnnotations object
{}

Pod’s annotations

vmauth.podDisruptionBudget object
enabled: false
labels: {}

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

vmauth.podLabels object
{}

VMAuth pod labels

vmauth.podSecurityContext object
enabled: false

Pod’s security context. Details are here

vmauth.ports.name string
http

VMAuth http port name

vmauth.priorityClassName string
""

Name of Priority Class

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

VMAuth liveness probe

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

VMAuth readiness probe

vmauth.probe.startup object
{}

VMAuth startup probe

vmauth.replicaCount int
2

Count of vmauth pods

vmauth.resources object
{}

Resource object

vmauth.securityContext object
enabled: false

Pod’s security context. Details are here

vmauth.service.annotations object
{}

Service annotations

vmauth.service.clusterIP string
""

Service ClusterIP

vmauth.service.enabled bool
true

Create VMAuth service

vmauth.service.externalIPs list
[]

Service External IPs. Details are here

vmauth.service.externalTrafficPolicy string
""

Service external traffic policy. Check here for details

vmauth.service.extraPorts list
[]

Extra service ports

vmauth.service.healthCheckNodePort string
""

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

vmauth.service.ipFamilies list
[]

List of service IP families. Check here for details.

vmauth.service.ipFamilyPolicy string
""

Service IP family policy. Check here for details.

vmauth.service.labels object
{}

Service labels

vmauth.service.loadBalancerIP string
""

Service load balancer IP

vmauth.service.loadBalancerSourceRanges list
[]

Load balancer source range

vmauth.service.servicePort int
8427

Service port

vmauth.service.targetPort string
http

Target port

vmauth.service.type string
ClusterIP

Service type

vmauth.service.udp bool
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.annotations object
{}

Service Monitor annotations

vmauth.serviceMonitor.basicAuth object
{}

Basic auth params for Service Monitor

vmauth.serviceMonitor.enabled bool
false

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

vmauth.serviceMonitor.extraLabels object
{}

Service Monitor labels

vmauth.serviceMonitor.metricRelabelings list
[]

Service Monitor metricRelabelings

vmauth.serviceMonitor.namespace string
""

Target namespace of ServiceMonitor manifest

vmauth.serviceMonitor.relabelings list
[]

Service Monitor relabelings

vmauth.strategy object
{}

VMAuth Deployment strategy

vmauth.suppressStorageFQDNsRender bool
false

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

vmauth.tolerations list
[]

Array of tolerations object. Details are here

vmauth.topologySpreadConstraints list
[]

Pod topologySpreadConstraints

vminsert.affinity object
{}

Pod affinity

vminsert.annotations object
{}

StatefulSet/Deployment annotations

vminsert.containerWorkingDir string
""

Container workdir

vminsert.enabled bool
true

Enable deployment of vminsert component. Deployment is used

vminsert.env list
[]

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

vminsert.envFrom list
[]

Specify alternative source for env variables

vminsert.excludeStorageIDs list
[]

IDs of vmstorage nodes to exclude from writing

vminsert.extraArgs object
envflag.enable: "true"
envflag.prefix: VM_
loggerFormat: json

Extra command line arguments for vminsert component

vminsert.extraContainers list
[]

Extra containers to run in a pod with vminsert

vminsert.extraLabels object
{}

StatefulSet/Deployment additional labels

vminsert.extraVolumeMounts list
[]

Extra Volume Mounts for the container

vminsert.extraVolumes list
[]

Extra Volumes for the pod

vminsert.fullnameOverride string
""

Overrides the full name of vminsert component

vminsert.horizontalPodAutoscaler.behavior object
{}

Behavior settings for scaling by the HPA

vminsert.horizontalPodAutoscaler.enabled bool
false

Use HPA for vminsert component

vminsert.horizontalPodAutoscaler.maxReplicas int
10

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

vminsert.horizontalPodAutoscaler.metrics list
[]

Metric for HPA to use to scale the vminsert component

vminsert.horizontalPodAutoscaler.minReplicas int
2

Minimum replicas for HPA to use to scale the vminsert component

vminsert.image.pullPolicy string
IfNotPresent

Image pull policy

vminsert.image.registry string
""

Image registry

vminsert.image.repository string
victoriametrics/vminsert

Image repository

vminsert.image.tag string
""

Image tag override Chart.AppVersion

vminsert.image.variant string
cluster

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

vminsert.ingress.annotations object
{}

Ingress annotations

vminsert.ingress.enabled bool
false

Enable deployment of ingress for vminsert component

vminsert.ingress.extraLabels object
{}

Ingress extra labels

vminsert.ingress.hosts list
[]

Array of host objects

vminsert.ingress.ingressClassName string
""

Ingress controller class name

vminsert.ingress.pathType string
Prefix

Ingress path type

vminsert.ingress.tls list
[]

Array of TLS objects

vminsert.initContainers list
[]

Init containers for vminsert

vminsert.name string
""

VMInsert name

vminsert.nodeSelector object
{}

Pod’s node selector. Details are here

vminsert.podAnnotations object
{}

Pod’s annotations

vminsert.podDisruptionBudget object
enabled: false
labels: {}

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

vminsert.podLabels object
{}

Pod’s additional labels

vminsert.podSecurityContext object
enabled: false

Pod’s security context. Details are here

vminsert.ports.name string
http

VMInsert http port name

vminsert.priorityClassName string
""

Name of Priority Class

vminsert.probe object
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.liveness object
failureThreshold: 3
initialDelaySeconds: 5
periodSeconds: 15
tcpSocket: {}
timeoutSeconds: 5

VMInsert liveness probe

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

VMInsert readiness probe

vminsert.probe.startup object
{}

VMInsert startup probe

vminsert.replicaCount int
2

Count of vminsert pods

vminsert.resources object
{}

Resource object. Details are here

vminsert.securityContext object
enabled: false

Pod’s security context. Details are here

vminsert.service.annotations object
{}

Service annotations

vminsert.service.clusterIP string
""

Service ClusterIP

vminsert.service.enabled bool
true

Create VMInsert service

vminsert.service.externalIPs list
[]

Service external IPs. Details are here

vminsert.service.externalTrafficPolicy string
""

Service external traffic policy. Check here for details

vminsert.service.extraPorts list
[]

Extra service ports

vminsert.service.healthCheckNodePort string
""

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

vminsert.service.ipFamilies list
[]

List of service IP families. Check here for details.

vminsert.service.ipFamilyPolicy string
""

Service IP family policy. Check here for details.

vminsert.service.labels object
{}

Service labels

vminsert.service.loadBalancerIP string
""

Service load balancer IP

vminsert.service.loadBalancerSourceRanges list
[]

Load balancer source range

vminsert.service.servicePort int
8480

Service port

vminsert.service.targetPort string
http

Target port

vminsert.service.type string
ClusterIP

Service type

vminsert.service.udp bool
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.annotations object
{}

Service Monitor annotations

vminsert.serviceMonitor.basicAuth object
{}

Basic auth params for Service Monitor

vminsert.serviceMonitor.enabled bool
false

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

vminsert.serviceMonitor.extraLabels object
{}

Service Monitor labels

vminsert.serviceMonitor.metricRelabelings list
[]

Service Monitor metricRelabelings

vminsert.serviceMonitor.namespace string
""

Target namespace of ServiceMonitor manifest

vminsert.serviceMonitor.relabelings list
[]

Service Monitor relabelings

vminsert.strategy object
{}

VMInsert strategy

vminsert.suppressStorageFQDNsRender bool
false

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

vminsert.tolerations list
[]

Array of tolerations object. Details are here

vminsert.topologySpreadConstraints list
[]

Pod topologySpreadConstraints

vmselect.affinity object
{}

Pod affinity

vmselect.annotations object
{}

StatefulSet/Deployment annotations

vmselect.cacheMountPath string
/cache

Cache root folder

vmselect.containerWorkingDir string
""

Container workdir

vmselect.emptyDir object
{}

Empty dir configuration if persistence is disabled

vmselect.enabled bool
true

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

vmselect.env list
[]

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

vmselect.envFrom list
[]

Specify alternative source for env variables

vmselect.extraArgs object
envflag.enable: true
envflag.prefix: VM_
loggerFormat: json

Extra command line arguments for vmselect component

vmselect.extraContainers list
[]

Extra containers to run in a pod with vmselect

vmselect.extraHostPathMounts list
[]

Additional hostPath mounts

vmselect.extraLabels object
{}

StatefulSet/Deployment additional labels

vmselect.extraVolumeMounts list
[]

Extra Volume Mounts for the container

vmselect.extraVolumes list
[]

Extra Volumes for the pod

vmselect.fullnameOverride string
""

Overrides the full name of vmselect component

vmselect.horizontalPodAutoscaler.behavior object
{}

Behavior settings for scaling by the HPA

vmselect.horizontalPodAutoscaler.enabled bool
false

Use HPA for vmselect component

vmselect.horizontalPodAutoscaler.maxReplicas int
10

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

vmselect.horizontalPodAutoscaler.metrics list
[]

Metric for HPA to use to scale the vmselect component

vmselect.horizontalPodAutoscaler.minReplicas int
2

Minimum replicas for HPA to use to scale the vmselect component

vmselect.image.pullPolicy string
IfNotPresent

Image pull policy

vmselect.image.registry string
""

Image registry

vmselect.image.repository string
victoriametrics/vmselect

Image repository

vmselect.image.tag string
""

Image tag override Chart.AppVersion

vmselect.image.variant string
cluster

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

vmselect.ingress.annotations object
{}

Ingress annotations

vmselect.ingress.enabled bool
false

Enable deployment of ingress for vmselect component

vmselect.ingress.extraLabels object
{}

Ingress extra labels

vmselect.ingress.hosts list
[]

Array of host objects

vmselect.ingress.ingressClassName string
""

Ingress controller class name

vmselect.ingress.pathType string
Prefix

Ingress path type

vmselect.ingress.tls list
[]

Array of TLS objects

vmselect.initContainers list
[]

Init containers for vmselect

vmselect.name string
""

VMSelect container name

vmselect.nodeSelector object
{}

Pod’s node selector. Details are here

vmselect.persistentVolume.accessModes list
- ReadWriteOnce

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

vmselect.persistentVolume.annotations object
{}

Persistent volume annotations

vmselect.persistentVolume.enabled bool
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.existingClaim string
""

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

vmselect.persistentVolume.labels object
{}

Persistent volume labels

vmselect.persistentVolume.size string
2Gi

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

vmselect.persistentVolume.subPath string
""

Mount subpath

vmselect.podAnnotations object
{}

Pod’s annotations

vmselect.podDisruptionBudget object
enabled: false
labels: {}

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

vmselect.podDisruptionBudget.enabled bool
false

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

vmselect.podLabels object
{}

Pod’s additional labels

vmselect.podSecurityContext object
enabled: true

Pod’s security context. Details are here

vmselect.ports.name string
http

VMSelect http port name

vmselect.priorityClassName string
""

Name of Priority Class

vmselect.probe object
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.liveness object
failureThreshold: 3
initialDelaySeconds: 5
periodSeconds: 15
tcpSocket: {}
timeoutSeconds: 5

VMSelect liveness probe

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

VMSelect readiness probe

vmselect.probe.startup object
{}

VMSelect startup probe

vmselect.replicaCount int
2

Count of vmselect pods

vmselect.resources object
{}

Resource object. Details are here

vmselect.securityContext object
enabled: true

Pod’s security context. Details are here

vmselect.service.annotations object
{}

Service annotations

vmselect.service.clusterIP string
""

Service ClusterIP

vmselect.service.enabled bool
true

Create VMSelect service

vmselect.service.externalIPs list
[]

Service external IPs. Details are here

vmselect.service.externalTrafficPolicy string
""

Service external traffic policy. Check here for details

vmselect.service.extraPorts list
[]

Extra service ports

vmselect.service.healthCheckNodePort string
""

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

vmselect.service.ipFamilies list
[]

List of service IP families. Check here for details.

vmselect.service.ipFamilyPolicy string
""

Service IP family policy. Check here for details.

vmselect.service.labels object
{}

Service labels

vmselect.service.loadBalancerIP string
""

Service load balacner IP

vmselect.service.loadBalancerSourceRanges list
[]

Load balancer source range

vmselect.service.servicePort int
8481

Service port

vmselect.service.targetPort string
http

Target port

vmselect.service.type string
ClusterIP

Service type

vmselect.serviceMonitor.annotations object
{}

Service Monitor annotations

vmselect.serviceMonitor.basicAuth object
{}

Basic auth params for Service Monitor

vmselect.serviceMonitor.enabled bool
false

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

vmselect.serviceMonitor.extraLabels object
{}

Service Monitor labels

vmselect.serviceMonitor.metricRelabelings list
[]

Service Monitor metricRelabelings

vmselect.serviceMonitor.namespace string
""

Target namespace of ServiceMonitor manifest

vmselect.serviceMonitor.relabelings list
[]

Service Monitor relabelings

vmselect.statefulSet.enabled bool
false

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

vmselect.statefulSet.podManagementPolicy string
OrderedReady

Deploy order policy for StatefulSet pods

vmselect.strategy object
{}

VMSelect strategy

vmselect.suppressStorageFQDNsRender bool
false

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

vmselect.tolerations list
[]

Array of tolerations object. Details are here

vmselect.topologySpreadConstraints list
[]

Pod topologySpreadConstraints

vmstorage.affinity object
{}

Pod affinity

vmstorage.annotations object
{}

StatefulSet/Deployment annotations

vmstorage.containerWorkingDir string
""

Container workdir

vmstorage.emptyDir object
{}

Empty dir configuration if persistence is disabled

vmstorage.enabled bool
true

Enable deployment of vmstorage component. StatefulSet is used

vmstorage.env list
[]

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

vmstorage.envFrom list
[]

Specify alternative source for env variables

vmstorage.extraArgs object
envflag.enable: "true"
envflag.prefix: VM_
loggerFormat: json

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

vmstorage.extraContainers list
[]

Extra containers to run in a pod with vmstorage

vmstorage.extraHostPathMounts list
[]

Additional hostPath mounts

vmstorage.extraLabels object
{}

StatefulSet/Deployment additional labels

vmstorage.extraSecretMounts list
[]

Extra secret mounts for vmstorage

vmstorage.extraVolumeMounts list
[]

Extra Volume Mounts for the container

vmstorage.extraVolumes list
[]

Extra Volumes for the pod

vmstorage.fullnameOverride string
null

Overrides the full name of vmstorage component

vmstorage.horizontalPodAutoscaler.behavior object
scaleDown:
    selectPolicy: Disabled

Behavior settings for scaling by the HPA

vmstorage.horizontalPodAutoscaler.enabled bool
false

Use HPA for vmstorage component

vmstorage.horizontalPodAutoscaler.maxReplicas int
10

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

vmstorage.horizontalPodAutoscaler.metrics list
[]

Metric for HPA to use to scale the vmstorage component

vmstorage.horizontalPodAutoscaler.minReplicas int
2

Minimum replicas for HPA to use to scale the vmstorage component

vmstorage.image.pullPolicy string
IfNotPresent

Image pull policy

vmstorage.image.registry string
""

Image registry

vmstorage.image.repository string
victoriametrics/vmstorage

Image repository

vmstorage.image.tag string
""

Image tag override Chart.AppVersion

vmstorage.image.variant string
cluster

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

vmstorage.initContainers list
[]

Init containers for vmstorage

vmstorage.name string
""

VMStorage container name

vmstorage.nodeSelector object
{}

Pod’s node selector. Details are here

vmstorage.persistentVolume.accessModes list
- ReadWriteOnce

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

vmstorage.persistentVolume.annotations object
{}

Persistent volume annotations

vmstorage.persistentVolume.enabled bool
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.existingClaim string
""

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

vmstorage.persistentVolume.labels object
{}

Persistent volume labels

vmstorage.persistentVolume.mountPath string
/storage

Data root path. Vmstorage data Persistent Volume mount root path

vmstorage.persistentVolume.name string
vmstorage-volume

vmstorage.persistentVolume.size string
8Gi

Size of the volume.

vmstorage.persistentVolume.storageClassName string
""

Storage class name. Will be empty if not setted

vmstorage.persistentVolume.subPath string
""

Mount subpath

vmstorage.podAnnotations object
{}

Pod’s annotations

vmstorage.podDisruptionBudget object
enabled: false
labels: {}

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

vmstorage.podLabels object
{}

Pod’s additional labels

vmstorage.podManagementPolicy string
OrderedReady

Deploy order policy for StatefulSet pods

vmstorage.podSecurityContext object
enabled: false

Pod’s security context. Details are here

vmstorage.ports.name string
http

VMStorage http port name

vmstorage.priorityClassName string
""

Name of Priority Class

vmstorage.probe object
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.liveness object
failureThreshold: 10
initialDelaySeconds: 30
periodSeconds: 30
tcpSocket: {}
timeoutSeconds: 5

VMStorage liveness probe

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

VMStorage readiness probe

vmstorage.probe.startup object
{}

VMStorage startup probe

vmstorage.replicaCount int
2

Count of vmstorage pods

vmstorage.resources object
{}

Resource object. Details are here

vmstorage.retentionPeriod int
1

Data retention period. Supported values 1w, 1d, number without measurement means month, e.g. 2 = 2month

vmstorage.schedulerName string
""

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

vmstorage.securityContext object
enabled: false

Pod’s security context. Details are here

vmstorage.service.annotations object
{}

Service annotations

vmstorage.service.clusterIP string
None

Service ClusterIP

vmstorage.service.enabled bool
true

vmstorage.service.externalTrafficPolicy string
""

Service external traffic policy. Check here for details

vmstorage.service.extraPorts list
[]

Extra service ports

vmstorage.service.healthCheckNodePort string
""

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

vmstorage.service.ipFamilies list
[]

List of service IP families. Check here for details.

vmstorage.service.ipFamilyPolicy string
""

Service IP family policy. Check here for details.

vmstorage.service.labels object
{}

Service labels

vmstorage.service.servicePort int
8482

Service port

vmstorage.service.type string
ClusterIP

Service type

vmstorage.service.vminsertPort int
8400

Port for accepting connections from vminsert

vmstorage.service.vmselectPort int
8401

Port for accepting connections from vmselect

vmstorage.serviceMonitor.annotations object
{}

Service Monitor annotations

vmstorage.serviceMonitor.basicAuth object
{}

Basic auth params for Service Monitor

vmstorage.serviceMonitor.enabled bool
false

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

vmstorage.serviceMonitor.extraLabels object
{}

Service Monitor labels

vmstorage.serviceMonitor.metricRelabelings list
[]

Service Monitor metricRelabelings

vmstorage.serviceMonitor.namespace string
""

Target namespace of ServiceMonitor manifest

vmstorage.serviceMonitor.relabelings list
[]

Service Monitor relabelings

vmstorage.terminationGracePeriodSeconds int
60

Pod’s termination grace period in seconds

vmstorage.tolerations list
[]

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

vmstorage.topologySpreadConstraints list
[]

Pod topologySpreadConstraints

vmstorage.vmbackupmanager.destination string
""

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

vmstorage.vmbackupmanager.disableDaily bool
false

Disable daily backups

vmstorage.vmbackupmanager.disableHourly bool
false

Disable hourly backups

vmstorage.vmbackupmanager.disableMonthly bool
false

Disable monthly backups

vmstorage.vmbackupmanager.disableWeekly bool
false

Disable weekly backups

vmstorage.vmbackupmanager.enabled bool
false

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

vmstorage.vmbackupmanager.env list
[]

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

vmstorage.vmbackupmanager.extraArgs object
envflag.enable: "true"
envflag.prefix: VM_
loggerFormat: json

Extra command line arguments for container of component

vmstorage.vmbackupmanager.extraSecretMounts list
[]

Extra secret mounts for vmbackupmanager

vmstorage.vmbackupmanager.image.registry string
""

VMBackupManager image registry

vmstorage.vmbackupmanager.image.repository string
victoriametrics/vmbackupmanager

VMBackupManager image repository

vmstorage.vmbackupmanager.image.tag string
""

VMBackupManager image tag override Chart.AppVersion

vmstorage.vmbackupmanager.image.variant string
cluster

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

vmstorage.vmbackupmanager.probe object
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.liveness object
failureThreshold: 10
initialDelaySeconds: 30
periodSeconds: 30
tcpSocket:
    port: manager-http
timeoutSeconds: 5

VMBackupManager liveness probe

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

VMBackupManager readiness probe

vmstorage.vmbackupmanager.probe.startup object
{}

VMBackupManager startup probe

vmstorage.vmbackupmanager.resources object
{}

Resource object. Details are here

vmstorage.vmbackupmanager.restore object
onStart:
    enabled: false

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

vmstorage.vmbackupmanager.retention object
keepLastDaily: 2
keepLastHourly: 2
keepLastMonthly: 2
keepLastWeekly: 2

Backups’ retention settings

vmstorage.vmbackupmanager.retention.keepLastDaily int
2

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

vmstorage.vmbackupmanager.retention.keepLastHourly int
2

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

vmstorage.vmbackupmanager.retention.keepLastMonthly int
2

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

vmstorage.vmbackupmanager.retention.keepLastWeekly int
2

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