From 889eca2cd47a01a76afe6de02902d474203a734c Mon Sep 17 00:00:00 2001
From: Richard Maynard <richard.maynard@gmail.com>
Date: Thu, 5 Apr 2018 02:57:56 -0500
Subject: [PATCH] charts: Add Core DNS Support (#1176)

* charts: Add Core DNS Support

With CoreDNS becoming a first class citizen it should be an optional part
of the kube-prometheus deployment.

Fixes: #1174

* added kube-prometheus service and service monitor

In order to work directly with a cluster created by bootkube used port 9153,
and created a service exposing metrics since bootkube does does not. Also in
the helm chart changed the default port to 9153 since that is the coredns
plugins default port and to be consistent throughout the repo.
---
 ...rometheus-k8s-service-coredns-metrics.yaml | 18 ++++++++++++++++++
 ...rometheus-k8s-service-monitor-coredns.yaml | 19 +++++++++++++++++++
 2 files changed, 37 insertions(+)
 create mode 100644 manifests/prometheus/prometheus-k8s-service-coredns-metrics.yaml
 create mode 100644 manifests/prometheus/prometheus-k8s-service-monitor-coredns.yaml

diff --git a/manifests/prometheus/prometheus-k8s-service-coredns-metrics.yaml b/manifests/prometheus/prometheus-k8s-service-coredns-metrics.yaml
new file mode 100644
index 00000000..cd90a55e
--- /dev/null
+++ b/manifests/prometheus/prometheus-k8s-service-coredns-metrics.yaml
@@ -0,0 +1,18 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: coredns-prometheus-discovery
+  namespace: kube-system
+  labels:
+    k8s-app: coredns
+    component: metrics
+spec:
+  ports:
+    - name: http-metrics
+      port: 9153
+      protocol: TCP
+      targetPort: 9153
+  selector:
+    k8s-app: coredns
+  type: ClusterIP
+  clusterIP: None
diff --git a/manifests/prometheus/prometheus-k8s-service-monitor-coredns.yaml b/manifests/prometheus/prometheus-k8s-service-monitor-coredns.yaml
new file mode 100644
index 00000000..362ac899
--- /dev/null
+++ b/manifests/prometheus/prometheus-k8s-service-monitor-coredns.yaml
@@ -0,0 +1,19 @@
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  labels:
+    k8s-app: coredns
+  name: coredns
+spec:
+  jobLabel: k8s-app
+  selector:
+    matchLabels:
+      k8s-app: coredns
+      component: metrics
+  namespaceSelector:
+    matchNames:
+      - kube-system
+  endpoints:
+  - port: http-metrics
+    interval: 15s
+    bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
-- 
GitLab