values.yaml 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233
  1. rbac:
  2. create: true
  3. podSecurityPolicy:
  4. enabled: false
  5. imagePullSecrets: []
  6. # - name: "image-pull-secret"
  7. ## Define serviceAccount names for components. Defaults to component's fully qualified name.
  8. ##
  9. serviceAccounts:
  10. server:
  11. create: true
  12. name: ""
  13. annotations: {}
  14. # automountServiceAccountToken:
  15. ## Monitors ConfigMap changes and POSTs to a URL
  16. ## Ref: https://github.com/prometheus-operator/prometheus-operator/tree/main/cmd/prometheus-config-reloader
  17. ##
  18. configmapReload:
  19. ## URL for configmap-reload to use for reloads
  20. ##
  21. reloadUrl: ""
  22. ## env sets environment variables to pass to the container. Can be set as name/value pairs,
  23. ## read from secrets or configmaps.
  24. env: []
  25. # - name: SOMEVAR
  26. # value: somevalue
  27. # - name: PASSWORD
  28. # valueFrom:
  29. # secretKeyRef:
  30. # name: mysecret
  31. # key: password
  32. # optional: false
  33. prometheus:
  34. ## If false, the configmap-reload container will not be deployed
  35. ##
  36. enabled: true
  37. ## configmap-reload container name
  38. ##
  39. name: configmap-reload
  40. ## configmap-reload container image
  41. ##
  42. image:
  43. repository: quay.io/prometheus-operator/prometheus-config-reloader
  44. tag: v0.67.0
  45. # When digest is set to a non-empty value, images will be pulled by digest (regardless of tag value).
  46. digest: ""
  47. pullPolicy: IfNotPresent
  48. # containerPort: 9533
  49. ## Additional configmap-reload container arguments
  50. ##
  51. extraArgs: {}
  52. ## Additional configmap-reload volume directories
  53. ##
  54. extraVolumeDirs: []
  55. ## Additional configmap-reload volume mounts
  56. ##
  57. extraVolumeMounts: []
  58. ## Additional configmap-reload mounts
  59. ##
  60. extraConfigmapMounts: []
  61. # - name: prometheus-alerts
  62. # mountPath: /etc/alerts.d
  63. # subPath: ""
  64. # configMap: prometheus-alerts
  65. # readOnly: true
  66. ## Security context to be added to configmap-reload container
  67. containerSecurityContext: {}
  68. ## configmap-reload resource requests and limits
  69. ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
  70. ##
  71. resources: {}
  72. server:
  73. ## Prometheus server container name
  74. ##
  75. name: server
  76. ## Use a ClusterRole (and ClusterRoleBinding)
  77. ## - If set to false - we define a RoleBinding in the defined namespaces ONLY
  78. ##
  79. ## NB: because we need a Role with nonResourceURL's ("/metrics") - you must get someone with Cluster-admin privileges to define this role for you, before running with this setting enabled.
  80. ## This makes prometheus work - for users who do not have ClusterAdmin privs, but wants prometheus to operate on their own namespaces, instead of clusterwide.
  81. ##
  82. ## You MUST also set namespaces to the ones you have access to and want monitored by Prometheus.
  83. ##
  84. # useExistingClusterRoleName: nameofclusterrole
  85. ## If set it will override prometheus.server.fullname value for ClusterRole and ClusterRoleBinding
  86. ##
  87. clusterRoleNameOverride: ""
  88. # Enable only the release namespace for monitoring. By default all namespaces are monitored.
  89. # If releaseNamespace and namespaces are both set a merged list will be monitored.
  90. releaseNamespace: false
  91. ## namespaces to monitor (instead of monitoring all - clusterwide). Needed if you want to run without Cluster-admin privileges.
  92. # namespaces:
  93. # - yournamespace
  94. # sidecarContainers - add more containers to prometheus server
  95. # Key/Value where Key is the sidecar `- name: <Key>`
  96. # Example:
  97. # sidecarContainers:
  98. # webserver:
  99. # image: nginx
  100. # OR for adding OAuth authentication to Prometheus
  101. # sidecarContainers:
  102. # oauth-proxy:
  103. # image: quay.io/oauth2-proxy/oauth2-proxy:v7.1.2
  104. # args:
  105. # - --upstream=http://127.0.0.1:9090
  106. # - --http-address=0.0.0.0:8081
  107. # - ...
  108. # ports:
  109. # - containerPort: 8081
  110. # name: oauth-proxy
  111. # protocol: TCP
  112. # resources: {}
  113. sidecarContainers: {}
  114. # sidecarTemplateValues - context to be used in template for sidecarContainers
  115. # Example:
  116. # sidecarTemplateValues: *your-custom-globals
  117. # sidecarContainers:
  118. # webserver: |-
  119. # {{ include "webserver-container-template" . }}
  120. # Template for `webserver-container-template` might looks like this:
  121. # image: "{{ .Values.server.sidecarTemplateValues.repository }}:{{ .Values.server.sidecarTemplateValues.tag }}"
  122. # ...
  123. #
  124. sidecarTemplateValues: {}
  125. ## Prometheus server container image
  126. ##
  127. image:
  128. repository: quay.io/prometheus/prometheus
  129. # if not set appVersion field from Chart.yaml is used
  130. tag: ""
  131. # When digest is set to a non-empty value, images will be pulled by digest (regardless of tag value).
  132. digest: ""
  133. pullPolicy: IfNotPresent
  134. ## Prometheus server command
  135. ##
  136. command: []
  137. ## prometheus server priorityClassName
  138. ##
  139. priorityClassName: ""
  140. ## EnableServiceLinks indicates whether information about services should be injected
  141. ## into pod's environment variables, matching the syntax of Docker links.
  142. ## WARNING: the field is unsupported and will be skipped in K8s prior to v1.13.0.
  143. ##
  144. enableServiceLinks: true
  145. ## The URL prefix at which the container can be accessed. Useful in the case the '-web.external-url' includes a slug
  146. ## so that the various internal URLs are still able to access as they are in the default case.
  147. ## (Optional)
  148. prefixURL: ""
  149. ## External URL which can access prometheus
  150. ## Maybe same with Ingress host name
  151. baseURL: ""
  152. ## Additional server container environment variables
  153. ##
  154. ## You specify this manually like you would a raw deployment manifest.
  155. ## This means you can bind in environment variables from secrets.
  156. ##
  157. ## e.g. static environment variable:
  158. ## - name: DEMO_GREETING
  159. ## value: "Hello from the environment"
  160. ##
  161. ## e.g. secret environment variable:
  162. ## - name: USERNAME
  163. ## valueFrom:
  164. ## secretKeyRef:
  165. ## name: mysecret
  166. ## key: username
  167. env: []
  168. # List of flags to override default parameters, e.g:
  169. # - --enable-feature=agent
  170. # - --storage.agent.retention.max-time=30m
  171. defaultFlagsOverride: []
  172. extraFlags:
  173. - web.enable-lifecycle
  174. ## web.enable-admin-api flag controls access to the administrative HTTP API which includes functionality such as
  175. ## deleting time series. This is disabled by default.
  176. # - web.enable-admin-api
  177. ##
  178. ## storage.tsdb.no-lockfile flag controls BD locking
  179. # - storage.tsdb.no-lockfile
  180. ##
  181. ## storage.tsdb.wal-compression flag enables compression of the write-ahead log (WAL)
  182. # - storage.tsdb.wal-compression
  183. ## Path to a configuration file on prometheus server container FS
  184. configPath: /etc/config/prometheus.yml
  185. ### The data directory used by prometheus to set --storage.tsdb.path
  186. ### When empty server.persistentVolume.mountPath is used instead
  187. storagePath: ""
  188. global:
  189. ## How frequently to scrape targets by default
  190. ##
  191. scrape_interval: 1m
  192. ## How long until a scrape request times out
  193. ##
  194. scrape_timeout: 10s
  195. ## How frequently to evaluate rules
  196. ##
  197. evaluation_interval: 1m
  198. ## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write
  199. ##
  200. remoteWrite: []
  201. ## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_read
  202. ##
  203. remoteRead: []
  204. ## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#tsdb
  205. ##
  206. tsdb: {}
  207. # out_of_order_time_window: 0s
  208. ## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#exemplars
  209. ## Must be enabled via --enable-feature=exemplar-storage
  210. ##
  211. exemplars: {}
  212. # max_exemplars: 100000
  213. ## Custom HTTP headers for Liveness/Readiness/Startup Probe
  214. ##
  215. ## Useful for providing HTTP Basic Auth to healthchecks
  216. probeHeaders: []
  217. # - name: "Authorization"
  218. # value: "Bearer ABCDEabcde12345"
  219. ## Additional Prometheus server container arguments
  220. ##
  221. extraArgs: {}
  222. ## Additional InitContainers to initialize the pod
  223. ##
  224. extraInitContainers: []
  225. ## Additional Prometheus server Volume mounts
  226. ##
  227. extraVolumeMounts: []
  228. ## Additional Prometheus server Volumes
  229. ##
  230. extraVolumes: []
  231. ## Additional Prometheus server hostPath mounts
  232. ##
  233. extraHostPathMounts: []
  234. # - name: certs-dir
  235. # mountPath: /etc/kubernetes/certs
  236. # subPath: ""
  237. # hostPath: /etc/kubernetes/certs
  238. # readOnly: true
  239. extraConfigmapMounts: []
  240. # - name: certs-configmap
  241. # mountPath: /prometheus
  242. # subPath: ""
  243. # configMap: certs-configmap
  244. # readOnly: true
  245. ## Additional Prometheus server Secret mounts
  246. # Defines additional mounts with secrets. Secrets must be manually created in the namespace.
  247. extraSecretMounts: []
  248. # - name: secret-files
  249. # mountPath: /etc/secrets
  250. # subPath: ""
  251. # secretName: prom-secret-files
  252. # readOnly: true
  253. ## ConfigMap override where fullname is {{.Release.Name}}-{{.Values.server.configMapOverrideName}}
  254. ## Defining configMapOverrideName will cause templates/server-configmap.yaml
  255. ## to NOT generate a ConfigMap resource
  256. ##
  257. configMapOverrideName: ""
  258. ## Extra labels for Prometheus server ConfigMap (ConfigMap that holds serverFiles)
  259. extraConfigmapLabels: {}
  260. ingress:
  261. ## If true, Prometheus server Ingress will be created
  262. ##
  263. enabled: false
  264. # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  265. # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  266. # ingressClassName: nginx
  267. ## Prometheus server Ingress annotations
  268. ##
  269. annotations: {}
  270. # kubernetes.io/ingress.class: nginx
  271. # kubernetes.io/tls-acme: 'true'
  272. ## Prometheus server Ingress additional labels
  273. ##
  274. extraLabels: {}
  275. ## Redirect ingress to an additional defined port on the service
  276. # servicePort: 8081
  277. ## Prometheus server Ingress hostnames with optional path
  278. ## Must be provided if Ingress is enabled
  279. ##
  280. hosts: []
  281. # - prometheus.domain.com
  282. # - domain.com/prometheus
  283. path: /
  284. # pathType is only for k8s >= 1.18
  285. pathType: Prefix
  286. ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
  287. extraPaths: []
  288. # - path: /*
  289. # backend:
  290. # serviceName: ssl-redirect
  291. # servicePort: use-annotation
  292. ## Prometheus server Ingress TLS configuration
  293. ## Secrets must be manually created in the namespace
  294. ##
  295. tls: []
  296. # - secretName: prometheus-server-tls
  297. # hosts:
  298. # - prometheus.domain.com
  299. ## Server Deployment Strategy type
  300. strategy:
  301. type: Recreate
  302. ## hostAliases allows adding entries to /etc/hosts inside the containers
  303. hostAliases: []
  304. # - ip: "127.0.0.1"
  305. # hostnames:
  306. # - "example.com"
  307. ## Node tolerations for server scheduling to nodes with taints
  308. ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  309. ##
  310. tolerations: []
  311. # - key: "key"
  312. # operator: "Equal|Exists"
  313. # value: "value"
  314. # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)"
  315. ## Node labels for Prometheus server pod assignment
  316. ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
  317. ##
  318. nodeSelector: {}
  319. ## Pod affinity
  320. ##
  321. affinity: {}
  322. ## Pod topology spread constraints
  323. ## ref. https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
  324. topologySpreadConstraints: []
  325. ## PodDisruptionBudget settings
  326. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
  327. ##
  328. podDisruptionBudget:
  329. enabled: false
  330. maxUnavailable: 1
  331. # minAvailable: 1
  332. ## unhealthyPodEvictionPolicy is available since 1.27.0 (beta)
  333. ## https://kubernetes.io/docs/tasks/run-application/configure-pdb/#unhealthy-pod-eviction-policy
  334. # unhealthyPodEvictionPolicy: IfHealthyBudget
  335. ## Use an alternate scheduler, e.g. "stork".
  336. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  337. ##
  338. # schedulerName:
  339. persistentVolume:
  340. ## If true, Prometheus server will create/use a Persistent Volume Claim
  341. ## If false, use emptyDir
  342. ##
  343. enabled: true
  344. ## If set it will override the name of the created persistent volume claim
  345. ## generated by the stateful set.
  346. ##
  347. statefulSetNameOverride: ""
  348. ## Prometheus server data Persistent Volume access modes
  349. ## Must match those of existing PV or dynamic provisioner
  350. ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
  351. ##
  352. accessModes:
  353. - ReadWriteOnce
  354. ## Prometheus server data Persistent Volume labels
  355. ##
  356. labels: {}
  357. ## Prometheus server data Persistent Volume annotations
  358. ##
  359. annotations: {}
  360. ## Prometheus server data Persistent Volume existing claim name
  361. ## Requires server.persistentVolume.enabled: true
  362. ## If defined, PVC must be created manually before volume will be bound
  363. existingClaim: ""
  364. ## Prometheus server data Persistent Volume mount root path
  365. ##
  366. mountPath: /data
  367. ## Prometheus server data Persistent Volume size
  368. ##
  369. size: 8Gi
  370. ## Prometheus server data Persistent Volume Storage Class
  371. ## If defined, storageClassName: <storageClass>
  372. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  373. ## If undefined (the default) or set to null, no storageClassName spec is
  374. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  375. ## GKE, AWS & OpenStack)
  376. ##
  377. # storageClass: "-"
  378. ## Prometheus server data Persistent Volume Binding Mode
  379. ## If defined, volumeBindingMode: <volumeBindingMode>
  380. ## If undefined (the default) or set to null, no volumeBindingMode spec is
  381. ## set, choosing the default mode.
  382. ##
  383. # volumeBindingMode: ""
  384. ## Subdirectory of Prometheus server data Persistent Volume to mount
  385. ## Useful if the volume's root directory is not empty
  386. ##
  387. subPath: ""
  388. ## Persistent Volume Claim Selector
  389. ## Useful if Persistent Volumes have been provisioned in advance
  390. ## Ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector
  391. ##
  392. # selector:
  393. # matchLabels:
  394. # release: "stable"
  395. # matchExpressions:
  396. # - { key: environment, operator: In, values: [ dev ] }
  397. ## Persistent Volume Name
  398. ## Useful if Persistent Volumes have been provisioned in advance and you want to use a specific one
  399. ##
  400. # volumeName: ""
  401. emptyDir:
  402. ## Prometheus server emptyDir volume size limit
  403. ##
  404. sizeLimit: ""
  405. ## Annotations to be added to Prometheus server pods
  406. ##
  407. podAnnotations: {}
  408. # iam.amazonaws.com/role: prometheus
  409. ## Labels to be added to Prometheus server pods
  410. ##
  411. podLabels: {}
  412. ## Prometheus AlertManager configuration
  413. ##
  414. alertmanagers: []
  415. ## Specify if a Pod Security Policy for node-exporter must be created
  416. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
  417. ##
  418. podSecurityPolicy:
  419. annotations: {}
  420. ## Specify pod annotations
  421. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
  422. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
  423. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
  424. ##
  425. # seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
  426. # seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
  427. # apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
  428. ## Use a StatefulSet if replicaCount needs to be greater than 1 (see below)
  429. ##
  430. replicaCount: 1
  431. ## Number of old history to retain to allow rollback
  432. ## Default Kubernetes value is set to 10
  433. ##
  434. revisionHistoryLimit: 10
  435. ## Annotations to be added to deployment
  436. ##
  437. deploymentAnnotations: {}
  438. statefulSet:
  439. ## If true, use a statefulset instead of a deployment for pod management.
  440. ## This allows to scale replicas to more than 1 pod
  441. ##
  442. enabled: false
  443. annotations: {}
  444. labels: {}
  445. podManagementPolicy: OrderedReady
  446. ## Alertmanager headless service to use for the statefulset
  447. ##
  448. headless:
  449. annotations: {}
  450. labels: {}
  451. servicePort: 80
  452. ## Enable gRPC port on service to allow auto discovery with thanos-querier
  453. gRPC:
  454. enabled: false
  455. servicePort: 10901
  456. # nodePort: 10901
  457. ## Statefulset's persistent volume claim retention policy
  458. ## pvcDeleteOnStsDelete and pvcDeleteOnStsScale determine whether
  459. ## statefulset's PVCs are deleted (true) or retained (false) on scaling down
  460. ## and deleting statefulset, respectively. Requires 1.27.0+.
  461. ## Ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
  462. ##
  463. pvcDeleteOnStsDelete: false
  464. pvcDeleteOnStsScale: false
  465. ## Prometheus server readiness and liveness probe initial delay and timeout
  466. ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
  467. ##
  468. tcpSocketProbeEnabled: false
  469. probeScheme: HTTP
  470. readinessProbeInitialDelay: 30
  471. readinessProbePeriodSeconds: 5
  472. readinessProbeTimeout: 4
  473. readinessProbeFailureThreshold: 3
  474. readinessProbeSuccessThreshold: 1
  475. livenessProbeInitialDelay: 30
  476. livenessProbePeriodSeconds: 15
  477. livenessProbeTimeout: 10
  478. livenessProbeFailureThreshold: 3
  479. livenessProbeSuccessThreshold: 1
  480. startupProbe:
  481. enabled: false
  482. periodSeconds: 5
  483. failureThreshold: 30
  484. timeoutSeconds: 10
  485. ## Prometheus server resource requests and limits
  486. ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
  487. ##
  488. resources: {}
  489. # limits:
  490. # cpu: 500m
  491. # memory: 512Mi
  492. # requests:
  493. # cpu: 500m
  494. # memory: 512Mi
  495. # Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico),
  496. # because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working
  497. ##
  498. hostNetwork: false
  499. # When hostNetwork is enabled, this will set to ClusterFirstWithHostNet automatically
  500. dnsPolicy: ClusterFirst
  501. # Use hostPort
  502. # hostPort: 9090
  503. # Use portName
  504. portName: ""
  505. ## Vertical Pod Autoscaler config
  506. ## Ref: https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
  507. verticalAutoscaler:
  508. ## If true a VPA object will be created for the controller (either StatefulSet or Deployemnt, based on above configs)
  509. enabled: false
  510. # updateMode: "Auto"
  511. # containerPolicies:
  512. # - containerName: 'prometheus-server'
  513. # Custom DNS configuration to be added to prometheus server pods
  514. dnsConfig: {}
  515. # nameservers:
  516. # - 1.2.3.4
  517. # searches:
  518. # - ns1.svc.cluster-domain.example
  519. # - my.dns.search.suffix
  520. # options:
  521. # - name: ndots
  522. # value: "2"
  523. # - name: edns0
  524. ## Security context to be added to server pods
  525. ##
  526. securityContext:
  527. runAsUser: 65534
  528. runAsNonRoot: true
  529. runAsGroup: 65534
  530. fsGroup: 65534
  531. ## Security context to be added to server container
  532. ##
  533. containerSecurityContext: {}
  534. service:
  535. ## If false, no Service will be created for the Prometheus server
  536. ##
  537. enabled: true
  538. annotations: {}
  539. labels: {}
  540. clusterIP: ""
  541. ## List of IP addresses at which the Prometheus server service is available
  542. ## Ref: https://kubernetes.io/docs/concepts/services-networking/service/#external-ips
  543. ##
  544. externalIPs: []
  545. loadBalancerIP: ""
  546. loadBalancerSourceRanges: []
  547. servicePort: 80
  548. sessionAffinity: None
  549. type: ClusterIP
  550. ## Enable gRPC port on service to allow auto discovery with thanos-querier
  551. gRPC:
  552. enabled: false
  553. servicePort: 10901
  554. # nodePort: 10901
  555. ## If using a statefulSet (statefulSet.enabled=true), configure the
  556. ## service to connect to a specific replica to have a consistent view
  557. ## of the data.
  558. statefulsetReplica:
  559. enabled: false
  560. replica: 0
  561. ## Additional port to define in the Service
  562. additionalPorts: []
  563. # additionalPorts:
  564. # - name: authenticated
  565. # port: 8081
  566. # targetPort: 8081
  567. ## Prometheus server pod termination grace period
  568. ##
  569. terminationGracePeriodSeconds: 300
  570. ## Prometheus data retention period (default if not specified is 15 days)
  571. ##
  572. retention: "15d"
  573. ## Prometheus server ConfigMap entries for rule files (allow prometheus labels interpolation)
  574. ruleFiles: {}
  575. ## Prometheus server ConfigMap entries for scrape_config_files
  576. ## (allows scrape configs defined in additional files)
  577. ##
  578. scrapeConfigFiles: []
  579. ## Prometheus server ConfigMap entries
  580. ##
  581. serverFiles:
  582. ## Alerts configuration
  583. ## Ref: https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/
  584. alerting_rules.yml: {}
  585. # groups:
  586. # - name: Instances
  587. # rules:
  588. # - alert: InstanceDown
  589. # expr: up == 0
  590. # for: 5m
  591. # labels:
  592. # severity: page
  593. # annotations:
  594. # description: '{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes.'
  595. # summary: 'Instance {{ $labels.instance }} down'
  596. ## DEPRECATED DEFAULT VALUE, unless explicitly naming your files, please use alerting_rules.yml
  597. alerts: {}
  598. ## Records configuration
  599. ## Ref: https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/
  600. recording_rules.yml: {}
  601. ## DEPRECATED DEFAULT VALUE, unless explicitly naming your files, please use recording_rules.yml
  602. rules: {}
  603. prometheus.yml:
  604. rule_files:
  605. - /etc/config/recording_rules.yml
  606. - /etc/config/alerting_rules.yml
  607. ## Below two files are DEPRECATED will be removed from this default values file
  608. - /etc/config/rules
  609. - /etc/config/alerts
  610. scrape_configs:
  611. - job_name: prometheus
  612. static_configs:
  613. - targets:
  614. - localhost:9090
  615. # A scrape configuration for running Prometheus on a Kubernetes cluster.
  616. # This uses separate scrape configs for cluster components (i.e. API server, node)
  617. # and services to allow each to use different authentication configs.
  618. #
  619. # Kubernetes labels will be added as Prometheus labels on metrics via the
  620. # `labelmap` relabeling action.
  621. # Scrape config for API servers.
  622. #
  623. # Kubernetes exposes API servers as endpoints to the default/kubernetes
  624. # service so this uses `endpoints` role and uses relabelling to only keep
  625. # the endpoints associated with the default/kubernetes service using the
  626. # default named port `https`. This works for single API server deployments as
  627. # well as HA API server deployments.
  628. - job_name: 'kubernetes-apiservers'
  629. kubernetes_sd_configs:
  630. - role: endpoints
  631. # Default to scraping over https. If required, just disable this or change to
  632. # `http`.
  633. scheme: https
  634. # This TLS & bearer token file config is used to connect to the actual scrape
  635. # endpoints for cluster components. This is separate to discovery auth
  636. # configuration because discovery & scraping are two separate concerns in
  637. # Prometheus. The discovery auth config is automatic if Prometheus runs inside
  638. # the cluster. Otherwise, more config options have to be provided within the
  639. # <kubernetes_sd_config>.
  640. tls_config:
  641. ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
  642. # If your node certificates are self-signed or use a different CA to the
  643. # master CA, then disable certificate verification below. Note that
  644. # certificate verification is an integral part of a secure infrastructure
  645. # so this should only be disabled in a controlled environment. You can
  646. # disable certificate verification by uncommenting the line below.
  647. #
  648. insecure_skip_verify: true
  649. bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  650. # Keep only the default/kubernetes service endpoints for the https port. This
  651. # will add targets for each API server which Kubernetes adds an endpoint to
  652. # the default/kubernetes service.
  653. relabel_configs:
  654. - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
  655. action: keep
  656. regex: default;kubernetes;https
  657. - job_name: 'kubernetes-nodes'
  658. # Default to scraping over https. If required, just disable this or change to
  659. # `http`.
  660. scheme: https
  661. # This TLS & bearer token file config is used to connect to the actual scrape
  662. # endpoints for cluster components. This is separate to discovery auth
  663. # configuration because discovery & scraping are two separate concerns in
  664. # Prometheus. The discovery auth config is automatic if Prometheus runs inside
  665. # the cluster. Otherwise, more config options have to be provided within the
  666. # <kubernetes_sd_config>.
  667. tls_config:
  668. ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
  669. # If your node certificates are self-signed or use a different CA to the
  670. # master CA, then disable certificate verification below. Note that
  671. # certificate verification is an integral part of a secure infrastructure
  672. # so this should only be disabled in a controlled environment. You can
  673. # disable certificate verification by uncommenting the line below.
  674. #
  675. insecure_skip_verify: true
  676. bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  677. kubernetes_sd_configs:
  678. - role: node
  679. relabel_configs:
  680. - action: labelmap
  681. regex: __meta_kubernetes_node_label_(.+)
  682. - target_label: __address__
  683. replacement: kubernetes.default.svc:443
  684. - source_labels: [__meta_kubernetes_node_name]
  685. regex: (.+)
  686. target_label: __metrics_path__
  687. replacement: /api/v1/nodes/$1/proxy/metrics
  688. - job_name: 'kubernetes-nodes-cadvisor'
  689. # Default to scraping over https. If required, just disable this or change to
  690. # `http`.
  691. scheme: https
  692. # This TLS & bearer token file config is used to connect to the actual scrape
  693. # endpoints for cluster components. This is separate to discovery auth
  694. # configuration because discovery & scraping are two separate concerns in
  695. # Prometheus. The discovery auth config is automatic if Prometheus runs inside
  696. # the cluster. Otherwise, more config options have to be provided within the
  697. # <kubernetes_sd_config>.
  698. tls_config:
  699. ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
  700. # If your node certificates are self-signed or use a different CA to the
  701. # master CA, then disable certificate verification below. Note that
  702. # certificate verification is an integral part of a secure infrastructure
  703. # so this should only be disabled in a controlled environment. You can
  704. # disable certificate verification by uncommenting the line below.
  705. #
  706. insecure_skip_verify: true
  707. bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  708. kubernetes_sd_configs:
  709. - role: node
  710. # This configuration will work only on kubelet 1.7.3+
  711. # As the scrape endpoints for cAdvisor have changed
  712. # if you are using older version you need to change the replacement to
  713. # replacement: /api/v1/nodes/$1:4194/proxy/metrics
  714. # more info here https://github.com/coreos/prometheus-operator/issues/633
  715. relabel_configs:
  716. - action: labelmap
  717. regex: __meta_kubernetes_node_label_(.+)
  718. - target_label: __address__
  719. replacement: kubernetes.default.svc:443
  720. - source_labels: [__meta_kubernetes_node_name]
  721. regex: (.+)
  722. target_label: __metrics_path__
  723. replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
  724. # Metric relabel configs to apply to samples before ingestion.
  725. # [Metric Relabeling](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs)
  726. # metric_relabel_configs:
  727. # - action: labeldrop
  728. # regex: (kubernetes_io_hostname|failure_domain_beta_kubernetes_io_region|beta_kubernetes_io_os|beta_kubernetes_io_arch|beta_kubernetes_io_instance_type|failure_domain_beta_kubernetes_io_zone)
  729. # Scrape config for service endpoints.
  730. #
  731. # The relabeling allows the actual service scrape endpoint to be configured
  732. # via the following annotations:
  733. #
  734. # * `prometheus.io/scrape`: Only scrape services that have a value of
  735. # `true`, except if `prometheus.io/scrape-slow` is set to `true` as well.
  736. # * `prometheus.io/scheme`: If the metrics endpoint is secured then you will need
  737. # to set this to `https` & most likely set the `tls_config` of the scrape config.
  738. # * `prometheus.io/path`: If the metrics path is not `/metrics` override this.
  739. # * `prometheus.io/port`: If the metrics are exposed on a different port to the
  740. # service then set this appropriately.
  741. # * `prometheus.io/param_<parameter>`: If the metrics endpoint uses parameters
  742. # then you can set any parameter
  743. - job_name: 'kubernetes-service-endpoints'
  744. honor_labels: true
  745. kubernetes_sd_configs:
  746. - role: endpoints
  747. relabel_configs:
  748. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
  749. action: keep
  750. regex: true
  751. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape_slow]
  752. action: drop
  753. regex: true
  754. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
  755. action: replace
  756. target_label: __scheme__
  757. regex: (https?)
  758. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
  759. action: replace
  760. target_label: __metrics_path__
  761. regex: (.+)
  762. - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
  763. action: replace
  764. target_label: __address__
  765. regex: (.+?)(?::\d+)?;(\d+)
  766. replacement: $1:$2
  767. - action: labelmap
  768. regex: __meta_kubernetes_service_annotation_prometheus_io_param_(.+)
  769. replacement: __param_$1
  770. - action: labelmap
  771. regex: __meta_kubernetes_service_label_(.+)
  772. - source_labels: [__meta_kubernetes_namespace]
  773. action: replace
  774. target_label: namespace
  775. - source_labels: [__meta_kubernetes_service_name]
  776. action: replace
  777. target_label: service
  778. - source_labels: [__meta_kubernetes_pod_node_name]
  779. action: replace
  780. target_label: node
  781. # Scrape config for slow service endpoints; same as above, but with a larger
  782. # timeout and a larger interval
  783. #
  784. # The relabeling allows the actual service scrape endpoint to be configured
  785. # via the following annotations:
  786. #
  787. # * `prometheus.io/scrape-slow`: Only scrape services that have a value of `true`
  788. # * `prometheus.io/scheme`: If the metrics endpoint is secured then you will need
  789. # to set this to `https` & most likely set the `tls_config` of the scrape config.
  790. # * `prometheus.io/path`: If the metrics path is not `/metrics` override this.
  791. # * `prometheus.io/port`: If the metrics are exposed on a different port to the
  792. # service then set this appropriately.
  793. # * `prometheus.io/param_<parameter>`: If the metrics endpoint uses parameters
  794. # then you can set any parameter
  795. - job_name: 'kubernetes-service-endpoints-slow'
  796. honor_labels: true
  797. scrape_interval: 5m
  798. scrape_timeout: 30s
  799. kubernetes_sd_configs:
  800. - role: endpoints
  801. relabel_configs:
  802. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape_slow]
  803. action: keep
  804. regex: true
  805. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
  806. action: replace
  807. target_label: __scheme__
  808. regex: (https?)
  809. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
  810. action: replace
  811. target_label: __metrics_path__
  812. regex: (.+)
  813. - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
  814. action: replace
  815. target_label: __address__
  816. regex: (.+?)(?::\d+)?;(\d+)
  817. replacement: $1:$2
  818. - action: labelmap
  819. regex: __meta_kubernetes_service_annotation_prometheus_io_param_(.+)
  820. replacement: __param_$1
  821. - action: labelmap
  822. regex: __meta_kubernetes_service_label_(.+)
  823. - source_labels: [__meta_kubernetes_namespace]
  824. action: replace
  825. target_label: namespace
  826. - source_labels: [__meta_kubernetes_service_name]
  827. action: replace
  828. target_label: service
  829. - source_labels: [__meta_kubernetes_pod_node_name]
  830. action: replace
  831. target_label: node
  832. - job_name: 'prometheus-pushgateway'
  833. honor_labels: true
  834. kubernetes_sd_configs:
  835. - role: service
  836. relabel_configs:
  837. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe]
  838. action: keep
  839. regex: pushgateway
  840. # Example scrape config for probing services via the Blackbox Exporter.
  841. #
  842. # The relabeling allows the actual service scrape endpoint to be configured
  843. # via the following annotations:
  844. #
  845. # * `prometheus.io/probe`: Only probe services that have a value of `true`
  846. - job_name: 'kubernetes-services'
  847. honor_labels: true
  848. metrics_path: /probe
  849. params:
  850. module: [http_2xx]
  851. kubernetes_sd_configs:
  852. - role: service
  853. relabel_configs:
  854. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe]
  855. action: keep
  856. regex: true
  857. - source_labels: [__address__]
  858. target_label: __param_target
  859. - target_label: __address__
  860. replacement: blackbox
  861. - source_labels: [__param_target]
  862. target_label: instance
  863. - action: labelmap
  864. regex: __meta_kubernetes_service_label_(.+)
  865. - source_labels: [__meta_kubernetes_namespace]
  866. target_label: namespace
  867. - source_labels: [__meta_kubernetes_service_name]
  868. target_label: service
  869. # Example scrape config for pods
  870. #
  871. # The relabeling allows the actual pod scrape endpoint to be configured via the
  872. # following annotations:
  873. #
  874. # * `prometheus.io/scrape`: Only scrape pods that have a value of `true`,
  875. # except if `prometheus.io/scrape-slow` is set to `true` as well.
  876. # * `prometheus.io/scheme`: If the metrics endpoint is secured then you will need
  877. # to set this to `https` & most likely set the `tls_config` of the scrape config.
  878. # * `prometheus.io/path`: If the metrics path is not `/metrics` override this.
  879. # * `prometheus.io/port`: Scrape the pod on the indicated port instead of the default of `9102`.
  880. - job_name: 'kubernetes-pods'
  881. honor_labels: true
  882. kubernetes_sd_configs:
  883. - role: pod
  884. relabel_configs:
  885. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
  886. action: keep
  887. regex: true
  888. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape_slow]
  889. action: drop
  890. regex: true
  891. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme]
  892. action: replace
  893. regex: (https?)
  894. target_label: __scheme__
  895. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
  896. action: replace
  897. target_label: __metrics_path__
  898. regex: (.+)
  899. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_port, __meta_kubernetes_pod_ip]
  900. action: replace
  901. regex: (\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})
  902. replacement: '[$2]:$1'
  903. target_label: __address__
  904. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_port, __meta_kubernetes_pod_ip]
  905. action: replace
  906. regex: (\d+);((([0-9]+?)(\.|$)){4})
  907. replacement: $2:$1
  908. target_label: __address__
  909. - action: labelmap
  910. regex: __meta_kubernetes_pod_annotation_prometheus_io_param_(.+)
  911. replacement: __param_$1
  912. - action: labelmap
  913. regex: __meta_kubernetes_pod_label_(.+)
  914. - source_labels: [__meta_kubernetes_namespace]
  915. action: replace
  916. target_label: namespace
  917. - source_labels: [__meta_kubernetes_pod_name]
  918. action: replace
  919. target_label: pod
  920. - source_labels: [__meta_kubernetes_pod_phase]
  921. regex: Pending|Succeeded|Failed|Completed
  922. action: drop
  923. - source_labels: [__meta_kubernetes_pod_node_name]
  924. action: replace
  925. target_label: node
  926. # Example Scrape config for pods which should be scraped slower. An useful example
  927. # would be stackriver-exporter which queries an API on every scrape of the pod
  928. #
  929. # The relabeling allows the actual pod scrape endpoint to be configured via the
  930. # following annotations:
  931. #
  932. # * `prometheus.io/scrape-slow`: Only scrape pods that have a value of `true`
  933. # * `prometheus.io/scheme`: If the metrics endpoint is secured then you will need
  934. # to set this to `https` & most likely set the `tls_config` of the scrape config.
  935. # * `prometheus.io/path`: If the metrics path is not `/metrics` override this.
  936. # * `prometheus.io/port`: Scrape the pod on the indicated port instead of the default of `9102`.
  937. - job_name: 'kubernetes-pods-slow'
  938. honor_labels: true
  939. scrape_interval: 5m
  940. scrape_timeout: 30s
  941. kubernetes_sd_configs:
  942. - role: pod
  943. relabel_configs:
  944. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape_slow]
  945. action: keep
  946. regex: true
  947. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme]
  948. action: replace
  949. regex: (https?)
  950. target_label: __scheme__
  951. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
  952. action: replace
  953. target_label: __metrics_path__
  954. regex: (.+)
  955. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_port, __meta_kubernetes_pod_ip]
  956. action: replace
  957. regex: (\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})
  958. replacement: '[$2]:$1'
  959. target_label: __address__
  960. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_port, __meta_kubernetes_pod_ip]
  961. action: replace
  962. regex: (\d+);((([0-9]+?)(\.|$)){4})
  963. replacement: $2:$1
  964. target_label: __address__
  965. - action: labelmap
  966. regex: __meta_kubernetes_pod_annotation_prometheus_io_param_(.+)
  967. replacement: __param_$1
  968. - action: labelmap
  969. regex: __meta_kubernetes_pod_label_(.+)
  970. - source_labels: [__meta_kubernetes_namespace]
  971. action: replace
  972. target_label: namespace
  973. - source_labels: [__meta_kubernetes_pod_name]
  974. action: replace
  975. target_label: pod
  976. - source_labels: [__meta_kubernetes_pod_phase]
  977. regex: Pending|Succeeded|Failed|Completed
  978. action: drop
  979. - source_labels: [__meta_kubernetes_pod_node_name]
  980. action: replace
  981. target_label: node
  982. # adds additional scrape configs to prometheus.yml
  983. # must be a string so you have to add a | after extraScrapeConfigs:
  984. # example adds prometheus-blackbox-exporter scrape config
  985. extraScrapeConfigs: ""
  986. # - job_name: 'prometheus-blackbox-exporter'
  987. # metrics_path: /probe
  988. # params:
  989. # module: [http_2xx]
  990. # static_configs:
  991. # - targets:
  992. # - https://example.com
  993. # relabel_configs:
  994. # - source_labels: [__address__]
  995. # target_label: __param_target
  996. # - source_labels: [__param_target]
  997. # target_label: instance
  998. # - target_label: __address__
  999. # replacement: prometheus-blackbox-exporter:9115
  1000. # Adds option to add alert_relabel_configs to avoid duplicate alerts in alertmanager
  1001. # useful in H/A prometheus with different external labels but the same alerts
  1002. alertRelabelConfigs: {}
  1003. # alert_relabel_configs:
  1004. # - source_labels: [dc]
  1005. # regex: (.+)\d+
  1006. # target_label: dc
  1007. networkPolicy:
  1008. ## Enable creation of NetworkPolicy resources.
  1009. ##
  1010. enabled: false
  1011. # Force namespace of namespaced resources
  1012. forceNamespace: ""
  1013. # Extra manifests to deploy as an array
  1014. extraManifests: []
  1015. # - |
  1016. # apiVersion: v1
  1017. # kind: ConfigMap
  1018. # metadata:
  1019. # labels:
  1020. # name: prometheus-extra
  1021. # data:
  1022. # extra-data: "value"
  1023. # Configuration of subcharts defined in Chart.yaml
  1024. ## alertmanager sub-chart configurable values
  1025. ## Please see https://github.com/prometheus-community/helm-charts/tree/main/charts/alertmanager
  1026. ##
  1027. alertmanager:
  1028. ## If false, alertmanager will not be installed
  1029. ##
  1030. enabled: true
  1031. persistence:
  1032. size: 2Gi
  1033. podSecurityContext:
  1034. runAsUser: 65534
  1035. runAsNonRoot: true
  1036. runAsGroup: 65534
  1037. fsGroup: 65534
  1038. ## kube-state-metrics sub-chart configurable values
  1039. ## Please see https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics
  1040. ##
  1041. kube-state-metrics:
  1042. ## If false, kube-state-metrics sub-chart will not be installed
  1043. ##
  1044. enabled: true
  1045. ## promtheus-node-exporter sub-chart configurable values
  1046. ## Please see https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus-node-exporter
  1047. ##
  1048. prometheus-node-exporter:
  1049. ## If false, node-exporter will not be installed
  1050. ##
  1051. enabled: true
  1052. rbac:
  1053. pspEnabled: false
  1054. containerSecurityContext:
  1055. allowPrivilegeEscalation: false
  1056. ## pprometheus-pushgateway sub-chart configurable values
  1057. ## Please see https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus-pushgateway
  1058. ##
  1059. prometheus-pushgateway:
  1060. ## If false, pushgateway will not be installed
  1061. ##
  1062. enabled: true
  1063. # Optional service annotations
  1064. serviceAnnotations:
  1065. prometheus.io/probe: pushgateway