341 lines
9.7 KiB
YAML
341 lines
9.7 KiB
YAML
serviceAccount:
|
|
# Specifies whether a service account should be created
|
|
create: true
|
|
# Annotations to add to the service account
|
|
annotations: {}
|
|
# 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
|
|
|
|
imagePullSecrets: []
|
|
|
|
dedicatedValue: false
|
|
schedulerName: default-scheduler
|
|
|
|
rbac:
|
|
create: true
|
|
# Note: The PSP will only be deployed, if Kubernetes (<1.25) supports the resource.
|
|
pspEnabled: true
|
|
namespaced: false
|
|
extraLabels: {}
|
|
annotations: {}
|
|
|
|
topologySpreadConstraints:
|
|
- maxSkew: 1
|
|
topologyKey: topology.kubernetes.io/zone
|
|
whenUnsatisfiable: ScheduleAnyway
|
|
labelSelector:
|
|
matchLabels:
|
|
type: vmalert
|
|
- maxSkew: 1
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
type: vmalert
|
|
|
|
alertmanager:
|
|
enabled: false
|
|
|
|
server:
|
|
enabled: true
|
|
name: vmalert
|
|
image:
|
|
repository: victoriametrics/vmalert
|
|
tag: "" # rewrites Chart.AppVersion
|
|
pullPolicy: IfNotPresent
|
|
nameOverride: ""
|
|
fullnameOverride: vmalert-demand-prd-stateful
|
|
configMap: ""
|
|
|
|
## See `kubectl explain poddisruptionbudget.spec` for more
|
|
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
|
podDisruptionBudget:
|
|
enabled: false
|
|
# minAvailable: 1
|
|
# maxUnavailable: 1
|
|
labels: {}
|
|
|
|
# -- Additional environment variables (ex.: secret tokens, flags) https://github.com/VictoriaMetrics/VictoriaMetrics#environment-variables
|
|
env:
|
|
[]
|
|
# - name: VM_remoteWrite_basicAuth_password
|
|
# valueFrom:
|
|
# secretKeyRef:
|
|
# name: auth_secret
|
|
# key: password
|
|
|
|
replicaCount: 1
|
|
|
|
# deployment strategy, set to standard k8s default
|
|
strategy:
|
|
type: RollingUpdate
|
|
rollingUpdate:
|
|
maxSurge: 25%
|
|
maxUnavailable: 25%
|
|
|
|
# specifies the minimum number of seconds for which a newly created Pod should be ready without any of its containers crashing/terminating
|
|
# 0 is the standard k8s default
|
|
minReadySeconds: 0
|
|
|
|
# vmalert reads metrics from source, next section represents its configuration. It can be any service which supports
|
|
# MetricsQL or PromQL.
|
|
datasource:
|
|
url: "http://vmselect-demand-prd-proxy.victoriametrics.svc.cluster.local:8481/select/100/prometheus"
|
|
# -- Basic auth for datasource
|
|
basicAuth:
|
|
username: ""
|
|
password: ""
|
|
# -- Auth based on Bearer token for datasource
|
|
bearer:
|
|
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
|
token: ""
|
|
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
|
tokenFile: ""
|
|
|
|
remote:
|
|
write:
|
|
url: "http://vm-insert-demand-prd.victoriametrics.svc.cluster.local:8480/insert/100/prometheus/"
|
|
# -- Basic auth for remote write
|
|
basicAuth:
|
|
username: ""
|
|
password: ""
|
|
# -- Auth based on Bearer token for remote write
|
|
bearer:
|
|
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
|
token: ""
|
|
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
|
tokenFile: ""
|
|
read:
|
|
url: "http://vmselect-demand-prd-proxy.victoriametrics.svc.cluster.local:8481/select/100/prometheus"
|
|
# -- Basic auth for remote read
|
|
basicAuth:
|
|
username: ""
|
|
password: ""
|
|
# -- Auth based on Bearer token for remote read
|
|
bearer:
|
|
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
|
token: ""
|
|
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
|
tokenFile: ""
|
|
|
|
# -- Notifier to use for alerts.
|
|
# Multiple notifiers can be enabled by using `notifiers` section
|
|
notifier:
|
|
alertmanager:
|
|
url: "http://alertmanager-infra-prd.alertmanager.svc.clusterset.local:9093"
|
|
# -- Basic auth for alertmanager
|
|
basicAuth:
|
|
username: ""
|
|
password: ""
|
|
# -- Auth based on Bearer token for alertmanager
|
|
bearer:
|
|
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
|
token: ""
|
|
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
|
tokenFile: ""
|
|
|
|
# -- Additional notifiers to use for alerts
|
|
notifiers: []
|
|
# - alertmanager:
|
|
# url: "http://devops-p-alertmanager-01b.meeshoint.in:9093"
|
|
# basicAuth:
|
|
# username: ""
|
|
# password: ""
|
|
# bearer:
|
|
# token: ""
|
|
# tokenFile: ""
|
|
# - alertmanager:
|
|
# url: "https://prd-infra-alertmanager.meesho.com"
|
|
# basicAuth:
|
|
# username: ""
|
|
# password: ""
|
|
# bearer:
|
|
# token: ""
|
|
# tokenFile: ""
|
|
|
|
extraArgs:
|
|
envflag.enable: "true"
|
|
envflag.prefix: VM_
|
|
loggerFormat: json
|
|
rule: "/alert-rules/vm-alerts-config/configmap/demand/**/*.yaml"
|
|
evaluationInterval: 60s
|
|
configCheckInterval: 10s
|
|
loggerTimezone: "Asia/Kolkata"
|
|
|
|
# Additional hostPath mounts
|
|
extraHostPathMounts:
|
|
[]
|
|
# - name: certs-dir
|
|
# mountPath: /etc/kubernetes/certs
|
|
# subPath: ""
|
|
# hostPath: /etc/kubernetes/certs
|
|
# readOnly: true
|
|
|
|
# Extra Volumes for the pod
|
|
extraVolumes:
|
|
[]
|
|
# Extra Volume Mounts for the container
|
|
extraVolumeMounts:
|
|
[]
|
|
extraContainers:
|
|
[]
|
|
#- name: config-reloader
|
|
# image: reloader-image
|
|
|
|
service:
|
|
annotations: {}
|
|
labels: null # Set to null to prevent default values.yaml labels from being merged
|
|
clusterIP: ""
|
|
## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
|
|
##
|
|
externalIPs: []
|
|
loadBalancerIP: ""
|
|
loadBalancerSourceRanges: []
|
|
servicePort: 8880
|
|
# nodePort: 30000
|
|
type: ClusterIP
|
|
# Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
|
# externalTrafficPolicy: "local"
|
|
# healthCheckNodePort: 0
|
|
|
|
ingress:
|
|
enabled: true
|
|
annotations: {}
|
|
ingressClassName: nginx-internal
|
|
# kubernetes.io/ingress.class: nginx
|
|
# kubernetes.io/tls-acme: 'true'
|
|
|
|
extraLabels: {}
|
|
hosts:
|
|
- name: vmalert-demand-prd-stateful.meeshogcp.in
|
|
path: /
|
|
port: http
|
|
|
|
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
|
|
|
|
podSecurityContext: {}
|
|
# fsGroup: 2000
|
|
|
|
securityContext:
|
|
{}
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
# runAsUser: 1000
|
|
|
|
resources:
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
# limits:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
requests:
|
|
cpu: 1500m
|
|
memory: 3Gi
|
|
|
|
# Annotations to be added to the deployment
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8880"
|
|
|
|
# labels to be added to the deployment, pods and other resources
|
|
labels:
|
|
bu: "demand"
|
|
team: "sre"
|
|
service: "vmalert-demand-prd-stateful"
|
|
env: "prd"
|
|
priority: "p0"
|
|
type: "vmalert"
|
|
|
|
# Annotations to be added to pod
|
|
podAnnotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8880"
|
|
cluster-autoscaler.kubernetes.io/safe-to-evict: 'false'
|
|
|
|
podLabels: {}
|
|
|
|
nodeSelector:
|
|
dedicated: "vmselect-mds"
|
|
|
|
|
|
priorityClassName: ""
|
|
|
|
tolerations:
|
|
- key: "dedicated"
|
|
operator: "Equal"
|
|
value: "vmselect-mds"
|
|
effect: "NoSchedule"
|
|
|
|
affinity: {}
|
|
|
|
# vmalert alert rules configuration configuration:
|
|
# use existing configmap if specified
|
|
# otherwise .config values will be used
|
|
config:
|
|
alerts:
|
|
groups: []
|
|
|
|
# -- Persistent Volume configuration for alert rules
|
|
persistentVolume:
|
|
# -- Create/use Persistent Volume Claim for alert rules. Empty dir if false
|
|
enabled: true
|
|
|
|
# -- Override Persistent Volume Claim name
|
|
name: ""
|
|
|
|
# -- 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:
|
|
- ReadWriteMany
|
|
|
|
# -- Persistent volume annotations
|
|
annotations: {}
|
|
|
|
# -- PVC extra labels
|
|
extraLabels: {}
|
|
|
|
# -- StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically
|
|
storageClassName: "pulse-nfs-sc-prd"
|
|
|
|
# -- Existing Claim name. If defined, PVC must be created manually before volume will be bound
|
|
existingClaim: ""
|
|
|
|
# -- Mount path. Alert rules Persistent Volume mount root path.
|
|
mountPath: /alert-rules
|
|
|
|
# -- Mount subpath
|
|
subPath: ""
|
|
|
|
# -- Size of the volume. Better to set the same as resource limit memory property.
|
|
size: 10Gi
|
|
|
|
|
|
serviceMonitor:
|
|
enabled: false
|
|
extraLabels: {}
|
|
annotations: {}
|
|
relabelings: []
|
|
# 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
|