diff --git a/manifests/k8s/kube-controller-manager-bootkube-vagrant-multi.yaml b/manifests/k8s/kube-controller-manager-bootkube-vagrant-multi.yaml new file mode 100644 index 0000000000000000000000000000000000000000..316076f394802778c2dd3001fd93769b92717f0b --- /dev/null +++ b/manifests/k8s/kube-controller-manager-bootkube-vagrant-multi.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: kube-controller-manager-prometheus-discovery + labels: + k8s-app: kube-controller-manager + annotations: + prometheus.io/scrape: 'true' +spec: + selector: + k8s-app: kube-controller-manager + type: ClusterIP + clusterIP: None + ports: + - name: prometheus + port: 10252 + targetPort: 10252 + protocol: TCP diff --git a/manifests/k8s/kube-dns-prom-bootkube-vagrant-multi.yaml b/manifests/k8s/kube-dns-prom-bootkube-vagrant-multi.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ec949c99745b0624b3a2b09f9003076767fb5e97 --- /dev/null +++ b/manifests/k8s/kube-dns-prom-bootkube-vagrant-multi.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: kube-dns-prometheus-discovery + labels: + k8s-app: kube-dns + annotations: + prometheus.io/scrape: 'true' +spec: + selector: + k8s-app: kube-dns + type: ClusterIP + clusterIP: None + ports: + - name: prometheus + port: 8082 + targetPort: 8082 + protocol: TCP diff --git a/manifests/k8s/kube-scheduler-bootkube-vagrant-multi.yaml b/manifests/k8s/kube-scheduler-bootkube-vagrant-multi.yaml new file mode 100644 index 0000000000000000000000000000000000000000..67360ec248b7e19a8d2908e928df329b3f011e4e --- /dev/null +++ b/manifests/k8s/kube-scheduler-bootkube-vagrant-multi.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: kube-scheduler-prometheus-discovery + labels: + k8s-app: kube-scheduler + annotations: + prometheus.io/scrape: 'true' +spec: + selector: + k8s-app: kube-scheduler + type: ClusterIP + clusterIP: None + ports: + - name: prometheus + port: 10251 + targetPort: 10251 + protocol: TCP diff --git a/manifests/prometheus/prometheus-k8s-cm.yaml b/manifests/prometheus/prometheus-k8s-cm.yaml index 0a9fc30ed3b7cb70d9f5c5828a2cad2f959e5dff..73389f517a46e2596ae168bb7752874a2dac4268 100644 --- a/manifests/prometheus/prometheus-k8s-cm.yaml +++ b/manifests/prometheus/prometheus-k8s-cm.yaml @@ -50,3 +50,27 @@ data: regex: kubernetes target_label: __scheme__ replacement: https + + # Scrapes the endpoint lists for the kube-dns server. Which we consider + # part of a default setup. + - job_name: kube-components + scrape_interval: 20s + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + + kubernetes_sd_configs: + - role: endpoints + + relabel_configs: + - action: replace + source_labels: [__meta_kubernetes_service_name] + target_label: job + regex: "kube-(.*)-prometheus-discovery" + replacement: "kube-${1}" + - action: keep + source_labels: [__meta_kubernetes_service_name] + regex: "kube-(.*)-prometheus-discovery" + - action: keep + source_labels: [__meta_kubernetes_endpoint_port_name] + regex: "prometheus"