Skip to content
Snippets Groups Projects
Commit e1625fec authored by Fabian Reinartz's avatar Fabian Reinartz
Browse files

Manifests for Kubernetes Prometheus

The Prometheus server monitoring Kubernetes should be default cover:
- node exporter
- kubelets
- kube-state-metrics
- apiservers

The version in this commit still has certificate issues with the API
server in minikube. Kubelet scraping likely only works in minikube as it
doesn't seem to use https.
parent d3dab8ef
No related branches found
No related tags found
No related merge requests found
apiVersion: v1
kind: ConfigMap
metadata:
name: prometheus-k8s
data:
prometheus.yaml: |
global:
evaluation_interval: 30s
# Add your etcd scrape config here. We cannot default here as etcd is a
# prerequisite for Kubernetes.
# TODO(fabxc): potentially make this configurable via KPM in the future.
scrape_configs:
- job_name: kubelets
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: node
relabel_configs:
- source_labels: [__address__]
regex: (.*):10250
replacement: ${1}:10255
target_label: __address__
# Scrapes the endpoint lists for the Kubernetes API server, kube-state-metrics,
# and node-exporter, which we all consider part of a default setup.
- job_name: standard-endpoints
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: keep
source_labels: [__meta_kubernetes_service_name]
regex: kubernetes|node-exporter|kube-state-metrics
- action: replace
source_labels: [__meta_kubernetes_namespace]
target_label: namespace
- action: replace
source_labels: [__meta_kubernetes_service_name]
target_label: job
- action: replace
source_labels: [__meta_kubernetes_service_name]
regex: kubernetes
target_label: __scheme__
replacement: https
apiVersion: v1
kind: Service
metadata:
name: prometheus-k8s
spec:
type: NodePort
ports:
- name: web
nodePort: 30900
port: 9090
protocol: TCP
targetPort: web
selector:
prometheus.coreos.com: prometheus-k8s
apiVersion: prometheus.coreos.com/v1alpha1
kind: Prometheus
metadata:
name: prometheus-k8s
labels:
prometheus: k8s
spec: {}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment