Update prometheus chart to 15.10.1 (Prometheus 2.34.0)
Required to run on Kubernetes 1.22+.
Change-Id: I87f808c1b6b34c844fdc257fdbdf87813c543315
diff --git a/charts/prometheus/VERSION b/charts/prometheus/VERSION
index 4044f90..08aeefc 100644
--- a/charts/prometheus/VERSION
+++ b/charts/prometheus/VERSION
@@ -1 +1 @@
-12.0.0
+15.10.1
diff --git a/charts/prometheus/prometheus.yaml b/charts/prometheus/prometheus.yaml
index e21af18..6c6d6e6 100644
--- a/charts/prometheus/prometheus.yaml
+++ b/charts/prometheus/prometheus.yaml
@@ -50,12 +50,16 @@
##
image:
repository: quay.io/prometheus/alertmanager
- tag: v0.21.0
+ tag: v0.23.0
pullPolicy: IfNotPresent
## alertmanager priorityClassName
##
priorityClassName: ""
+ ## Custom HTTP headers for Readiness Probe
+ ##
+ ## Useful for providing HTTP Basic Auth to healthchecks
+ probeHeaders: []
## Additional alertmanager container arguments
##
@@ -87,6 +91,13 @@
# secretName: alertmanager-secret-files
# readOnly: true
+ ## Additional alertmanager Configmap mounts
+ extraConfigmapMounts: []
+ # - name: template-files
+ # mountPath: /etc/config/templates.d
+ # configMap: alertmanager-template-files
+ # readOnly: true
+
## ConfigMap override where fullname is {{.Release.Name}}-{{.Values.alertmanager.configMapOverrideName}}
## Defining configMapOverrideName will cause templates/alertmanager-configmap.yaml
## to NOT generate a ConfigMap resource
@@ -109,6 +120,10 @@
##
enabled: false
+ # 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
+
## alertmanager Ingress annotations
##
annotations: {}
@@ -125,6 +140,10 @@
hosts: []
# - alertmanager.domain.com
# - domain.com/alertmanager
+ path: /
+
+ # pathType is only for k8s >= 1.18
+ pathType: Prefix
## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
extraPaths: []
@@ -226,6 +245,16 @@
##
subPath: ""
+ ## Persistent Volume Claim Selector
+ ## Useful if Persistent Volumes have been provisioned in advance
+ ## Ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector
+ ##
+ # selector:
+ # matchLabels:
+ # release: "stable"
+ # matchExpressions:
+ # - { key: environment, operator: In, values: [ dev ] }
+
emptyDir:
## alertmanager emptyDir volume size limit
##
@@ -299,6 +328,18 @@
cpu: 10m
memory: 32Mi
+ # Custom DNS configuration to be added to alertmanager pods
+ dnsConfig: {}
+ # nameservers:
+ # - 1.2.3.4
+ # searches:
+ # - ns1.svc.cluster-domain.example
+ # - my.dns.search.suffix
+ # options:
+ # - name: ndots
+ # value: "2"
+ # - name: edns0
+
## Security context to be added to alertmanager pods
##
securityContext:
@@ -307,6 +348,9 @@
runAsGroup: 65534
fsGroup: 65534
+ ## Security context to be added to alertmanager container
+ containerSecurityContext: {}
+
service:
annotations: {}
labels: {}
@@ -328,6 +372,10 @@
sessionAffinity: None
type: ClusterIP
+ ## List of initial peers
+ ## Ref: https://github.com/prometheus/alertmanager/blob/main/README.md#high-availability
+ clusterPeers: []
+
## Monitors ConfigMap changes and POSTs to a URL
## Ref: https://github.com/jimmidyson/configmap-reload
##
@@ -343,8 +391,11 @@
##
image:
repository: jimmidyson/configmap-reload
- tag: v0.4.0
+ tag: v0.5.0
pullPolicy: IfNotPresent
+
+ # containerPort: 9533
+
## Additional configmap-reload container arguments
##
extraArgs: {}
@@ -359,6 +410,10 @@
# subPath: ""
# configMap: prometheus-alerts
# readOnly: true
+
+ ## Security context to be added to configmap-reload container
+ containerSecurityContext: {}
+
## configmap-reload resource requests and limits
## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
@@ -374,8 +429,11 @@
##
image:
repository: jimmidyson/configmap-reload
- tag: v0.4.0
+ tag: v0.5.0
pullPolicy: IfNotPresent
+
+ # containerPort: 9533
+
## Additional configmap-reload container arguments
##
extraArgs: {}
@@ -390,6 +448,10 @@
# subPath: ""
# configMap: prometheus-alerts
# readOnly: true
+
+ ## Security context to be added to configmap-reload container
+ containerSecurityContext: {}
+
## configmap-reload resource requests and limits
## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
@@ -401,7 +463,7 @@
enabled: false
## kube-state-metrics sub-chart configurable values
-## Please see https://github.com/helm/charts/tree/master/stable/kube-state-metrics
+## Please see https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics
##
# kube-state-metrics:
@@ -418,6 +480,10 @@
##
hostPID: true
+ ## If true, node-exporter pods mounts host / at /host/root
+ ##
+ hostRootfs: true
+
## node-exporter container name
##
name: node-exporter
@@ -426,7 +492,7 @@
##
image:
repository: quay.io/prometheus/node-exporter
- tag: v1.0.1
+ tag: v1.3.0
pullPolicy: IfNotPresent
## Specify if a Pod Security Policy for node-exporter must be created
@@ -516,10 +582,28 @@
# cpu: 100m
# memory: 30Mi
+ container:
+ securityContext:
+ allowPrivilegeEscalation: false
+ # Custom DNS configuration to be added to node-exporter pods
+ dnsConfig: {}
+ # nameservers:
+ # - 1.2.3.4
+ # searches:
+ # - ns1.svc.cluster-domain.example
+ # - my.dns.search.suffix
+ # options:
+ # - name: ndots
+ # value: "2"
+ # - name: edns0
+
## Security context to be added to node-exporter pods
##
- securityContext: {}
- # runAsUser: 0
+ securityContext:
+ fsGroup: 65534
+ runAsGroup: 65534
+ runAsNonRoot: true
+ runAsUser: 65534
service:
annotations:
@@ -528,7 +612,7 @@
# Exposed as a headless service:
# https://kubernetes.io/docs/concepts/services-networking/service/#headless-services
- clusterIP: None
+ clusterIP: ""
## List of IP addresses at which the node-exporter service is available
## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
@@ -560,6 +644,13 @@
# - yournamespace
name: server
+
+ # sidecarContainers - add more containers to prometheus server
+ # Key/Value where Key is the sidecar `- name: <Key>`
+ # Example:
+ # sidecarContainers:
+ # webserver:
+ # image: nginx
sidecarContainers:
#@ for instance in data.values.gerritServers.other:
#@ if instance.healthcheck:
@@ -581,11 +672,23 @@
#@ end
#@ end
+ # sidecarTemplateValues - context to be used in template for sidecarContainers
+ # Example:
+ # sidecarTemplateValues: *your-custom-globals
+ # sidecarContainers:
+ # webserver: |-
+ # {{ include "webserver-container-template" . }}
+ # Template for `webserver-container-template` might looks like this:
+ # image: "{{ .Values.server.sidecarTemplateValues.repository }}:{{ .Values.server.sidecarTemplateValues.tag }}"
+ # ...
+ #
+ sidecarTemplateValues: {}
+
## Prometheus server container image
##
image:
repository: quay.io/prometheus/prometheus
- tag: v2.22.1
+ tag: v2.34.0
pullPolicy: IfNotPresent
## prometheus server priorityClassName
@@ -624,6 +727,11 @@
## key: username
env: []
+ # List of flags to override default parameters, e.g:
+ # - --enable-feature=agent
+ # - --storage.agent.retention.max-time=30m
+ defaultFlagsOverride: []
+
extraFlags:
- web.enable-lifecycle
## web.enable-admin-api flag controls access to the administrative HTTP API which includes functionality such as
@@ -639,6 +747,10 @@
## Path to a configuration file on prometheus server container FS
configPath: /etc/config/prometheus.yml
+ ### The data directory used by prometheus to set --storage.tsdb.path
+ ### When empty server.persistentVolume.mountPath is used instead
+ storagePath: ""
+
global:
## How frequently to scrape targets by default
##
@@ -656,6 +768,11 @@
##
remoteRead: []
+ ## Custom HTTP headers for Liveness/Readiness/Startup Probe
+ ##
+ ## Useful for providing HTTP Basic Auth to healthchecks
+ probeHeaders: []
+
## Additional Prometheus server container arguments
##
extraArgs: {}
@@ -707,10 +824,13 @@
##
enabled: #@ not data.values.istio.enabled
+ # 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
+
## Prometheus server Ingress annotations
##
annotations:
- kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/auth-type: basic
nginx.ingress.kubernetes.io/auth-secret: prometheus-basic-auth
nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required'
@@ -728,6 +848,11 @@
# - prometheus.domain.com
# - domain.com/prometheus
+ path: /
+
+ # pathType is only for k8s >= 1.18
+ pathType: Prefix
+
## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
extraPaths: []
# - path: /*
@@ -834,6 +959,16 @@
##
subPath: ""
+ ## Persistent Volume Claim Selector
+ ## Useful if Persistent Volumes have been provisioned in advance
+ ## Ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector
+ ##
+ # selector:
+ # matchLabels:
+ # release: "stable"
+ # matchExpressions:
+ # - { key: environment, operator: In, values: [ dev ] }
+
emptyDir:
## Prometheus server emptyDir volume size limit
##
@@ -900,16 +1035,23 @@
## Prometheus server readiness and liveness probe initial delay and timeout
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
##
+ tcpSocketProbeEnabled: false
+ probeScheme: HTTP
readinessProbeInitialDelay: 30
readinessProbePeriodSeconds: 5
- readinessProbeTimeout: 30
+ readinessProbeTimeout: 4
readinessProbeFailureThreshold: 3
readinessProbeSuccessThreshold: 1
livenessProbeInitialDelay: 30
livenessProbePeriodSeconds: 15
- livenessProbeTimeout: 30
+ livenessProbeTimeout: 10
livenessProbeFailureThreshold: 3
livenessProbeSuccessThreshold: 1
+ startupProbe:
+ enabled: false
+ periodSeconds: 5
+ failureThreshold: 30
+ timeoutSeconds: 10
## Prometheus server resource requests and limits
## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
@@ -922,6 +1064,17 @@
cpu: 500m
memory: 512Mi
+ # Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico),
+ # because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working
+ ##
+ hostNetwork: false
+
+ # When hostNetwork is enabled, you probably want to set this to ClusterFirstWithHostNet
+ dnsPolicy: ClusterFirst
+
+ # Use hostPort
+ # hostPort: 9090
+
## Vertical Pod Autoscaler config
## Ref: https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
verticalAutoscaler:
@@ -931,6 +1084,17 @@
# containerPolicies:
# - containerName: 'prometheus-server'
+ # Custom DNS configuration to be added to prometheus server pods
+ dnsConfig: {}
+ # nameservers:
+ # - 1.2.3.4
+ # searches:
+ # - ns1.svc.cluster-domain.example
+ # - my.dns.search.suffix
+ # options:
+ # - name: ndots
+ # value: "2"
+ # - name: edns0
## Security context to be added to server pods
##
securityContext:
@@ -939,7 +1103,14 @@
runAsGroup: 65534
fsGroup: 65534
+ ## Security context to be added to server container
+ containerSecurityContext: {}
+
service:
+ ## If false, no Service will be created for the Prometheus server
+ ##
+ enabled: true
+
annotations: {}
labels: {}
clusterIP: ""
@@ -975,6 +1146,25 @@
##
retention: "15d"
+ ## Array of extra Kubernetes manifests, in form of YAML object,
+ ## if you want to deploy
+ extraObjects: []
+ # - apiVersion: v1
+ # kind: ConfigMap
+ # metadata:
+ # name: '{{ template "prometheus.name" . }}-extra-config'
+
+ ## Array of extra Kubernetes manifest, in form of template string,
+ ## if you want to deploy
+ extraTemplates: []
+ # - |
+ # apiVersion: v1
+ # kind: ConfigMap
+ # metadata:
+ # name: extra-config
+ # labels:
+ # {{- include "prometheus.server.labels" . | nindent 4 }}
+
pushgateway:
## If false, pushgateway will not be installed
##
@@ -993,7 +1183,7 @@
##
image:
repository: prom/pushgateway
- tag: v1.3.0
+ tag: v1.4.2
pullPolicy: IfNotPresent
## pushgateway priorityClassName
@@ -1014,6 +1204,10 @@
##
enabled: false
+ # 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
+
## pushgateway Ingress annotations
##
annotations: {}
@@ -1027,6 +1221,11 @@
# - pushgateway.domain.com
# - domain.com/pushgateway
+ path: /
+
+ # pathType is only for k8s >= 1.18
+ pathType: Prefix
+
## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
extraPaths: []
# - path: /*
@@ -1101,12 +1300,36 @@
# cpu: 10m
# memory: 32Mi
+ ## Vertical Pod Autoscaler config
+ ## Ref: https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
+ verticalAutoscaler:
+ ## If true a VPA object will be created for the controller
+ enabled: false
+ # updateMode: "Auto"
+ # containerPolicies:
+ # - containerName: 'prometheus-pushgateway'
+
+ # Custom DNS configuration to be added to push-gateway pods
+ dnsConfig: {}
+ # nameservers:
+ # - 1.2.3.4
+ # searches:
+ # - ns1.svc.cluster-domain.example
+ # - my.dns.search.suffix
+ # options:
+ # - name: ndots
+ # value: "2"
+ # - name: edns0
+
## Security context to be added to push-gateway pods
##
securityContext:
runAsUser: 65534
runAsNonRoot: true
+ ## Security context to be added to push-gateway container
+ containerSecurityContext: {}
+
service:
annotations:
prometheus.io/probe: pushgateway
@@ -1199,6 +1422,9 @@
receiver: gerrit-admin
repeat_interval: 3h
+## Prometheus server ConfigMap entries for rule files (allow prometheus labels interpolation)
+ruleFiles: {}
+
## Prometheus server ConfigMap entries
##
serverFiles: