310 lines
9.4 KiB
YAML
310 lines
9.4 KiB
YAML
vminsert:
|
|
enabled: false
|
|
|
|
vmstorage:
|
|
enabled: false
|
|
fullnameOverride: vmstorage-infra-prd
|
|
replicaCount: 5
|
|
|
|
dedicatedValue: false
|
|
|
|
|
|
vmselect:
|
|
# -- Enable deployment of vmselect component. Can be deployed as Deployment(default) or StatefulSet
|
|
enabled: true
|
|
splitService: True
|
|
# -- Vmselect container name
|
|
name: vmselect-test
|
|
strategy:
|
|
rollingUpdate:
|
|
maxSurge: 25%
|
|
maxUnavailable: 25%
|
|
type: RollingUpdate
|
|
#extraVMSelects: []
|
|
extraVMSelects:
|
|
- --storageNode=vmselect-mqkafka-prd-clusternative.victoriametrics.svc.clusterset.local:8401
|
|
- --storageNode=vm-select-central-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401
|
|
- --storageNode=vm-select-demand-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401
|
|
- --storageNode=vm-select-datascience-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401
|
|
- --storageNode=vmselect-dataengg-prd-clusternative.victoriametrics.svc.clusterset.local:8401
|
|
- --storageNode=vm-select-supply-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401
|
|
- --storageNode=vm-select-farmiso-prd-cluster-tcp.victoriametrics.svc.clusterset.local:8401
|
|
|
|
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-infra-prd-test
|
|
# -- 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
|
|
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"
|
|
search.maxConcurrentRequests: 1600
|
|
clusternative.maxConcurrentRequests: 1000
|
|
search.maxWorkersPerQuery: 89
|
|
memory.allowedPercent: 80
|
|
loggerTimezone: "Asia/Kolkata"
|
|
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8481"
|
|
extraLabels:
|
|
bu: "infra"
|
|
team: "sre"
|
|
service: "vmselect-infra-prd-test"
|
|
env: "prd"
|
|
priority: "p0"
|
|
type: "vmselect-test"
|
|
# 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: 80
|
|
# -- Minimum replicas for HPA to use to scale the vmselect component
|
|
minReplicas: 13
|
|
# -- 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
|
|
|
|
# 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: 80
|
|
memory: 140Gi
|
|
|
|
# -- 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: nginx-internal
|
|
|
|
extraLabels: {}
|
|
# -- Array of host objects
|
|
hosts:
|
|
- name: vmselect-infra-prd.meeshogcp.in
|
|
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: []
|