412 lines
13 KiB
YAML
412 lines
13 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:
|
|
# -- Enable deployment of vmselect component. Can be deployed as Deployment(default) or StatefulSet
|
|
enabled: false
|
|
|
|
vminsert:
|
|
# -- Enable deployment of vminsert component. Deployment is used
|
|
enabled: true
|
|
# -- IDs of vmstorage nodes to exclude from writing
|
|
excludeStorageIDs: []
|
|
# -- Override default `app` label name
|
|
name: vminsert
|
|
# -- VMInsert strategy
|
|
strategy: {}
|
|
# rollingUpdate:
|
|
# maxSurge: 25%
|
|
# maxUnavailable: 25%
|
|
# type: RollingUpdate
|
|
image:
|
|
# -- Image registry
|
|
registry: ""
|
|
# -- Image repository
|
|
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vminsert
|
|
# -- Image tag
|
|
# override Chart.AppVersion
|
|
tag: v1.107.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:
|
|
# -- VMInsert http port name
|
|
name: "http"
|
|
# -- Name of Priority Class
|
|
priorityClassName: ""
|
|
# -- Overrides the full name of vminsert component
|
|
fullnameOverride: vm-insert-infra-prd
|
|
# -- Extra command line arguments for vminsert component
|
|
extraArgs:
|
|
envflag.enable: true
|
|
envflag.prefix: VM_
|
|
loggerFormat: json
|
|
httpListenAddr: :8480
|
|
maxLabelsPerTimeseries: 40
|
|
replicationFactor: 1
|
|
loggerTimezone: "Asia/Kolkata"
|
|
storageNode:
|
|
- "vm-storage-infra-prd-0.vm-storage-infra-prd.victoriametrics.svc:8400"
|
|
- "vm-storage-infra-prd-1.vm-storage-infra-prd.victoriametrics.svc:8400"
|
|
- "vm-storage-infra-prd-2.vm-storage-infra-prd.victoriametrics.svc:8400"
|
|
- "vm-storage-infra-prd-3.vm-storage-infra-prd.victoriametrics.svc:8400"
|
|
- "vm-storage-infra-prd-4.vm-storage-infra-prd.victoriametrics.svc:8400"
|
|
# -- StatefulSet/Deployment annotations
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8480"
|
|
# -- StatefulSet/Deployment additional labels
|
|
extraLabels:
|
|
bu: "infra"
|
|
team: "infra-sre"
|
|
service: "vm-insert-infra-prd"
|
|
env: "prd"
|
|
priority: "p0"
|
|
type: "vminsert"
|
|
# -- Pod's additional labels
|
|
podLabels:
|
|
bu: "infra"
|
|
team: "infra-sre"
|
|
service: "vm-insert-infra-prd"
|
|
env: "prd"
|
|
priority: "p0"
|
|
type: "vminsert"
|
|
terminationGracePeriodSeconds: 30
|
|
|
|
# -- Additional environment variables (ex.: secret tokens, flags). Check [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables) for details.
|
|
env: []
|
|
|
|
# -- Specify alternative source for env variables
|
|
envFrom: []
|
|
#- configMapRef:
|
|
# name: special-config
|
|
|
|
# -- Suppress rendering `--storageNode` FQDNs based on `vmstorage.replicaCount` value. If true suppress rendering `--storageNodes`, they can be re-defined in extraArgs
|
|
suppressStorageFQDNsRender: false
|
|
|
|
# -- Readiness & Liveness probes
|
|
probe:
|
|
# -- VMInsert readiness probe
|
|
readiness:
|
|
httpGet: {}
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 15
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3
|
|
# -- VMInsert liveness probe
|
|
liveness:
|
|
tcpSocket: {}
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 15
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3
|
|
# -- VMInsert startup probe
|
|
startup: {}
|
|
|
|
# -- Relabel configuration
|
|
relabel:
|
|
enabled: false
|
|
config: []
|
|
# -- Use existing configmap if specified
|
|
# otherwise .config values will be used. Relabel config **should** reside under `relabel.yml` key
|
|
configMap: ""
|
|
|
|
# Horizontal Pod Autoscaling
|
|
horizontalPodAutoscaler:
|
|
# -- Use HPA for vminsert component
|
|
enabled: true
|
|
# -- Maximum replicas for HPA to use to to scale the vminsert component
|
|
maxReplicas: 20
|
|
# -- Minimum replicas for HPA to use to scale the vminsert component
|
|
minReplicas: 3
|
|
# -- Metric for HPA to use to scale the vminsert component
|
|
metrics:
|
|
- type: Resource
|
|
resource:
|
|
name: cpu
|
|
target:
|
|
type: Utilization
|
|
averageUtilization: 40
|
|
# -- Behavior settings for scaling by the HPA
|
|
behavior: {}
|
|
|
|
# -- Extra Volumes for the pod
|
|
extraVolumes:
|
|
[]
|
|
# - name: example
|
|
# configMap:
|
|
# name: example
|
|
|
|
# -- Extra Volume Mounts for the container
|
|
extraVolumeMounts:
|
|
[]
|
|
# - name: example
|
|
# mountPath: /example
|
|
|
|
# -- Extra containers to run in a pod with vminsert
|
|
extraContainers:
|
|
[]
|
|
# - name: config-reloader
|
|
# image: reloader-image
|
|
|
|
# -- Init containers for vminsert
|
|
initContainers:
|
|
[]
|
|
# - name: example
|
|
# image: example-image
|
|
|
|
# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
|
|
podDisruptionBudget:
|
|
enabled: false
|
|
# minAvailable: 1
|
|
# maxUnavailable: 1
|
|
labels: {}
|
|
|
|
# -- Array of tolerations object. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
|
|
tolerations:
|
|
- key: "dedicated"
|
|
operator: "Equal"
|
|
value: "vminsert-mds"
|
|
effect: "NoSchedule"
|
|
|
|
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
|
|
nodeSelector:
|
|
dedicated: "vminsert-mds"
|
|
# -- Pod affinity
|
|
affinity: {}
|
|
# -- Pod topologySpreadConstraints
|
|
topologySpreadConstraints:
|
|
- maxSkew: 1
|
|
topologyKey: topology.kubernetes.io/zone
|
|
whenUnsatisfiable: ScheduleAnyway
|
|
labelSelector:
|
|
matchLabels:
|
|
type: vminsert
|
|
- maxSkew: 1
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
type: vminsert
|
|
# -- Pod's annotations
|
|
podAnnotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8480"
|
|
# -- Count of vminsert pods
|
|
replicaCount: 2
|
|
# -- Container workdir
|
|
containerWorkingDir: ""
|
|
# -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
|
|
resources:
|
|
# limits:
|
|
# cpu: 50m
|
|
# memory: 64Mi
|
|
requests:
|
|
cpu: 5
|
|
memory: 10Gi
|
|
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
|
|
securityContext:
|
|
enabled: false
|
|
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
|
|
podSecurityContext:
|
|
enabled: false
|
|
service:
|
|
# -- Create VMInsert service
|
|
enabled: true
|
|
# -- Service annotations
|
|
annotations: {}
|
|
# -- Service labels
|
|
labels: {}
|
|
# -- Service ClusterIP
|
|
clusterIP: ""
|
|
# -- Service external IPs. Details are [here]( https://kubernetes.io/docs/concepts/services-networking/service/#external-ips)
|
|
externalIPs: []
|
|
# -- Extra service ports
|
|
extraPorts: []
|
|
# -- Service load balancer IP
|
|
loadBalancerIP: ""
|
|
# -- Load balancer source range
|
|
loadBalancerSourceRanges: []
|
|
# -- Service port
|
|
servicePort: 8480
|
|
# -- Target port
|
|
targetPort: http
|
|
# -- Service type
|
|
type: ClusterIP
|
|
# -- 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](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) for details
|
|
udp: false
|
|
# -- Health check node port for a service. Check [here](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 [here](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 [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
|
|
ipFamilyPolicy: ""
|
|
# -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
|
|
ipFamilies: []
|
|
# -- Traffic Distribution. Check [Traffic distribution](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
|
|
trafficDistribution: ""
|
|
|
|
ingress:
|
|
# -- Enable deployment of ingress for vminsert component
|
|
enabled: false
|
|
|
|
# -- Ingress annotations
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
|
|
|
# -- Ingress extra labels
|
|
extraLabels: {}
|
|
|
|
# -- Array of host objects
|
|
hosts:
|
|
- name: vm-insert-infra-prd.meeshogcp.in
|
|
path: /
|
|
port: http
|
|
|
|
# -- Array of TLS objects
|
|
tls: []
|
|
# - secretName: vminsert-ingress-tls
|
|
# hosts:
|
|
# - vminsert.local
|
|
|
|
# -- Ingress controller class name
|
|
ingressClassName: nginx-internal
|
|
|
|
# -- Ingress path type
|
|
pathType: Prefix
|
|
|
|
route:
|
|
# -- Enable deployment of HTTPRoute for insert component
|
|
enabled: false
|
|
# -- HTTPRoute annotations
|
|
annotations: {}
|
|
# -- HTTPRoute extra labels
|
|
labels: {}
|
|
# -- HTTPGateway objects refs
|
|
parentRefs: []
|
|
# -- Array of hostnames
|
|
hostnames: []
|
|
# -- Extra rules to prepend to route. This is useful when working with annotation based services.
|
|
extraRules: []
|
|
# -- Filters for a default rule in HTTPRoute
|
|
filters: []
|
|
# -- Matches for a default rule in HTTPRoute
|
|
matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: '{{ dig "extraArgs" "http.pathPrefix" "/insert" .Values.vminsert }}'
|
|
|
|
serviceMonitor:
|
|
# -- Enable deployment of Service Monitor for vminsert component. This is Prometheus operator object
|
|
enabled: false
|
|
# -- Target namespace of ServiceMonitor manifest
|
|
namespace: ""
|
|
# -- Service Monitor labels
|
|
extraLabels: {}
|
|
# -- Service Monitor annotations
|
|
annotations: {}
|
|
# -- Basic auth params for Service Monitor
|
|
basicAuth: {}
|
|
# Commented. Prometheus scare interval for vminsert component
|
|
# interval: 15s
|
|
# Commented. Prometheus pre-scrape timeout for vminsert component
|
|
# scrapeTimeout: 5s
|
|
# -- Commented. HTTP scheme to use for scraping.
|
|
# scheme: https
|
|
# -- Commented. TLS configuration to use when scraping the endpoint
|
|
# tlsConfig:
|
|
# insecureSkipVerify: true
|
|
# -- Service Monitor relabelings
|
|
relabelings: []
|
|
# -- Service Monitor metricRelabelings
|
|
metricRelabelings: []
|
|
|
|
vmauth:
|
|
# -- Enable deployment of vmauth component.
|
|
enabled: false
|
|
|
|
vmstorage:
|
|
# -- Enable deployment of vmstorage component. StatefulSet is used
|
|
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: ""
|