[stable/traefik] add servicemonitor (#13728)

* feat: imporvements to pachyderm chart (#13054)

* feat: imporvements to pachyderm chart

- De-hardcode suite label to allow deployment in a different namespace
than `pachyderm`
- De-hardcode service account name to allow deployment in a different
namespace than `pachyderm`
- Allow specifying resource limits for `etcd` and `patchd` deployments
- Split `pachd` service in 3 stand alone services to allow exposing
`pachd-grpc-api` through a LoadBalancer service type
- `pachd-grpc-api` port can be customized
- `pachd` deployment now support iam-role annotation for `kube2iam`

Signed-off-by: Maxime Belanger <maxime.b.belanger@gmail.com>

* add variables to support 1.8.x

Signed-off-by: Maxime Belanger <maxime.b.belanger@gmail.com>

* node port fixed to 30650

Signed-off-by: Maxime Belanger <maxime.b.belanger@gmail.com>

* boolean as stringwq

Signed-off-by: Maxime Belanger <maxime.b.belanger@gmail.com>

* fix typo

Signed-off-by: Maxime Belanger <maxime.b.belanger@gmail.com>

* quote the value in the template instead

Signed-off-by: Maxime Belanger <maxime.b.belanger@gmail.com>
Signed-off-by: Philipp Hellmich <phil@hellmi.de>

* some changes based on feedback of dtomcej

Signed-off-by: Philipp Hellmich <phil@hellmi.de>

* commented out servicemonitor as requested in PR

Signed-off-by: Philipp Hellmich <phil@hellmi.de>

* fix

Signed-off-by: Philipp Hellmich <phil@hellmi.de>
This commit is contained in:
Philipp Hellmich
2019-08-13 01:47:41 -07:00
committed by Kubernetes Prow Robot
parent 3899135dd2
commit bb910daa9d
4 changed files with 41 additions and 1 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
apiVersion: v1
name: traefik
version: 1.75.1
version: 1.76.0
appVersion: 1.7.12
description: A Traefik based Kubernetes ingress controller with Let's Encrypt support
keywords:
+1
View File
@@ -204,6 +204,7 @@ The following table lists the configurable parameters of the Traefik chart and t
| `metrics.prometheus.enabled` | Whether to enable the `/metrics` endpoint for metric collection by Prometheus. | `false` |
| `metrics.prometheus.restrictAccess` | Whether to limit access to the metrics port (8080) to the dashboard service. When `false`, it is accessible on the main Traefik service as well. | `false` |
| `metrics.prometheus.buckets` | A list of response times (in seconds) - for each list element, Traefik will report all response times less than the element. | `[0.1,0.3,1.2,5]` |
| `metrics.serviceMonitor.enabled` | Whether to enable servicemonitor for Prometheus. | `false` |
| `metrics.datadog.enabled` | Whether to enable pushing metrics to Datadog. | `false` |
| `metrics.datadog.address` | Datadog host in the format <hostname>:<port> | `localhost:8125` |
| `metrics.datadog.pushInterval` | How often to push metrics to Datadog. | `10s` |
@@ -0,0 +1,30 @@
{{- if ( .Values.metrics.serviceMonitor ) }}
{{- if and ( .Values.metrics.serviceMonitor.enabled ) ( .Values.metrics.prometheus.enabled ) }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
{{- if .Values.metrics.serviceMonitor.labels }}
labels:
{{ toYaml .Values.metrics.serviceMonitor.labels | indent 4}}
{{- end }}
name: {{ template "traefik.fullname" . }}-prometheus-exporter
{{- if .Values.metrics.serviceMonitor.namespace }}
namespace: {{ .Values.metrics.serviceMonitor.namespace }}
{{- end }}
spec:
endpoints:
- targetPort: metrics
path: /metrics
{{- if .Values.metrics.serviceMonitor.interval }}
interval: {{ .Values.metrics.serviceMonitor.interval }}
{{- end }}
jobLabel: {{ template "traefik.fullname" . }}-prometheus-exporter
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
selector:
matchLabels:
app: {{ template "traefik.name" . }}
release: {{ .Release.Name | quote }}
{{- end }}
{{- end }}
+9
View File
@@ -408,6 +408,15 @@ metrics:
## it to the dashboard service only
restrictAccess: false
# buckets: [0.1,0.3,1.2,5]
# serviceMonitor:
# When set true and if Prometheus Operator is installed then use a ServiceMonitor to configure scraping
# enabled: false
# Set the namespace the ServiceMonitor should be deployed
# namespace: monitoring
# Set how frequently Prometheus should scrape
# interval: 30s
# Set labels for the ServiceMonitor, use this to define your scrape label for Prometheus Operator
# labels:
datadog:
enabled: false
# address: localhost:8125