diff --git a/bitnami/kube-prometheus/Chart.yaml b/bitnami/kube-prometheus/Chart.yaml index d62a08439..050f5a8f7 100644 --- a/bitnami/kube-prometheus/Chart.yaml +++ b/bitnami/kube-prometheus/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: 0.42.1 description: kube-prometheus collects Kubernetes manifests to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator. name: kube-prometheus -version: 2.1.1 +version: 2.2.0 keywords: - prometheus - alertmanager diff --git a/bitnami/kube-prometheus/README.md b/bitnami/kube-prometheus/README.md index 9904e578f..e550b5236 100644 --- a/bitnami/kube-prometheus/README.md +++ b/bitnami/kube-prometheus/README.md @@ -328,34 +328,69 @@ The following table lists the configurable parameters of the kube-prometheus cha ### Exporters -| Parameter | Description | Default | -|----------------------------------------------------|--------------------------------------------------------------------------------------------------------|---------------| -| `exporters.enabled` | Deploy exporters | `true` | -| `exporters.node-exporter.enabled` | Deploy `node-exporter` | `true` | -| `exporters.kube-state-metrics.enabled` | Deploy `kube-state-metrics` | `true` | -| `kubelet.namespace` | Namespace where kubelet service is deployed. Related configuration `operator.kubeletService.namespace` | `kube-system` | -| `kubelet.enabled` | Create a ServiceMonitor to scrape kubelet service | `true` | -| `kubelet.serviceMonitor.https` | Enable scraping of the kubelet over HTTPS | `true` | -| `kubelet.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` | -| `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 | `[]` | -| `kubeApiServer.enabled` | Create a ServiceMonitor to scrape kube-apiserver service | `true` | -| `kubeApiServer.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` | -| `kubeApiServer.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` | -| `kubeApiServer.serviceMonitor.relabelings` | Relabel configs | `[]` | -| `kubeProxy.enabled` | Create a ServiceMonitor to scrape the kube-proxy Service | `true` | -| `kubeProxy.endpoints` | If your kube-proxy is not deployed as a pod, specify IPs it can be found on | `[]` | -| `kubeProxy.namespace` | Namespace where cube-proxy service is deployed. | `kube-system` | -| `kubeProxy.service.enabled` | Whether or not to create a Service object for kube-proxy | `true` | -| `kubeProxy.service.port` | Listening port of the kube-proxy Service object | `10249` | -| `kubeProxy.service.targetPort` | Port to target on the kube-proxy Pods. This should be the port that kube-proxy is listening on | `10249` | -| `kubeProxy.service.selector` | Service label selector to discover the kube-proxy Pods | `{}` | -| `kubeProxy.serviceMonitor.enabled` | Create a ServiceMonitor object | `true` | -| `kubeProxy.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `""` | -| `kubeProxy.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` | -| `kubeProxy.serviceMonitor.relabelings` | Relabel configs | `[]` | +| Parameter | Description | Default | +|----------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|---------------| +| `exporters.enabled` | Deploy exporters | `true` | +| `exporters.node-exporter.enabled` | Deploy `node-exporter` | `true` | +| `exporters.kube-state-metrics.enabled` | Deploy `kube-state-metrics` | `true` | +| `kubelet.namespace` | Namespace where kubelet service is deployed. Related configuration `operator.kubeletService.namespace` | `kube-system` | +| `kubelet.enabled` | Create a ServiceMonitor to scrape kubelet service | `true` | +| `kubelet.serviceMonitor.https` | Enable scraping of the kubelet over HTTPS | `true` | +| `kubelet.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` | +| `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 | `[]` | +| `kubeApiServer.enabled` | Create a ServiceMonitor to scrape kube-apiserver service | `true` | +| `kubeApiServer.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` | +| `kubeApiServer.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` | +| `kubeApiServer.serviceMonitor.relabelings` | Relabel configs | `[]` | +| `kubeControllerManager.enabled` | Create a ServiceMonitor to scrape kube-controller-manager service | `true` | +| `kubeControllerManager.endpoints` | If your kube controller manager is not deployed as a pod, specify IPs it can be found on | `[]` | +| `kubeControllerManager.namespace` | Namespace where kube-controller-manager service is deployed. | `kube-system` | +| `kubeControllerManager.service.enabled` | Whether or not to create a Service object for kube-controller-manager | 'true' | +| `kubeControllerManager.service.port` | Listening port of the kube-controller-manager Service object | '10252' | +| `kubeControllerManager.service.targetPort` | Port to target on the kube-controller-manager Pods. This should be the port that kube-controller-manager is exposing metrics on | '10252' | +| `kubeControllerManager.service.selector` | Optional PODs Label selector for the service | 'nil' | +| `kubeControllerManager.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` | +| `kubeControllerManager.serviceMonitor.https` | Enable scraping kube-controller-manager over https | `false` | +| `kubeControllerManager.serviceMonitor.insecureSkipVerify`| Skip TLS certificate validation when scraping | `nil` | +| `kubeControllerManager.serviceMonitor.serverName` | Name of the server to use when validating TLS certificate | `nil` | +| `kubeControllerManager.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` | +| `kubeControllerManager.serviceMonitor.relabelings` | Relabel configs | `[]` | +| `kubeScheduler.enabled` | Create a ServiceMonitor to scrape kube-scheduler service | `true` | +| `kubeScheduler.endpoints` | If your kube scheduler is not deployed as a pod, specify IPs it can be found on | `[]` | +| `kubeScheduler.namespace` | Namespace where kube-scheduler service is deployed. | `kube-system` | +| `kubeScheduler.service.enabled` | Whether or not to create a Service object for kube-scheduler | 'true' | +| `kubeScheduler.service.port` | Listening port of the kube scheduler Service object | '10251' | +| `kubeScheduler.service.targetPort` | Port to target on the kube scheduler Pods. This should be the port that kube scheduler is exposing metrics on | '10251' | +| `kubeScheduler.service.selector` | Optional PODs Label selector for the service | 'nil' | +| `kubeScheduler.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` | +| `kubeScheduler.serviceMonitor.https` | Enable scraping kube-scheduler over https | `false` | +| `kubeScheduler.serviceMonitor.insecureSkipVerify` | Skip TLS certificate validation when scraping | `nil` | +| `kubeScheduler.serviceMonitor.serverName` | Name of the server to use when validating TLS certificate | `nil` | +| `kubeScheduler.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` | +| `kubeScheduler.serviceMonitor.relabelings` | Relabel configs | `[]` | +| `coreDns.enabled` | Create a ServiceMonitor to scrape coredns service | `true` | +| `coreDns.namespace` | Namespace where core dns service is deployed. | `kube-system` | +| `coreDns.service.enabled` | Whether or not to create a Service object for coredns | 'true' | +| `coreDns.service.port` | Listening port of the coredns Service object | '9153' | +| `coreDns.service.targetPort` | Port to target on the coredns Pods. This should be the port that coredns is exposing metrics on | '9153' | +| `coreDns.service.selector` | Optional PODs Label selector for the service | 'nil' | +| `coreDns.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` | +| `coreDns.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` | +| `coreDns.serviceMonitor.relabelings` | Relabel configs | `[]` | +| `kubeProxy.enabled` | Create a ServiceMonitor to scrape the kube-proxy Service | `true` | +| `kubeProxy.endpoints` | If your kube-proxy is not deployed as a pod, specify IPs it can be found on | `[]` | +| `kubeProxy.namespace` | Namespace where cube-proxy service is deployed. | `kube-system` | +| `kubeProxy.service.enabled` | Whether or not to create a Service object for kube-proxy | `true` | +| `kubeProxy.service.port` | Listening port of the kube-proxy Service object | `10249` | +| `kubeProxy.service.targetPort` | Port to target on the kube-proxy Pods. This should be the port that kube-proxy is listening on | `10249` | +| `kubeProxy.service.selector` | Service label selector to discover the kube-proxy Pods | `{}` | +| `kubeProxy.serviceMonitor.enabled` | Create a ServiceMonitor object | `true` | +| `kubeProxy.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `""` | +| `kubeProxy.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` | +| `kubeProxy.serviceMonitor.relabelings` | Relabel configs | `[]` | Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, diff --git a/bitnami/kube-prometheus/templates/exporters/core-dns/service.yaml b/bitnami/kube-prometheus/templates/exporters/core-dns/service.yaml new file mode 100644 index 000000000..71b5df159 --- /dev/null +++ b/bitnami/kube-prometheus/templates/exporters/core-dns/service.yaml @@ -0,0 +1,22 @@ +{{- if and .Values.coreDns.enabled .Values.coreDns.service.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: {{ template "kube-prometheus.fullname" . }}-coredns + namespace: {{ .Values.coreDns.namespace }} + labels: {{- include "common.labels.standard" . | nindent 4 }} + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns +spec: + clusterIP: None + ports: + - name: http-metrics + port: {{ .Values.coreDns.service.port }} + protocol: TCP + targetPort: {{ .Values.coreDns.service.targetPort }} + selector: + {{- if .Values.coreDns.service.selector }} +{{ toYaml .Values.coreDns.service.selector | indent 4 }} + {{- else}} + k8s-app: kube-dns + {{- end}} +{{- end }} diff --git a/bitnami/kube-prometheus/templates/exporters/core-dns/servicemonitor.yaml b/bitnami/kube-prometheus/templates/exporters/core-dns/servicemonitor.yaml new file mode 100644 index 000000000..e342e98ad --- /dev/null +++ b/bitnami/kube-prometheus/templates/exporters/core-dns/servicemonitor.yaml @@ -0,0 +1,31 @@ +{{- if .Values.coreDns.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "kube-prometheus.fullname" . }}-coredns + namespace: {{ .Release.Namespace }} + labels: {{- include "common.labels.standard" . | nindent 4 }} + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns +spec: + jobLabel: k8s-app + selector: + matchLabels: + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns + namespaceSelector: + matchNames: + - {{ .Values.coreDns.namespace }} + endpoints: + - port: http-metrics + {{- if .Values.coreDns.serviceMonitor.interval}} + interval: {{ .Values.coreDns.serviceMonitor.interval }} + {{- end }} + bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token +{{- if .Values.coreDns.serviceMonitor.metricRelabelings }} + metricRelabelings: +{{ tpl (toYaml .Values.coreDns.serviceMonitor.metricRelabelings | indent 4) . }} +{{- end }} +{{- if .Values.coreDns.serviceMonitor.relabelings }} + relabelings: +{{ toYaml .Values.coreDns.serviceMonitor.relabelings | indent 4 }} +{{- end }} +{{- end }} diff --git a/bitnami/kube-prometheus/templates/exporters/kube-controller-manager/endpoints.yaml b/bitnami/kube-prometheus/templates/exporters/kube-controller-manager/endpoints.yaml new file mode 100644 index 000000000..288aa1320 --- /dev/null +++ b/bitnami/kube-prometheus/templates/exporters/kube-controller-manager/endpoints.yaml @@ -0,0 +1,18 @@ +{{- if and .Values.kubeControllerManager.enabled .Values.kubeControllerManager.endpoints }} +apiVersion: v1 +kind: Endpoints +metadata: + name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager + namespace: {{ .Values.kubeControllerManager.namespace }} + labels: {{- include "common.labels.standard" . | nindent 4 }} + app.kubernetes.io/component: kube-controller-manager +subsets: + - addresses: + {{- range .Values.kubeControllerManager.endpoints }} + - ip: {{ . }} + {{- end }} + ports: + - name: http-metrics + port: {{ .Values.kubeControllerManager.service.port }} + protocol: TCP +{{- end }} diff --git a/bitnami/kube-prometheus/templates/exporters/kube-controller-manager/service.yaml b/bitnami/kube-prometheus/templates/exporters/kube-controller-manager/service.yaml new file mode 100644 index 000000000..50a40ca1e --- /dev/null +++ b/bitnami/kube-prometheus/templates/exporters/kube-controller-manager/service.yaml @@ -0,0 +1,25 @@ +{{- if and .Values.kubeControllerManager.enabled .Values.kubeControllerManager.service.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager + namespace: {{ .Values.kubeControllerManager.namespace }} + labels: {{- include "common.labels.standard" . | nindent 4 }} + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager +spec: + clusterIP: None + ports: + - name: http-metrics + port: {{ .Values.kubeControllerManager.service.port }} + protocol: TCP + targetPort: {{ .Values.kubeControllerManager.service.targetPort }} +{{- if .Values.kubeControllerManager.endpoints }}{{- else }} + selector: + {{- if .Values.kubeControllerManager.service.selector }} +{{ toYaml .Values.kubeControllerManager.service.selector | indent 4 }} + {{- else}} + component: kube-controller-manager + {{- end}} +{{- end }} + type: ClusterIP +{{- end }} diff --git a/bitnami/kube-prometheus/templates/exporters/kube-controller-manager/servicemonitor.yaml b/bitnami/kube-prometheus/templates/exporters/kube-controller-manager/servicemonitor.yaml new file mode 100644 index 000000000..8ee286af7 --- /dev/null +++ b/bitnami/kube-prometheus/templates/exporters/kube-controller-manager/servicemonitor.yaml @@ -0,0 +1,42 @@ +{{- if .Values.kubeControllerManager.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager + namespace: {{ .Release.Namespace }} + labels: {{- include "common.labels.standard" . | nindent 4 }} + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager +spec: + jobLabel: component + selector: + matchLabels: + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager + namespaceSelector: + matchNames: + - {{ .Values.kubeControllerManager.namespace }} + endpoints: + - port: http-metrics + {{- if .Values.kubeControllerManager.serviceMonitor.interval }} + interval: {{ .Values.kubeControllerManager.serviceMonitor.interval }} + {{- end }} + bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + {{- if .Values.kubeControllerManager.serviceMonitor.https }} + scheme: https + tlsConfig: + caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + {{- if .Values.kubeControllerManager.serviceMonitor.insecureSkipVerify }} + insecureSkipVerify: {{ .Values.kubeControllerManager.serviceMonitor.insecureSkipVerify }} + {{- end }} + {{- if .Values.kubeControllerManager.serviceMonitor.serverName }} + serverName: {{ .Values.kubeControllerManager.serviceMonitor.serverName }} + {{- end }} + {{- end }} +{{- if .Values.kubeControllerManager.serviceMonitor.metricRelabelings }} + metricRelabelings: +{{ tpl (toYaml .Values.kubeControllerManager.serviceMonitor.metricRelabelings | indent 4) . }} +{{- end }} +{{- if .Values.kubeControllerManager.serviceMonitor.relabelings }} + relabelings: +{{ toYaml .Values.kubeControllerManager.serviceMonitor.relabelings | indent 4 }} +{{- end }} +{{- end }} diff --git a/bitnami/kube-prometheus/templates/exporters/kube-scheduler/endpoints.yaml b/bitnami/kube-prometheus/templates/exporters/kube-scheduler/endpoints.yaml new file mode 100644 index 000000000..d59d8e739 --- /dev/null +++ b/bitnami/kube-prometheus/templates/exporters/kube-scheduler/endpoints.yaml @@ -0,0 +1,18 @@ +{{- if and .Values.kubeScheduler.enabled .Values.kubeScheduler.endpoints }} +apiVersion: v1 +kind: Endpoints +metadata: + name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler + namespace: {{ .Values.kubeScheduler.namespace }} + labels: {{- include "common.labels.standard" . | nindent 4 }} + app.kubernetes.io/component: kube-scheduler +subsets: + - addresses: + {{- range .Values.kubeScheduler.endpoints }} + - ip: {{ . }} + {{- end }} + ports: + - name: http-metrics + port: {{ .Values.kubeScheduler.service.port }} + protocol: TCP +{{- end }} diff --git a/bitnami/kube-prometheus/templates/exporters/kube-scheduler/service.yaml b/bitnami/kube-prometheus/templates/exporters/kube-scheduler/service.yaml new file mode 100644 index 000000000..7dfb878a5 --- /dev/null +++ b/bitnami/kube-prometheus/templates/exporters/kube-scheduler/service.yaml @@ -0,0 +1,25 @@ +{{- if and .Values.kubeScheduler.enabled .Values.kubeScheduler.service.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler + namespace: {{ .Values.kubeScheduler.namespace }} + labels: {{- include "common.labels.standard" . | nindent 4 }} + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler +spec: + clusterIP: None + ports: + - name: http-metrics + port: {{ .Values.kubeScheduler.service.port}} + protocol: TCP + targetPort: {{ .Values.kubeScheduler.service.targetPort}} +{{- if .Values.kubeScheduler.endpoints }}{{- else }} + selector: + {{- if .Values.kubeScheduler.service.selector }} +{{ toYaml .Values.kubeScheduler.service.selector | indent 4 }} + {{- else}} + component: kube-scheduler + {{- end}} +{{- end }} + type: ClusterIP +{{- end -}} diff --git a/bitnami/kube-prometheus/templates/exporters/kube-scheduler/servicemonitor.yaml b/bitnami/kube-prometheus/templates/exporters/kube-scheduler/servicemonitor.yaml new file mode 100644 index 000000000..8f25ace41 --- /dev/null +++ b/bitnami/kube-prometheus/templates/exporters/kube-scheduler/servicemonitor.yaml @@ -0,0 +1,42 @@ +{{- if .Values.kubeScheduler.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler + namespace: {{ .Release.Namespace }} + labels: {{- include "common.labels.standard" . | nindent 4 }} + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler +spec: + jobLabel: component + selector: + matchLabels: + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler + namespaceSelector: + matchNames: + - {{ .Values.kubeScheduler.namespace }} + endpoints: + - port: http-metrics + {{- if .Values.kubeScheduler.serviceMonitor.interval }} + interval: {{ .Values.kubeScheduler.serviceMonitor.interval }} + {{- end }} + bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + {{- if .Values.kubeScheduler.serviceMonitor.https }} + scheme: https + tlsConfig: + caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + {{- if .Values.kubeScheduler.serviceMonitor.insecureSkipVerify }} + insecureSkipVerify: {{ .Values.kubeScheduler.serviceMonitor.insecureSkipVerify }} + {{- end}} + {{- if .Values.kubeScheduler.serviceMonitor.serverName }} + serverName: {{ .Values.kubeScheduler.serviceMonitor.serverName }} + {{- end}} + {{- end}} +{{- if .Values.kubeScheduler.serviceMonitor.metricRelabelings }} + metricRelabelings: +{{ tpl (toYaml .Values.kubeScheduler.serviceMonitor.metricRelabelings | indent 4) . }} +{{- end }} +{{- if .Values.kubeScheduler.serviceMonitor.relabelings }} + relabelings: +{{ toYaml .Values.kubeScheduler.serviceMonitor.relabelings | indent 4 }} +{{- end }} +{{- end }} diff --git a/bitnami/kube-prometheus/values-production.yaml b/bitnami/kube-prometheus/values-production.yaml index a8d210abd..73b337f0b 100644 --- a/bitnami/kube-prometheus/values-production.yaml +++ b/bitnami/kube-prometheus/values-production.yaml @@ -1103,6 +1103,151 @@ kubeApiServer: ## relabelings: [] +## Component scraping the kube-controller-manager +kubeControllerManager: + ## Create a ServiceMonitor to scrape kube-controller-manager service + enabled: true + + ## If your kube controller manager is not deployed as a pod, specify IPs it can be found on + ## + endpoints: [] + # - 10.141.4.22 + # - 10.141.4.23 + # - 10.141.4.24 + + ## Namespace where kube-controller-manager service is deployed + namespace: kube-system + + ## Service ports and selector information + service: + enabled: true + port: 10252 + targetPort: 10252 + # selector: + # component: kube-controller-manager + + serviceMonitor: + ## Scrape interval. If not set, the Prometheus default scrape interval is used. + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint + ## + interval: "" + + ## Enable scraping kube-controller-manager over https. + ## Requires proper certs (not self-signed) and delegated authentication/authorization checks + ## + https: false + + # Skip TLS certificate validation when scraping + insecureSkipVerify: null + + # Name of the server to use when validating TLS certificate + serverName: null + + ## Metric relabeling + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + metricRelabelings: [] + + ## Relabel configs + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config + ## + relabelings: [] + +## Component scraping kube scheduler +## +kubeScheduler: + ## Create a ServiceMonitor to scrape kube-scheduler service + enabled: true + + ## If your kube scheduler is not deployed as a pod, specify IPs it can be found on + ## + endpoints: [] + # - 10.141.4.22 + # - 10.141.4.23 + # - 10.141.4.24 + + ## Namespace where kube-scheduler service is deployed + namespace: kube-system + + ## If using kubeScheduler.endpoints only the port and targetPort are used + ## + service: + enabled: true + port: 10251 + targetPort: 10251 + # selector: + # component: kube-scheduler + + serviceMonitor: + ## Scrape interval. If not set, the Prometheus default scrape interval is used. + ## + interval: "" + ## Enable scraping kube-scheduler over https. + ## Requires proper certs (not self-signed) and delegated authentication/authorization checks + ## + https: false + + ## Skip TLS certificate validation when scraping + insecureSkipVerify: null + + ## Name of the server to use when validating TLS certificate + serverName: null + + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # targetLabel: nodename + # replacement: $1 + # action: replace + +## Component scraping coreDns +## +coreDns: + enabled: true + + ## Namespace where coreDns service is deployed + namespace: kube-system + + ## Create a ServiceMonitor to scrape coredns service + service: + enabled: true + port: 9153 + targetPort: 9153 + # selector: + # k8s-app: kube-dns + + serviceMonitor: + ## Scrape interval. If not set, the Prometheus default scrape interval is used. + ## + interval: "" + + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # targetLabel: nodename + # replacement: $1 + # action: replace + ## Component scraping the kube-proxy kubeProxy: ## Create a ServiceMonitor to scrape kube-proxy service diff --git a/bitnami/kube-prometheus/values.yaml b/bitnami/kube-prometheus/values.yaml index ea02f4761..6d448c4b6 100644 --- a/bitnami/kube-prometheus/values.yaml +++ b/bitnami/kube-prometheus/values.yaml @@ -1104,6 +1104,151 @@ kubeApiServer: ## relabelings: [] +## Component scraping the kube-controller-manager +kubeControllerManager: + ## Create a ServiceMonitor to scrape kube-controller-manager service + enabled: true + + ## If your kube controller manager is not deployed as a pod, specify IPs it can be found on + ## + endpoints: [] + # - 10.141.4.22 + # - 10.141.4.23 + # - 10.141.4.24 + + ## Namespace where kube-controller-manager service is deployed + namespace: kube-system + + ## Service ports and selector information + service: + enabled: true + port: 10252 + targetPort: 10252 + # selector: + # component: kube-controller-manager + + serviceMonitor: + ## Scrape interval. If not set, the Prometheus default scrape interval is used. + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint + ## + interval: "" + + ## Enable scraping kube-controller-manager over https. + ## Requires proper certs (not self-signed) and delegated authentication/authorization checks + ## + https: false + + # Skip TLS certificate validation when scraping + insecureSkipVerify: null + + # Name of the server to use when validating TLS certificate + serverName: null + + ## Metric relabeling + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + metricRelabelings: [] + + ## Relabel configs + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config + ## + relabelings: [] + +## Component scraping kube scheduler +## +kubeScheduler: + ## Create a ServiceMonitor to scrape kube-scheduler service + enabled: true + + ## If your kube scheduler is not deployed as a pod, specify IPs it can be found on + ## + endpoints: [] + # - 10.141.4.22 + # - 10.141.4.23 + # - 10.141.4.24 + + ## Namespace where kube-scheduler service is deployed + namespace: kube-system + + ## If using kubeScheduler.endpoints only the port and targetPort are used + ## + service: + enabled: true + port: 10251 + targetPort: 10251 + # selector: + # component: kube-scheduler + + serviceMonitor: + ## Scrape interval. If not set, the Prometheus default scrape interval is used. + ## + interval: "" + ## Enable scraping kube-scheduler over https. + ## Requires proper certs (not self-signed) and delegated authentication/authorization checks + ## + https: false + + ## Skip TLS certificate validation when scraping + insecureSkipVerify: null + + ## Name of the server to use when validating TLS certificate + serverName: null + + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # targetLabel: nodename + # replacement: $1 + # action: replace + +## Component scraping coreDns +## +coreDns: + enabled: true + + ## Namespace where coreDns service is deployed + namespace: kube-system + + ## Create a ServiceMonitor to scrape coredns service + service: + enabled: true + port: 9153 + targetPort: 9153 + # selector: + # k8s-app: kube-dns + + serviceMonitor: + ## Scrape interval. If not set, the Prometheus default scrape interval is used. + ## + interval: "" + + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # targetLabel: nodename + # replacement: $1 + # action: replace + ## Component scraping the kube-proxy kubeProxy: ## Create a ServiceMonitor to scrape kube-proxy service