480 lines
15 KiB
YAML
480 lines
15 KiB
YAML
# -- Meesho orginazation specific fields for victoria-metrics-agent chart.
|
|
custom:
|
|
configFileFolderPath: "configmap"
|
|
scrapeConfigFileName: "demand-scrape-secondary.yaml"
|
|
|
|
# Default values for victoria-metrics-agent.
|
|
# 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: ""
|
|
# -- Openshift security context compatibility configuration
|
|
compatibility:
|
|
openshift:
|
|
adaptSecurityContext: "auto"
|
|
cluster:
|
|
# -- K8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/)
|
|
dnsDomain: cluster.local.
|
|
|
|
# -- Replica count
|
|
replicaCount: 2
|
|
|
|
# -- Specify pod lifecycle
|
|
lifecycle: {}
|
|
|
|
# -- Use an alternate scheduler, e.g. "stork". Check details [here](https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/)
|
|
schedulerName: ""
|
|
|
|
# -- VMAgent mode: daemonSet, deployment, statefulSet
|
|
mode: deployment
|
|
|
|
# -- [K8s DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) specific variables
|
|
daemonSet:
|
|
spec: {}
|
|
|
|
# -- [K8s Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) specific variables
|
|
deployment:
|
|
spec:
|
|
minReadySeconds: 1200
|
|
progressDeadlineSeconds: 1800
|
|
# -- Deployment strategy. Check [here](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy) for details
|
|
strategy: {}
|
|
# rollingUpdate:
|
|
# maxSurge: 25%
|
|
# maxUnavailable: 25%
|
|
# type: RollingUpdate
|
|
|
|
# -- [K8s StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/) specific variables
|
|
statefulSet:
|
|
# -- create cluster of vmagents. Check [here](https://docs.victoriametrics.com/victoriametrics/vmagent/#scraping-big-number-of-targets)
|
|
# available since [v1.77.2](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.77.2)
|
|
clusterMode: true
|
|
# -- replication factor for vmagent in cluster mode
|
|
replicationFactor: 1
|
|
spec:
|
|
# -- StatefulSet update strategy. Check [here](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies) for details.
|
|
updateStrategy: {}
|
|
# type: RollingUpdate
|
|
|
|
image:
|
|
# -- Image registry
|
|
registry: ""
|
|
# -- Image repository
|
|
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vmagent
|
|
# -- Image tag, set to `Chart.AppVersion` by default
|
|
tag: v1.133.0 # rewrites Chart.AppVersion
|
|
# -- Variant of the image to use.
|
|
# e.g. enterprise, scratch
|
|
variant: ""
|
|
# -- Image pull policy
|
|
pullPolicy: IfNotPresent
|
|
|
|
# -- Image pull secrets
|
|
imagePullSecrets: []
|
|
|
|
# -- Add additional DNS entries to pods hosts file. Check [official documentation](https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/)
|
|
hostAliases: []
|
|
# - ip: 192.168.1.1
|
|
# hostNames:
|
|
# - test.example.com
|
|
# - another.example.net
|
|
|
|
# -- Override chart name
|
|
nameOverride: ""
|
|
|
|
# -- Override resources fullname
|
|
fullnameOverride: "vm-agent-demand-prd-secondary"
|
|
|
|
# -- Container working directory
|
|
containerWorkingDir: "/"
|
|
|
|
rbac:
|
|
# -- Enables Role/RoleBinding creation
|
|
create: true
|
|
|
|
# -- Role/RoleBinding annotations
|
|
annotations: {}
|
|
|
|
# -- Role/RoleBinding labels
|
|
extraLabels: {}
|
|
|
|
# -- If true and `rbac.enabled`, will deploy a Role/RoleBinding instead of a ClusterRole/ClusterRoleBinding
|
|
namespaced: false
|
|
|
|
# -- additional rules for a role
|
|
extraRules: []
|
|
|
|
serviceAccount:
|
|
# -- Specifies whether a service account should be created
|
|
create: true
|
|
# -- Annotations to add to the service account
|
|
annotations: {
|
|
iam.gke.io/gcp-service-account: sa-dmnd-sre-vmagnt-prd-mds@meesho-demand-prd-0622.iam.gserviceaccount.com
|
|
}
|
|
# -- The name of the service account to use.
|
|
# If not set and create is true, a name is generated using the fullname template
|
|
name:
|
|
# -- mount API token to pod directly
|
|
automountToken: true
|
|
|
|
# -- See `kubectl explain poddisruptionbudget.spec` for more or check [official documentation](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
|
|
podDisruptionBudget:
|
|
enabled: false
|
|
# minAvailable: 1
|
|
# maxUnavailable: 1
|
|
labels: {}
|
|
|
|
# -- Generates `remoteWrite.*` flags and config maps with value content for values, that are of type list of map.
|
|
# Each item should contain `url` param to pass validation.
|
|
remoteWrite:
|
|
- url: http://vm-insert-demand-prd.victoriametrics.svc.cluster.local:8480/insert/multitenant/prometheus/api/v1/write
|
|
# urlRelabelConfig:
|
|
# - action: keep
|
|
# source_labels: [env]
|
|
# regex: "dev"
|
|
|
|
# -- VMAgent extra command line arguments
|
|
extraArgs:
|
|
envflag.enable: true
|
|
envflag.prefix: VM_
|
|
loggerFormat: json
|
|
httpListenAddr: :8429
|
|
promscrape.config.strictParse: false # default is true
|
|
promscrape.maxScrapeSize: 1000000000 # default is 167772160
|
|
promscrape.minResponseSizeForStreamParse: 1000000
|
|
loggerTimezone: "Asia/Kolkata"
|
|
# promscrape.suppressScrapeErrors: true # default is false
|
|
|
|
# Uncomment and specify the port if you want to support any of the protocols:
|
|
# https://docs.victoriametrics.com/victoriametrics/vmagent/#features
|
|
# graphiteListenAddr: ":2003"
|
|
# influxListenAddr: ":8189"
|
|
# opentsdbHTTPListenAddr: ":4242"
|
|
# opentsdbListenAddr: ":4242"
|
|
|
|
# -- Additional environment variables (ex.: secret tokens, flags). Check [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables) for more details.
|
|
env:
|
|
[]
|
|
# - name: VM_remoteWrite_basicAuth_password
|
|
# valueFrom:
|
|
# secretKeyRef:
|
|
# name: auth-secret
|
|
# key: password
|
|
|
|
# -- Specify alternative source for env variables
|
|
envFrom:
|
|
[]
|
|
#- configMapRef:
|
|
# name: special-config
|
|
|
|
# -- Extra labels for Deployment and Statefulset
|
|
extraLabels:
|
|
bu: "demand"
|
|
team: "demand-sre"
|
|
service: "vm-agent-demand-prd-secondary"
|
|
env: "prd"
|
|
priority: "p0"
|
|
type: "vmagent"
|
|
|
|
# -- Extra labels for Pods only
|
|
podLabels:
|
|
bu: "demand"
|
|
team: "demand-sre"
|
|
service: "vm-agent-demand-prd-secondary"
|
|
env: "prd"
|
|
priority: "p0"
|
|
type: "vmagent"
|
|
|
|
# -- Extra selector labels common for pod and service
|
|
selectorLabels: {}
|
|
|
|
# -- 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 vmagent
|
|
extraContainers: []
|
|
# - name: config-reloader
|
|
# image: reloader-image
|
|
|
|
# -- Init containers for vmagent
|
|
initContainers:
|
|
[]
|
|
# - name: example
|
|
# image: example-image
|
|
|
|
# -- Security context to be added to pod
|
|
podSecurityContext:
|
|
enabled: true
|
|
# fsGroup: 2000
|
|
|
|
# -- Security context to be added to pod's containers
|
|
securityContext:
|
|
enabled: true
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
# runAsUser: 1000
|
|
|
|
service:
|
|
# -- Enable agent service
|
|
enabled: true
|
|
# -- Service annotations
|
|
annotations: {}
|
|
# -- Service labels
|
|
extraLabels: {}
|
|
# -- Service ClusterIP
|
|
clusterIP: ""
|
|
# -- Service external IPs. Check [here](https://kubernetes.io/docs/concepts/services-networking/service/#external-ips) for details
|
|
externalIPs: []
|
|
# -- Service load balancer IP
|
|
loadBalancerIP: ""
|
|
# -- Load balancer source range
|
|
loadBalancerSourceRanges: []
|
|
# -- Service port
|
|
servicePort: 8429
|
|
# -- Target port
|
|
targetPort: http
|
|
# nodePort: 30000
|
|
# -- Service type
|
|
type: ClusterIP
|
|
# -- 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: []
|
|
# -- 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 internal traffic policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/service/#internal-traffic-policy) for details
|
|
internalTrafficPolicy: ""
|
|
# -- 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: ""
|
|
# -- Traffic Distribution. Check [Traffic distribution](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
|
|
trafficDistribution: ""
|
|
# -- Extra selector labels common for service only
|
|
selectorLabels: {}
|
|
|
|
ingress:
|
|
# -- Enable deployment of ingress for agent
|
|
enabled: false
|
|
|
|
# -- Ingress annotations
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
|
|
nginx.ingress.kubernetes.io/rewrite-target: /
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
|
# kubernetes.io/ingress.class: nginx
|
|
# kubernetes.io/tls-acme: 'true'
|
|
|
|
# -- Ingress extra labels
|
|
extraLabels: {}
|
|
|
|
# -- Array of host objects
|
|
hosts:
|
|
- name: vm-agent-demand-prd-secondary.meeshogcp.in
|
|
path:
|
|
- /
|
|
port: http
|
|
|
|
# -- Array of TLS objects
|
|
tls: []
|
|
# - secretName: vmagent-ingress-tls
|
|
# hosts:
|
|
# - vmagent.local
|
|
|
|
# -- Ingress controller class name
|
|
ingressClassName: "nginx-internal"
|
|
|
|
# -- Ingress path type
|
|
pathType: Prefix
|
|
|
|
# -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
|
|
resources:
|
|
requests:
|
|
cpu: 370
|
|
memory: 650Gi
|
|
|
|
# -- Annotations to be added to the deployment
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8429"
|
|
|
|
# -- Annotations to be added to pod
|
|
podAnnotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8429"
|
|
|
|
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
|
|
nodeSelector:
|
|
dedicated: "vmagent-c4d"
|
|
|
|
# -- Node tolerations for server scheduling to nodes with taints. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
|
|
tolerations:
|
|
- key: "dedicated"
|
|
operator: "Equal"
|
|
value: "vmagent-c4d"
|
|
effect: "NoSchedule"
|
|
|
|
# -- Pod topologySpreadConstraints
|
|
topologySpreadConstraints:
|
|
- maxSkew: 1
|
|
topologyKey: topology.kubernetes.io/zone
|
|
whenUnsatisfiable: ScheduleAnyway
|
|
labelSelector:
|
|
matchLabels:
|
|
type: vmagent
|
|
- maxSkew: 1
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
type: vmagent
|
|
|
|
# -- Pod affinity
|
|
affinity: {}
|
|
|
|
# -- VMAgent [scraping configuration](https://docs.victoriametrics.com/victoriametrics/vmagent/#how-to-collect-metrics-in-prometheus-format)
|
|
# use existing configmap if specified
|
|
# otherwise .config values will be used
|
|
configMap: "vm-agent-demand-prd-secondary"
|
|
|
|
# -- Priority class to be assigned to the pod(s)
|
|
priorityClassName: ""
|
|
|
|
# -- Enable the host network
|
|
hostNetwork: false
|
|
|
|
serviceMonitor:
|
|
# -- Enable deployment of Service Monitor for server component. This is Prometheus operator object
|
|
enabled: false
|
|
# -- Service Monitor labels
|
|
extraLabels: {}
|
|
# -- Service Monitor annotations
|
|
annotations: {}
|
|
# -- Service Monitor relabelings
|
|
relabelings: []
|
|
# -- Basic auth params for Service Monitor
|
|
basicAuth: {}
|
|
# -- Service Monitor metricRelabelings
|
|
metricRelabelings: []
|
|
# -- Service Monitor targetPort
|
|
targetPort: http
|
|
# interval: 15s
|
|
# scrapeTimeout: 5s
|
|
# -- Commented. HTTP scheme to use for scraping.
|
|
# scheme: https
|
|
# -- Commented. TLS configuration to use when scraping the endpoint
|
|
# tlsConfig:
|
|
# insecureSkipVerify: true
|
|
|
|
# -- Empty dir configuration for a case, when persistence is disabled
|
|
emptyDir: {}
|
|
|
|
persistentVolume:
|
|
# -- Create/use Persistent Volume Claim for server component. Empty dir if false
|
|
enabled: false
|
|
|
|
# -- Override Persistent Volume Claim name
|
|
name: ""
|
|
|
|
# -- StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically
|
|
storageClassName: ""
|
|
|
|
# -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are [here](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
|
|
# -- Size of the volume. Should be calculated based on the logs you send and retention policy you set.
|
|
size: 10Gi
|
|
|
|
# -- Persistent volume annotations
|
|
annotations: {}
|
|
|
|
# -- Persistent volume additional labels
|
|
extraLabels: {}
|
|
|
|
# -- Existing Claim name. If defined, PVC must be created manually before volume will be bound
|
|
existingClaim: ""
|
|
|
|
# -- Bind Persistent Volume by labels. Must match all labels of targeted PV.
|
|
matchLabels: {}
|
|
|
|
# -- Horizontal Pod Autoscaling.
|
|
# Note that it is not intended to be used for vmagents which perform scraping.
|
|
# In order to scale scraping vmagents check [here](https://docs.victoriametrics.com/victoriametrics/vmagent/#scraping-big-number-of-targets)
|
|
horizontalPodAutoscaling:
|
|
# -- Use HPA for vmagent
|
|
enabled: false
|
|
# -- Maximum replicas for HPA to use to to scale vmagent
|
|
maxReplicas: 10
|
|
# -- Minimum replicas for HPA to use to scale vmagent
|
|
minReplicas: 1
|
|
# -- Metric for HPA to use to scale vmagent
|
|
metrics: []
|
|
|
|
# -- VMAgent scrape configuration
|
|
config: {}
|
|
|
|
# -- Extra scrape configs that will be appended to `config`
|
|
extraScrapeConfigs: []
|
|
|
|
probe:
|
|
# -- Readiness probe
|
|
readiness:
|
|
httpGet: {}
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 15
|
|
# -- Liveness probe
|
|
liveness:
|
|
tcpSocket: {}
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 15
|
|
timeoutSeconds: 5
|
|
# -- Startup probe
|
|
startup: {}
|
|
|
|
# -- Add extra specs dynamically to this chart
|
|
extraObjects: []
|
|
|
|
allowedMetricsEndpoints:
|
|
- /metrics
|
|
|
|
# -- 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: ""
|