From 1ef34860ce6afd41e845d15014367eec5c137f07 Mon Sep 17 00:00:00 2001 From: Celia Garcia <61272496+CeliaGMqrz@users.noreply.github.com> Date: Tue, 20 Dec 2022 18:07:36 +0100 Subject: [PATCH] [bitnami/kube-prometheus] Reorganize kubelet.servicemonitor logic (#14045) * [bitnami/kube-prometheus] Reorganizing the logic to kubelet.serviceMonitor Signed-off-by: Celia Garcia Marquez * [bitnami/kube-prometheus] Bump version and add variables in README.md Signed-off-by: Celia Garcia Marquez * [bitnami/kube-prometheus] Fix typo Signed-off-by: Celia Garcia Marquez * [bitnami/kube-prometheus] Add tlsConfig Signed-off-by: Celia Garcia Marquez * [bitnami/kube-prometheus] Bump to minor version Signed-off-by: Celia Garcia Marquez * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers Signed-off-by: Celia Garcia Marquez Signed-off-by: Bitnami Containers Co-authored-by: Bitnami Containers --- bitnami/kube-prometheus/Chart.yaml | 2 +- bitnami/kube-prometheus/README.md | 37 +++++++++++-------- .../exporters/kubelet/servicemonitor.yaml | 29 +++++++++++++-- bitnami/kube-prometheus/values.yaml | 18 +++++++++ 4 files changed, 66 insertions(+), 20 deletions(-) diff --git a/bitnami/kube-prometheus/Chart.yaml b/bitnami/kube-prometheus/Chart.yaml index 1e2b115b8..ade19f823 100644 --- a/bitnami/kube-prometheus/Chart.yaml +++ b/bitnami/kube-prometheus/Chart.yaml @@ -35,4 +35,4 @@ sources: - https://github.com/bitnami/containers/tree/main/bitnami/prometheus - https://github.com/bitnami/containers/tree/main/bitnami/alertmanager - https://github.com/prometheus-operator/kube-prometheus -version: 8.2.2 +version: 8.3.0 diff --git a/bitnami/kube-prometheus/README.md b/bitnami/kube-prometheus/README.md index f75527546..f1716a67d 100644 --- a/bitnami/kube-prometheus/README.md +++ b/bitnami/kube-prometheus/README.md @@ -525,22 +525,27 @@ The command removes all the Kubernetes components associated with the chart and ### Exporters -| Name | Description | Value | -| -------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | ------------- | -| `exporters.node-exporter.enabled` | Enable node-exporter | `true` | -| `exporters.kube-state-metrics.enabled` | Enable kube-state-metrics | `true` | -| `node-exporter` | Node Exporter deployment configuration | `{}` | -| `kube-state-metrics` | Kube State Metrics deployment configuration | `{}` | -| `kubelet.enabled` | Create a ServiceMonitor to scrape kubelet service | `true` | -| `kubelet.namespace` | Namespace where kubelet service is deployed. Related configuration `operator.kubeletService.namespace` | `kube-system` | -| `kubelet.serviceMonitor.https` | Enable scraping of the kubelet over HTTPS | `true` | -| `kubelet.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `""` | -| `kubelet.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` | -| `kubelet.serviceMonitor.relabelings` | Relabel configs | `[]` | -| `kubelet.serviceMonitor.cAdvisorMetricRelabelings` | Metric relabeling for scraping cAdvisor | `[]` | -| `kubelet.serviceMonitor.cAdvisorRelabelings` | Relabel configs for scraping cAdvisor | `[]` | -| `kubelet.serviceMonitor.labels` | Extra labels for the ServiceMonitor | `{}` | -| `kubelet.serviceMonitor.annotations` | Extra annotations for the ServiceMonitor | `{}` | +| Name | Description | Value | +| -------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | ---------------------------- | +| `exporters.node-exporter.enabled` | Enable node-exporter | `true` | +| `exporters.kube-state-metrics.enabled` | Enable kube-state-metrics | `true` | +| `node-exporter` | Node Exporter deployment configuration | `{}` | +| `kube-state-metrics` | Kube State Metrics deployment configuration | `{}` | +| `kubelet.enabled` | Create a ServiceMonitor to scrape kubelet service | `true` | +| `kubelet.namespace` | Namespace where kubelet service is deployed. Related configuration `operator.kubeletService.namespace` | `kube-system` | +| `kubelet.serviceMonitor.https` | Enable scraping of the kubelet over HTTPS | `true` | +| `kubelet.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `""` | +| `kubelet.serviceMonitor.resource` | Enable scraping /metrics/resource from kubelet's service | `false` | +| `kubelet.serviceMonitor.resourcePath` | From kubernetes 1.18, /metrics/resource/v1alpha1 was renamed to /metrics/resource | `/metrics/resource/v1alpha1` | +| `kubelet.serviceMonitor.resourceRelabelings` | Metric relabeling | `[]` | +| `kubelet.serviceMonitor.resourceMetricRelabelings` | Metric relabeling | `[]` | +| `kubelet.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` | +| `kubelet.serviceMonitor.relabelings` | Relabel configs | `[]` | +| `kubelet.serviceMonitor.cAdvisor` | Enable scraping /metrics/cadvisor from kubelet's service | `true` | +| `kubelet.serviceMonitor.cAdvisorMetricRelabelings` | Metric relabeling for scraping cAdvisor | `[]` | +| `kubelet.serviceMonitor.cAdvisorRelabelings` | Relabel configs for scraping cAdvisor | `[]` | +| `kubelet.serviceMonitor.labels` | Extra labels for the ServiceMonitor | `{}` | +| `kubelet.serviceMonitor.annotations` | Extra annotations for the ServiceMonitor | `{}` | ### Blackbox Exporter Deployment Parameters diff --git a/bitnami/kube-prometheus/templates/exporters/kubelet/servicemonitor.yaml b/bitnami/kube-prometheus/templates/exporters/kubelet/servicemonitor.yaml index 99b301fb8..99b555e6e 100644 --- a/bitnami/kube-prometheus/templates/exporters/kubelet/servicemonitor.yaml +++ b/bitnami/kube-prometheus/templates/exporters/kubelet/servicemonitor.yaml @@ -51,9 +51,14 @@ spec: {{- if .Values.kubelet.serviceMonitor.relabelings }} relabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.relabelings "context" $) | nindent 8 }} {{- end }} + {{- if .Values.kubelet.serviceMonitor.cAdvisor }} - port: {{ printf "%s-metrics" $scheme }} scheme: {{$scheme}} path: /metrics/cadvisor + {{- if .Values.kubelet.serviceMonitor.interval }} + interval: {{ .Values.kubelet.serviceMonitor.interval }} + {{- end }} + honorLabels: true {{- if .Values.kubelet.serviceMonitor.https }} tlsConfig: caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt @@ -64,9 +69,6 @@ spec: tlsConfig: insecureSkipVerify: false {{- end }} - honorLabels: true - {{- if .Values.kubelet.serviceMonitor.interval }} - interval: {{ .Values.kubelet.serviceMonitor.interval }} {{- end }} {{- if .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings }} metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings "context" $) | nindent 8 }} @@ -74,4 +76,25 @@ spec: {{- if .Values.kubelet.serviceMonitor.cAdvisorRelabelings }} relabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.cAdvisorRelabelings "context" $) | nindent 8 }} {{- end }} + {{- if .Values.kubelet.serviceMonitor.resource }} + - port: {{ printf "%s-metrics" $scheme }} + scheme: {{$scheme}} + path: {{ .Values.kubelet.serviceMonitor.resourcePath }} + {{- if .Values.kubelet.serviceMonitor.https }} + tlsConfig: + caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + serverName: kubernetes + insecureSkipVerify: true + bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + {{- else }} + tlsConfig: + insecureSkipVerify: false + {{- end }} + {{- if .Values.kubelet.serviceMonitor.resourceRelabelings }} + relabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.resourceRelabelings "context" .) | nindent 4 }} + {{- end }} + {{- if .Values.kubelet.serviceMonitor.resourceMetricRelabelings }} + metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.resourceMetricRelabelings "context" .) | nindent 4 }} + {{- end }} + {{- end }} {{- end }} diff --git a/bitnami/kube-prometheus/values.yaml b/bitnami/kube-prometheus/values.yaml index 6b7a87bfd..912701e1c 100644 --- a/bitnami/kube-prometheus/values.yaml +++ b/bitnami/kube-prometheus/values.yaml @@ -1942,6 +1942,20 @@ kubelet: ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint ## interval: "" + ## @param kubelet.serviceMonitor.resource Enable scraping /metrics/resource from kubelet's service + ## + resource: false + ## @param kubelet.serviceMonitor.resourcePath From kubernetes 1.18, /metrics/resource/v1alpha1 was renamed to /metrics/resource + ## + resourcePath: "/metrics/resource/v1alpha1" + ## @param kubelet.serviceMonitor.resourceRelabelings Metric relabeling + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig + ## + resourceRelabelings: [] + ## @param kubelet.serviceMonitor.resourceMetricRelabelings Metric relabeling + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + resourceMetricRelabelings: [] ## @param kubelet.serviceMonitor.metricRelabelings Metric relabeling ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs ## @@ -1950,6 +1964,10 @@ kubelet: ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config ## relabelings: [] + ## @param kubelet.serviceMonitor.cAdvisor Enable scraping /metrics/cadvisor from kubelet's service + ## ref: https://prometheus.io/docs/guides/cadvisor/#exploring-metrics-in-the-expression-browser + ## + cAdvisor: true ## @param kubelet.serviceMonitor.cAdvisorMetricRelabelings Metric relabeling for scraping cAdvisor ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs ##