From 21cf5703ba03b7fcfcfda15c5e4bc0de30363eea Mon Sep 17 00:00:00 2001 From: Ryan Luckie Date: Thu, 12 Jul 2018 23:21:26 -0500 Subject: [PATCH] [stable/prometheus] support priorityClasses (#6578) --- stable/prometheus/Chart.yaml | 2 +- stable/prometheus/README.md | 5 +++++ .../templates/alertmanager-deployment.yaml | 3 +++ .../kube-state-metrics-deployment.yaml | 3 +++ .../templates/node-exporter-daemonset.yaml | 3 +++ .../templates/pushgateway-deployment.yaml | 3 +++ .../templates/server-deployment.yaml | 3 +++ stable/prometheus/values.yaml | 20 +++++++++++++++++++ 8 files changed, 41 insertions(+), 1 deletion(-) diff --git a/stable/prometheus/Chart.yaml b/stable/prometheus/Chart.yaml index 52f6a932cf..63b8cfc516 100755 --- a/stable/prometheus/Chart.yaml +++ b/stable/prometheus/Chart.yaml @@ -1,5 +1,5 @@ name: prometheus -version: 6.8.1 +version: 6.9.0 appVersion: 2.3.1 description: Prometheus is a monitoring system and time series database. home: https://prometheus.io/ diff --git a/stable/prometheus/README.md b/stable/prometheus/README.md index d39361e89d..dcfc36e573 100644 --- a/stable/prometheus/README.md +++ b/stable/prometheus/README.md @@ -119,6 +119,7 @@ Parameter | Description | Default `alertmanager.persistentVolume.subPath` | Subdirectory of alertmanager data Persistent Volume to mount | `""` `alertmanager.podAnnotations` | annotations to be added to alertmanager pods | `{}` `alertmanager.replicaCount` | desired number of alertmanager pods | `1` +`alertmanager.priorityClassName` | alertmanager priorityClassName | `nil` `alertmanager.resources` | alertmanager pod resource requests & limits | `{}` `alertmanager.securityContext` | Custom [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) for Alert Manager containers | `{}` `alertmanager.service.annotations` | annotations for alertmanager service | `{}` @@ -153,6 +154,7 @@ Parameter | Description | Default `kubeStateMetrics.deploymentAnnotations` | annotations to be added to kube-state-metrics deployment | `{}` `kubeStateMetrics.tolerations` | node taints to tolerate (requires Kubernetes >=1.6) | `[]` `kubeStateMetrics.replicaCount` | desired number of kube-state-metrics pods | `1` +`kubeStateMetrics.priorityClassName` | kube-state-metrics priorityClassName | `nil` `kubeStateMetrics.resources` | kube-state-metrics resource requests and limits (YAML) | `{}` `kubeStateMetrics.securityContext` | Custom [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) for kube-state-metrics containers | `{}` `kubeStateMetrics.service.annotations` | annotations for kube-state-metrics service | `{prometheus.io/scrape: "true"}` @@ -174,6 +176,7 @@ Parameter | Description | Default `nodeExporter.podAnnotations` | annotations to be added to node-exporter pods | `{}` `nodeExporter.pod.labels` | labels to be added to node-exporter pods | `{}` `nodeExporter.tolerations` | node taints to tolerate (requires Kubernetes >=1.6) | `[]` +`nodeExporter.priorityClassName` | node-exporter priorityClassName | `nil` `nodeExporter.resources` | node-exporter resource requests and limits (YAML) | `{}` `nodeExporter.securityContext` | securityContext for containers in pod | `{}` `nodeExporter.service.annotations` | annotations for node-exporter service | `{prometheus.io/scrape: "true"}` @@ -197,6 +200,7 @@ Parameter | Description | Default `pushgateway.podAnnotations` | annotations to be added to pushgateway pods | `{}` `pushgateway.tolerations` | node taints to tolerate (requires Kubernetes >=1.6) | `[]` `pushgateway.replicaCount` | desired number of pushgateway pods | `1` +`pushgateway.priorityClassName` | pushgateway priorityClassName | `nil` `pushgateway.resources` | pushgateway pod resource requests & limits | `{}` `pushgateway.service.annotations` | annotations for pushgateway service | `{}` `pushgateway.service.clusterIP` | internal pushgateway cluster service IP | `""` @@ -228,6 +232,7 @@ Parameter | Description | Default `server.ingress.tls` | Prometheus server Ingress TLS configuration (YAML) | `[]` `server.nodeSelector` | node labels for Prometheus server pod assignment | `{}` `server.tolerations` | node taints to tolerate (requires Kubernetes >=1.6) | `[]` +`server.priorityClassName` | Prometheus server priorityClassName | `nil` `server.schedulerName` | Prometheus server alternate scheduler name | `nil` `server.persistentVolume.enabled` | If true, Prometheus server will create a Persistent Volume Claim | `true` `server.persistentVolume.accessModes` | Prometheus server data Persistent Volume access modes | `[ReadWriteOnce]` diff --git a/stable/prometheus/templates/alertmanager-deployment.yaml b/stable/prometheus/templates/alertmanager-deployment.yaml index 34c27e677a..fd51d2d0d3 100644 --- a/stable/prometheus/templates/alertmanager-deployment.yaml +++ b/stable/prometheus/templates/alertmanager-deployment.yaml @@ -30,6 +30,9 @@ spec: schedulerName: "{{ .Values.alertmanager.schedulerName }}" {{- end }} serviceAccountName: {{ template "prometheus.serviceAccountName.alertmanager" . }} +{{- if .Values.alertmanager.priorityClassName }} + priorityClassName: "{{ .Values.alertmanager.priorityClassName }}" +{{- end }} containers: - name: {{ template "prometheus.name" . }}-{{ .Values.alertmanager.name }} image: "{{ .Values.alertmanager.image.repository }}:{{ .Values.alertmanager.image.tag }}" diff --git a/stable/prometheus/templates/kube-state-metrics-deployment.yaml b/stable/prometheus/templates/kube-state-metrics-deployment.yaml index d8715f64a2..3ff498f32f 100644 --- a/stable/prometheus/templates/kube-state-metrics-deployment.yaml +++ b/stable/prometheus/templates/kube-state-metrics-deployment.yaml @@ -30,6 +30,9 @@ spec: {{- end }} spec: serviceAccountName: {{ template "prometheus.serviceAccountName.kubeStateMetrics" . }} +{{- if .Values.kubeStateMetrics.priorityClassName }} + priorityClassName: "{{ .Values.kubeStateMetrics.priorityClassName }}" +{{- end }} containers: - name: {{ template "prometheus.name" . }}-{{ .Values.kubeStateMetrics.name }} image: "{{ .Values.kubeStateMetrics.image.repository }}:{{ .Values.kubeStateMetrics.image.tag }}" diff --git a/stable/prometheus/templates/node-exporter-daemonset.yaml b/stable/prometheus/templates/node-exporter-daemonset.yaml index 8c2b59f812..435bd09a28 100644 --- a/stable/prometheus/templates/node-exporter-daemonset.yaml +++ b/stable/prometheus/templates/node-exporter-daemonset.yaml @@ -33,6 +33,9 @@ spec: {{- end }} spec: serviceAccountName: {{ template "prometheus.serviceAccountName.nodeExporter" . }} +{{- if .Values.nodeExporter.priorityClassName }} + priorityClassName: "{{ .Values.nodeExporter.priorityClassName }}" +{{- end }} containers: - name: {{ template "prometheus.name" . }}-{{ .Values.nodeExporter.name }} image: "{{ .Values.nodeExporter.image.repository }}:{{ .Values.nodeExporter.image.tag }}" diff --git a/stable/prometheus/templates/pushgateway-deployment.yaml b/stable/prometheus/templates/pushgateway-deployment.yaml index 652e4a7576..13d46e9803 100644 --- a/stable/prometheus/templates/pushgateway-deployment.yaml +++ b/stable/prometheus/templates/pushgateway-deployment.yaml @@ -23,6 +23,9 @@ spec: release: {{ .Release.Name }} spec: serviceAccountName: {{ template "prometheus.serviceAccountName.pushgateway" . }} +{{- if .Values.pushgateway.priorityClassName }} + priorityClassName: "{{ .Values.pushgateway.priorityClassName }}" +{{- end }} containers: - name: {{ template "prometheus.name" . }}-{{ .Values.pushgateway.name }} image: "{{ .Values.pushgateway.image.repository }}:{{ .Values.pushgateway.image.tag }}" diff --git a/stable/prometheus/templates/server-deployment.yaml b/stable/prometheus/templates/server-deployment.yaml index b5e713009b..5748a8d878 100644 --- a/stable/prometheus/templates/server-deployment.yaml +++ b/stable/prometheus/templates/server-deployment.yaml @@ -29,6 +29,9 @@ spec: component: "{{ .Values.server.name }}" release: {{ .Release.Name }} spec: +{{- if .Values.server.priorityClassName }} + priorityClassName: "{{ .Values.server.priorityClassName }}" +{{- end }} {{- if .Values.server.schedulerName }} schedulerName: "{{ .Values.server.schedulerName }}" {{- end }} diff --git a/stable/prometheus/values.yaml b/stable/prometheus/values.yaml index ca186a4556..bf377b99ad 100644 --- a/stable/prometheus/values.yaml +++ b/stable/prometheus/values.yaml @@ -36,6 +36,10 @@ alertmanager: tag: v0.15.0 pullPolicy: IfNotPresent + ## alertmanager priorityClassName + ## + priorityClassName: "" + ## Additional alertmanager container arguments ## extraArgs: {} @@ -269,6 +273,10 @@ kubeStateMetrics: tag: v1.3.1 pullPolicy: IfNotPresent + ## kube-state-metrics priorityClassName + ## + priorityClassName: "" + ## kube-state-metrics container arguments ## args: {} @@ -346,6 +354,10 @@ nodeExporter: tag: v0.16.0 pullPolicy: IfNotPresent + ## node-exporter priorityClassName + ## + priorityClassName: "" + ## Custom Update Strategy ## updateStrategy: @@ -440,6 +452,10 @@ server: tag: v2.3.1 pullPolicy: IfNotPresent + ## prometheus server priorityClassName + ## + priorityClassName: "" + ## The URL prefix at which the container can be accessed. Useful in the case the '-web.external-url' includes a slug ## so that the various internal URLs are still able to access as they are in the default case. ## (Optional) @@ -654,6 +670,10 @@ pushgateway: tag: v0.5.2 pullPolicy: IfNotPresent + ## pushgateway priorityClassName + ## + priorityClassName: "" + ## Additional pushgateway container arguments ## extraArgs: {}