From 21991ac97254f220e8908846433d584ae898ea48 Mon Sep 17 00:00:00 2001 From: Elliot Fehr Date: Sat, 31 Aug 2019 02:51:47 -0700 Subject: [PATCH] [stable/prometheus-operator] Allow WAL compression + upgrade prometheus (#16635) * upgrade default prometheus version to 2.12.0 + expose walCompression option Signed-off-by: Elliot Fehr * upgrade prometheus operator to 0.32.0 Signed-off-by: Elliot Fehr --- stable/prometheus-operator/Chart.yaml | 4 ++-- stable/prometheus-operator/README.md | 7 ++++--- stable/prometheus-operator/ci/test-values.yaml | 14 +++++++++++--- .../templates/prometheus/prometheus.yaml | 3 +++ stable/prometheus-operator/values.yaml | 10 +++++++--- 5 files changed, 27 insertions(+), 11 deletions(-) diff --git a/stable/prometheus-operator/Chart.yaml b/stable/prometheus-operator/Chart.yaml index d7a3502cdf..104b274099 100644 --- a/stable/prometheus-operator/Chart.yaml +++ b/stable/prometheus-operator/Chart.yaml @@ -11,8 +11,8 @@ name: prometheus-operator sources: - https://github.com/coreos/prometheus-operator - https://coreos.com/operators/prometheus -version: 6.7.4 -appVersion: 0.31.1 +version: 6.8.0 +appVersion: 0.32.0 home: https://github.com/coreos/prometheus-operator keywords: - operator diff --git a/stable/prometheus-operator/README.md b/stable/prometheus-operator/README.md index af6d681392..5263cad374 100644 --- a/stable/prometheus-operator/README.md +++ b/stable/prometheus-operator/README.md @@ -175,7 +175,7 @@ The following tables list the configurable parameters of the prometheus-operator | `prometheusOperator.hyperkubeImage.tag` | Tag for hyperkube image used to perform maintenance tasks | `v1.12.1` | | `prometheusOperator.image.pullPolicy` | Pull policy for prometheus operator image | `IfNotPresent` | | `prometheusOperator.image.repository` | Repository for prometheus operator image | `quay.io/coreos/prometheus-operator` | -| `prometheusOperator.image.tag` | Tag for prometheus operator image | `v0.31.1` | +| `prometheusOperator.image.tag` | Tag for prometheus operator image | `v0.32.0` | | `prometheusOperator.kubeletService.enabled` | If true, the operator will create and maintain a service for scraping kubelets | `true` | | `prometheusOperator.kubeletService.namespace` | Namespace to deploy kubelet service | `kube-system` | | `prometheusOperator.logFormat` | Operator log output formatting | `"logfmt"` | @@ -185,7 +185,7 @@ The following tables list the configurable parameters of the prometheus-operator | `prometheusOperator.podLabels` | Labels to add to the operator pod | `{}` | | `prometheusOperator.priorityClassName` | Name of Priority Class to assign pods | `nil` | | `prometheusOperator.prometheusConfigReloaderImage.repository` | Repository for config-reloader image | `quay.io/coreos/prometheus-config-reloader` | -| `prometheusOperator.prometheusConfigReloaderImage.tag` | Tag for config-reloader image | `v0.31.1` | +| `prometheusOperator.prometheusConfigReloaderImage.tag` | Tag for config-reloader image | `v0.32.0` | | `prometheusOperator.resources` | Resource limits for prometheus operator | `{}` | | `prometheusOperator.securityContext` | SecurityContext for prometheus operator | `{"runAsNonRoot": true, "runAsUser": 65534}` | | `prometheusOperator.service.annotations` | Annotations to be added to the prometheus operator service | `{}` | @@ -239,7 +239,7 @@ The following tables list the configurable parameters of the prometheus-operator | `prometheus.prometheusSpec.externalLabels` | The labels to add to any time series or alerts when communicating with external systems (federation, remote storage, Alertmanager). | `{}` | | `prometheus.prometheusSpec.externalUrl` | The external URL the Prometheus instances will be available under. This is necessary to generate correct URLs. This is necessary if Prometheus is not served from root of a DNS name. | `""` | | `prometheus.prometheusSpec.image.repository` | Base image to use for a Prometheus deployment. | `quay.io/prometheus/prometheus` | -| `prometheus.prometheusSpec.image.tag` | Tag of Prometheus container image to be deployed. | `v2.10.0` | +| `prometheus.prometheusSpec.image.tag` | Tag of Prometheus container image to be deployed. | `v2.12.0` | | `prometheus.prometheusSpec.listenLocal` | ListenLocal makes the Prometheus server listen on loopback, so that it does not bind against the Pod IP. | `false` | | `prometheus.prometheusSpec.logFormat` | Log format for Prometheus to be configured with. | `logfmt` | | `prometheus.prometheusSpec.logLevel` | Log level for Prometheus to be configured with. | `info` | @@ -259,6 +259,7 @@ The following tables list the configurable parameters of the prometheus-operator | `prometheus.prometheusSpec.replicas` | Number of instances to deploy for a Prometheus deployment. | `1` | | `prometheus.prometheusSpec.resources` | Define resources requests and limits for single Pods. | `{}` | | `prometheus.prometheusSpec.retentionSize` | Used Storage Prometheus shall retain data for. Example 50g (50 Gigabyte). Can be combined with prometheus.prometheusSpec.retention | `""` | +| `prometheus.prometheusSpec.walCompression` | Enable compression of the write-ahead log using Snappy. This flag is only available in versions of Prometheus >= 2.11.0. | `false` | | `prometheus.prometheusSpec.retention` | Time duration Prometheus shall retain data for. Must match the regular expression `[0-9]+(ms\|s\|m\|h\|d\|w\|y)` (milliseconds seconds minutes hours days weeks years). | `10d` | | `prometheus.prometheusSpec.routePrefix` | The route prefix Prometheus registers HTTP handlers for. This is useful, if using ExternalURL and a proxy is rewriting HTTP routes of a request, and the actual ExternalURL is still true, but the server serves requests under a different route prefix. For example for use with `kubectl proxy`. | `/` | | `prometheus.prometheusSpec.ruleNamespaceSelector` | Namespaces to be selected for PrometheusRules discovery. If nil, select own namespace. See [namespaceSelector](https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#namespaceselector) for usage | `{}` | diff --git a/stable/prometheus-operator/ci/test-values.yaml b/stable/prometheus-operator/ci/test-values.yaml index 7bfb8ced31..56e87baf97 100644 --- a/stable/prometheus-operator/ci/test-values.yaml +++ b/stable/prometheus-operator/ci/test-values.yaml @@ -1108,7 +1108,7 @@ prometheusOperator: ## image: repository: quay.io/coreos/prometheus-operator - tag: v0.31.1 + tag: v0.32.0 pullPolicy: IfNotPresent ## Configmap-reload image to use for reloading configmaps @@ -1121,7 +1121,7 @@ prometheusOperator: ## prometheusConfigReloaderImage: repository: quay.io/coreos/prometheus-config-reloader - tag: v0.31.1 + tag: v0.32.0 ## Set the prometheus config reloader side-car CPU limit. If unset, uses the prometheus-operator project default ## @@ -1272,7 +1272,7 @@ prometheus: ## image: repository: quay.io/prometheus/prometheus - tag: v2.10.0 + tag: v2.12.0 ## Tolerations for use with node taints ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ @@ -1395,6 +1395,14 @@ prometheus: ## retention: 10d + ## Maximum size of metrics + ## + retentionSize: "" + + ## Enable compression of the write-ahead log using Snappy. + ## + walCompression: false + ## If true, the Operator won't process any Prometheus configuration changes ## paused: false diff --git a/stable/prometheus-operator/templates/prometheus/prometheus.yaml b/stable/prometheus-operator/templates/prometheus/prometheus.yaml index 55a3187367..46b374dcae 100644 --- a/stable/prometheus-operator/templates/prometheus/prometheus.yaml +++ b/stable/prometheus-operator/templates/prometheus/prometheus.yaml @@ -70,6 +70,9 @@ spec: {{- if .Values.prometheus.prometheusSpec.retentionSize }} retentionSize: {{ .Values.prometheus.prometheusSpec.retentionSize | quote }} {{- end }} +{{- if .Values.prometheus.prometheusSpec.walCompression }} + walCompression: {{ .Values.prometheus.prometheusSpec.walCompression | quote }} +{{- end }} {{- if .Values.prometheus.prometheusSpec.routePrefix }} routePrefix: {{ .Values.prometheus.prometheusSpec.routePrefix | quote }} {{- end }} diff --git a/stable/prometheus-operator/values.yaml b/stable/prometheus-operator/values.yaml index b1de0f1e79..b09f293a6c 100644 --- a/stable/prometheus-operator/values.yaml +++ b/stable/prometheus-operator/values.yaml @@ -1108,7 +1108,7 @@ prometheusOperator: ## image: repository: quay.io/coreos/prometheus-operator - tag: v0.31.1 + tag: v0.32.0 pullPolicy: IfNotPresent ## Configmap-reload image to use for reloading configmaps @@ -1121,7 +1121,7 @@ prometheusOperator: ## prometheusConfigReloaderImage: repository: quay.io/coreos/prometheus-config-reloader - tag: v0.31.1 + tag: v0.32.0 ## Set the prometheus config reloader side-car CPU limit. If unset, uses the prometheus-operator project default ## @@ -1272,7 +1272,7 @@ prometheus: ## image: repository: quay.io/prometheus/prometheus - tag: v2.10.0 + tag: v2.12.0 ## Tolerations for use with node taints ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ @@ -1399,6 +1399,10 @@ prometheus: ## retentionSize: "" + ## Enable compression of the write-ahead log using Snappy. + ## + walCompression: false + ## If true, the Operator won't process any Prometheus configuration changes ## paused: false