469 lines
15 KiB
YAML
469 lines
15 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: true
|
|
splitService: true
|
|
externalService:
|
|
enabled: true
|
|
name: vmselect-infra-prd-test-proxy
|
|
clusternativeService:
|
|
enabled: false
|
|
# -- Override default `app` label name
|
|
name: ""
|
|
image:
|
|
# -- Image registry
|
|
registry: ""
|
|
# -- Image repository
|
|
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vmselect
|
|
# override Chart.AppVersion
|
|
tag: v1.133.0-cluster
|
|
# -- Image pull policy
|
|
pullPolicy: IfNotPresent
|
|
# -- Variant of the image to use.
|
|
# e.g. cluster, enterprise-cluster
|
|
variant: cluster
|
|
# -- Specify pod lifecycle
|
|
lifecycle: {}
|
|
ports:
|
|
# -- VMSelect http port name
|
|
name: "http"
|
|
# -- Name of Priority Class
|
|
priorityClassName: ""
|
|
# -- Overrides the full name of vmselect component
|
|
fullnameOverride: vm-select-infra-prd
|
|
# -- Suppress rendering `--storageNode` FQDNs based on `vmstorage.replicaCount` value. If true suppress rendering `--storageNodes`, they can be re-defined in extraArgs
|
|
suppressStorageFQDNsRender: false
|
|
# -- Pod's termination grace period in seconds
|
|
terminationGracePeriodSeconds: 60
|
|
# -- Extra command line arguments for vmselect component
|
|
extraArgs:
|
|
envflag.enable: true
|
|
envflag.prefix: VM_
|
|
loggerFormat: json
|
|
httpListenAddr: :8481
|
|
clusternativeListenAddr: ":8401"
|
|
dedup.minScrapeInterval: 60s
|
|
search.maxSamplesPerQuery: "1000000000000"
|
|
search.maxQueryDuration: 300s
|
|
search.maxQueueDuration: 60s
|
|
search.maxSeries: "10000000000"
|
|
search.maxExportSeries: "1000000000"
|
|
search.maxUniqueTimeseries: "1000000000000"
|
|
search.maxQueryLen: "1000000"
|
|
loggerTimezone: "Asia/Kolkata"
|
|
storageNode:
|
|
- "vm-storage-infra-prd-0.vm-storage-infra-prd.victoriametrics.svc:8401"
|
|
- "vm-storage-infra-prd-1.vm-storage-infra-prd.victoriametrics.svc:8401"
|
|
- "vm-storage-infra-prd-2.vm-storage-infra-prd.victoriametrics.svc:8401"
|
|
- "vm-storage-infra-prd-3.vm-storage-infra-prd.victoriametrics.svc:8401"
|
|
- "vm-storage-infra-prd-4.vm-storage-infra-prd.victoriametrics.svc:8401"
|
|
- "vmselect-mqkafka-prd-clusternative.victoriametrics.svc.clusterset.local:8401"
|
|
# - "vm-select-central-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401"
|
|
- "vm-select-central-a-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401"
|
|
# - "vm-select-demand-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401"
|
|
- "vm-select-demand-a-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401"
|
|
- "vm-select-datascience-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401"
|
|
# - "vm-select-dataengg-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401"
|
|
- "vm-select-dataengg-a-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401"
|
|
# - "vm-select-farmiso-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401"
|
|
- "vm-select-farmiso-a-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401"
|
|
# - "vm-select-supply-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401"
|
|
- "vm-select-supply-a-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401"
|
|
# - "vm-select-dsgpu-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401"
|
|
- "vm-select-dsgpu-a-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401"
|
|
|
|
# -- StatefulSet/Deployment annotations
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8481"
|
|
# -- StatefulSet/Deployment additional labels
|
|
extraLabels:
|
|
bu: "infra"
|
|
team: "infra-sre"
|
|
service: "vm-select-infra-prd"
|
|
env: "prd"
|
|
priority: "p0"
|
|
type: "vmselect"
|
|
# -- Pod's additional labels
|
|
podLabels:
|
|
bu: "infra"
|
|
team: "infra-sre"
|
|
service: "vm-select-infra-prd"
|
|
env: "prd"
|
|
priority: "p0"
|
|
type: "vmselect"
|
|
|
|
# -- 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
|
|
|
|
# -- Readiness & Liveness probes
|
|
probe:
|
|
# -- VMSelect readiness probe
|
|
readiness:
|
|
httpGet: {}
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 15
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3
|
|
# -- VMSelect liveness probe
|
|
liveness:
|
|
tcpSocket: {}
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 15
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3
|
|
# -- VMSelect startup probe
|
|
startup: {}
|
|
|
|
horizontalPodAutoscaler:
|
|
# -- Use HPA for vmselect component
|
|
enabled: true
|
|
# -- Maximum replicas for HPA to use to to scale the vmselect component
|
|
maxReplicas: 80
|
|
# -- Minimum replicas for HPA to use to scale the vmselect component
|
|
minReplicas: 10
|
|
# -- Metric for HPA to use to scale the vmselect component
|
|
metrics:
|
|
- type: Resource
|
|
resource:
|
|
name: cpu
|
|
target:
|
|
type: Utilization
|
|
averageUtilization: 60
|
|
- type: Resource
|
|
resource:
|
|
name: memory
|
|
target:
|
|
type: Utilization
|
|
averageUtilization: 60
|
|
# -- Behavior settings for scaling by the HPA
|
|
behavior: {}
|
|
|
|
# -- 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
|
|
|
|
# -- Extra containers to run in a pod with vmselect
|
|
extraContainers:
|
|
[]
|
|
# - name: config-reloader
|
|
# image: reloader-image
|
|
|
|
# -- Init containers for vmselect
|
|
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:
|
|
# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
|
|
enabled: true
|
|
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: "vmselect-c3"
|
|
effect: "NoSchedule"
|
|
|
|
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
|
|
nodeSelector:
|
|
dedicated: "vmselect-c3"
|
|
# -- Pod affinity
|
|
affinity: {}
|
|
# -- Pod topologySpreadConstraints
|
|
topologySpreadConstraints:
|
|
- maxSkew: 1
|
|
topologyKey: topology.kubernetes.io/zone
|
|
whenUnsatisfiable: ScheduleAnyway
|
|
labelSelector:
|
|
matchLabels:
|
|
type: vmselect
|
|
- maxSkew: 1
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: ScheduleAnyway
|
|
labelSelector:
|
|
matchLabels:
|
|
type: vmselect
|
|
# -- Pod's annotations
|
|
podAnnotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8481"
|
|
# -- Count of vmselect 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: 80
|
|
memory: 315Gi
|
|
|
|
# -- 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
|
|
# -- Cache root folder
|
|
cacheMountPath: /cache
|
|
service:
|
|
# -- Create VMSelect 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: 8481
|
|
# -- Target port
|
|
targetPort: http
|
|
# -- Service type
|
|
type: ClusterIP
|
|
# -- 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 vmselect 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-select-infra.prd.meesho.int
|
|
path: /
|
|
port: http
|
|
|
|
# -- Array of TLS objects
|
|
tls: []
|
|
# - secretName: vmselect-ingress-tls
|
|
# hosts:
|
|
# - vmselect.local
|
|
|
|
# -- Ingress controller class name
|
|
ingressClassName: contour-internal-0
|
|
|
|
# -- Ingress path type
|
|
pathType: Prefix
|
|
|
|
route:
|
|
# -- Enable deployment of HTTPRoute for select 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" "/select" .Values.vmselect }}'
|
|
|
|
# -- vmselect mode: deployment, daemonSet
|
|
mode: deployment
|
|
|
|
# -- [K8s Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) specific variables
|
|
deployment:
|
|
spec:
|
|
# -- VMSelect strategy
|
|
strategy: {}
|
|
# rollingUpdate:
|
|
# maxSurge: 25%
|
|
# maxUnavailable: 25%
|
|
# type: RollingUpdate
|
|
|
|
# -- [K8s StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/) specific variables
|
|
statefulSet:
|
|
enabled: false
|
|
spec:
|
|
# -- Deploy order policy for StatefulSet pods
|
|
podManagementPolicy: OrderedReady
|
|
|
|
# -- Empty dir configuration if persistence is disabled
|
|
emptyDir: {}
|
|
persistentVolume:
|
|
# -- Create/use Persistent Volume Claim for vmselect component. Empty dir if false. If true, vmselect will create/use a Persistent Volume Claim
|
|
enabled: false
|
|
|
|
# -- Override Persistent Volume Claim name
|
|
name: ""
|
|
|
|
# -- Array of access mode. Must match those of existing PV or dynamic provisioner. Details are [here](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
|
|
# -- Persistent volume annotations
|
|
annotations: {}
|
|
|
|
# -- Persistent volume extra labels
|
|
extraLabels: {}
|
|
|
|
# -- Existing Claim name. Requires vmselect.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound
|
|
existingClaim: ""
|
|
|
|
# -- Size of the volume. Better to set the same as resource limit memory property
|
|
size: 2Gi
|
|
|
|
# -- Mount subpath
|
|
subPath: ""
|
|
serviceMonitor:
|
|
# -- Enable deployment of Service Monitor for vmselect 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 vmselect component
|
|
# interval: 15s
|
|
# Commented. Prometheus pre-scrape timeout for vmselect 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: []
|
|
|
|
vminsert:
|
|
# -- Enable deployment of vminsert component. Deployment is used
|
|
enabled: false
|
|
|
|
vmauth:
|
|
# -- Enable deployment of vmauth component.
|
|
enabled: false
|
|
|
|
vmstorage:
|
|
# -- Enable deployment of vmstorage component. StatefulSet is used
|
|
enabled: false
|
|
|