vminsert: enabled: false vmstorage: enabled: false fullnameOverride: vmstorage-demand-prd replicaCount: 5 dedicatedValue: false vmselect: # -- Enable deployment of vmselect component. Can be deployed as Deployment(default) or StatefulSet enabled: true # -- Vmselect container name name: vmselect strategy: {} # rollingUpdate: # maxSurge: 25% # maxUnavailable: 25% # type: RollingUpdate #extraVMSelects: [] image: # -- Image repository repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vmselect # -- Image tag tag: v1.93.7-cluster # -- Image pull policy pullPolicy: IfNotPresent # -- Name of Priority Class priorityClassName: "" # -- Overrides the full name of vmselect component fullnameOverride: vmselect-demand-prd # -- Suppress rendering `--storageNode` FQDNs based on `vmstorage.replicaCount` value. If true suppress rendering `--storageNodes`, they can be re-defined in extraArgs suppresStorageFQDNsRender: false automountServiceAccountToken: true # Extra command line arguments for vmselect component splitService: True extraArgs: envflag.enable: "true" envflag.prefix: VM_ loggerFormat: json 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" search.maxConcurrentRequests: 384 clusternative.maxConcurrentRequests: 384 annotations: prometheus.io/scrape: "true" prometheus.io/port: "8481" extraLabels: bu: "demand" team: "demand-sre" service: "vmselect-demand-prd" env: "prd" priority: "p0" type: "vmselect" # arch: "arm64" # runpod: "ondemand" # -- Additional environment variables (ex.: secret tokens, flags) https://github.com/VictoriaMetrics/VictoriaMetrics#environment-variables env: [] # Readiness & Liveness probes probe: readiness: initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 liveness: initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 horizontalPodAutoscaler: # -- Use HPA for vmselect component enabled: true # -- Maximum replicas for HPA to use to to scale the vmselect component maxReplicas: 15 # -- Minimum replicas for HPA to use to scale the vmselect component minReplicas: 7 # -- Metric for HPA to use to scale the vmselect component metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 40 # Additional hostPath mounts extraHostPathMounts: [] # - name: certs-dir # mountPath: /etc/kubernetes/certs # subPath: "" # hostPath: /etc/kubernetes/certs # readOnly: true # Extra Volumes for the pod extraVolumes: [] # - name: example # configMap: # name: example # Extra Volume Mounts for the container extraVolumeMounts: [] # - name: example # mountPath: /example extraContainers: [] # - name: config-reloader # image: reloader-image initContainers: [] # - name: example # image: example-image podDisruptionBudget: # -- See `kubectl explain poddisruptionbudget.spec` for more. Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ enabled: true minAvailable: 1 # maxUnavailable: 1 labels: {} nodeSelector: dedicated: "vmselect-mds" tolerations: - key: "dedicated" operator: "Equal" value: "vmselect-mds" effect: "NoSchedule" # -- 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 resources: # limits: # cpu: 50m # memory: 64Mi requests: cpu: 36 memory: 60Gi # -- Pod's security context. Ref: [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: {} podSecurityContext: {} # -- Cache root folder cacheMountPath: /cache service: # -- Service annotations annotations: io.cilium/global-service: "true" # -- Service labels labels: {} # -- Service ClusterIP clusterIP: "" # -- Service External IPs. Ref: [https://kubernetes.io/docs/user-guide/services/#external-ips](https://kubernetes.io/docs/user-guide/services/#external-ips) externalIPs: [] # -- Extra service ports extraServicePorts: [] # -- Service load balacner IP loadBalancerIP: "" # -- Load balancer source range loadBalancerSourceRanges: [] # -- Service port servicePort: 8481 # -- Target port targetPort: http # -- Service type type: ClusterIP ingress: # -- Enable deployment of ingress for vmselect component enabled: true # -- Ingress annotations annotations: nginx.ingress.kubernetes.io/force-ssl-redirect: "false" nginx.ingress.kubernetes.io/ssl-redirect: "false" # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: 'true' ingressClassName: contour-internal-0 extraLabels: {} # -- Array of host objects hosts: - name: vmselect-demand.prd.meesho.int path: / port: http # -- Array of TLS objects tls: [] # - secretName: vmselect-ingress-tls # hosts: # - vmselect.local # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress # ingressClassName: nginx # -- pathType is only for k8s >= 1.1= pathType: Prefix statefulSet: # -- Deploy StatefulSet instead of Deployment for vmselect. Useful if you want to keep cache data. enabled: false # -- Deploy order policy for StatefulSet pods podManagementPolicy: OrderedReady ## Headless service for statefulset service: # -- Headless service annotations annotations: {} # -- Headless service labels labels: {} # -- Headless service port servicePort: 8481 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 # -- Array of access mode. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/) accessModes: - ReadWriteOnce # -- Persistent volume annotations annotations: {} # -- Persistent volume labels labels: {} # -- Existing Claim name. Requires vmselect.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound existingClaim: "" ## Vmselect data Persistent Volume mount root path ## # -- 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: {} # 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: []