Skip to content

Commit 1e671c7

Browse files
add prometheus-deployment
1 parent 9c783e4 commit 1e671c7

File tree

6 files changed

+556
-0
lines changed

6 files changed

+556
-0
lines changed
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
name: prometheus-config
5+
namespace: kube-system
6+
data:
7+
prometheus.yml: |
8+
global:
9+
scrape_interval: 15s
10+
evaluation_interval: 15s
11+
scrape_configs:
12+
13+
- job_name: 'kubernetes-apiservers'
14+
kubernetes_sd_configs:
15+
- role: endpoints
16+
scheme: https
17+
tls_config:
18+
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
19+
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
20+
relabel_configs:
21+
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
22+
action: keep
23+
regex: default;kubernetes;https
24+
25+
- job_name: 'kubernetes-nodes'
26+
kubernetes_sd_configs:
27+
- role: node
28+
scheme: https
29+
tls_config:
30+
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
31+
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
32+
relabel_configs:
33+
- action: labelmap
34+
regex: __meta_kubernetes_node_label_(.+)
35+
- target_label: __address__
36+
replacement: kubernetes.default.svc:443
37+
- source_labels: [__meta_kubernetes_node_name]
38+
regex: (.+)
39+
target_label: __metrics_path__
40+
replacement: /api/v1/nodes/${1}/proxy/metrics
41+
42+
- job_name: 'kubernetes-cadvisor'
43+
kubernetes_sd_configs:
44+
- role: node
45+
scheme: https
46+
tls_config:
47+
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
48+
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
49+
relabel_configs:
50+
- action: labelmap
51+
regex: __meta_kubernetes_node_label_(.+)
52+
- target_label: __address__
53+
replacement: kubernetes.default.svc:443
54+
- source_labels: [__meta_kubernetes_node_name]
55+
regex: (.+)
56+
target_label: __metrics_path__
57+
replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor
58+
59+
- job_name: 'kubernetes-service-endpoints'
60+
kubernetes_sd_configs:
61+
- role: endpoints
62+
relabel_configs:
63+
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
64+
action: drop
65+
regex: false
66+
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
67+
action: replace
68+
target_label: __scheme__
69+
regex: (https?)
70+
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
71+
action: replace
72+
target_label: __metrics_path__
73+
regex: (.+)
74+
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
75+
action: replace
76+
target_label: __address__
77+
regex: ([^:]+)(?::\d+)?;(\d+)
78+
replacement: $1:$2
79+
- action: labelmap
80+
regex: __meta_kubernetes_service_label_(.+)
81+
- source_labels: [__meta_kubernetes_namespace]
82+
action: replace
83+
target_label: kubernetes_namespace
84+
- source_labels: [__meta_kubernetes_service_name]
85+
action: replace
86+
target_label: kubernetes_name
87+
88+
- job_name: 'kubernetes-services'
89+
kubernetes_sd_configs:
90+
- role: service
91+
metrics_path: /probe
92+
params:
93+
module: [http_2xx]
94+
relabel_configs:
95+
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe]
96+
action: keep
97+
regex: true
98+
- source_labels: [__address__]
99+
target_label: __param_target
100+
- target_label: __address__
101+
replacement: blackbox-exporter.example.com:9115
102+
- source_labels: [__param_target]
103+
target_label: instance
104+
- action: labelmap
105+
regex: __meta_kubernetes_service_label_(.+)
106+
- source_labels: [__meta_kubernetes_namespace]
107+
target_label: kubernetes_namespace
108+
- source_labels: [__meta_kubernetes_service_name]
109+
target_label: kubernetes_name
110+
111+
- job_name: 'kubernetes-ingresses'
112+
kubernetes_sd_configs:
113+
- role: ingress
114+
relabel_configs:
115+
- source_labels: [__meta_kubernetes_ingress_annotation_prometheus_io_probe]
116+
action: keep
117+
regex: true
118+
- source_labels: [__meta_kubernetes_ingress_scheme,__address__,__meta_kubernetes_ingress_path]
119+
regex: (.+);(.+);(.+)
120+
replacement: ${1}://${2}${3}
121+
target_label: __param_target
122+
- target_label: __address__
123+
replacement: blackbox-exporter.example.com:9115
124+
- source_labels: [__param_target]
125+
target_label: instance
126+
- action: labelmap
127+
regex: __meta_kubernetes_ingress_label_(.+)
128+
- source_labels: [__meta_kubernetes_namespace]
129+
target_label: kubernetes_namespace
130+
- source_labels: [__meta_kubernetes_ingress_name]
131+
target_label: kubernetes_name
132+
133+
- job_name: 'kubernetes-pods'
134+
kubernetes_sd_configs:
135+
- role: pod
136+
relabel_configs:
137+
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
138+
action: keep
139+
regex: true
140+
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
141+
action: replace
142+
target_label: __metrics_path__
143+
regex: (.+)
144+
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
145+
action: replace
146+
regex: ([^:]+)(?::\d+)?;(\d+)
147+
replacement: $1:$2
148+
target_label: __address__
149+
- action: labelmap
150+
regex: __meta_kubernetes_pod_label_(.+)
151+
- source_labels: [__meta_kubernetes_namespace]
152+
action: replace
153+
target_label: kubernetes_namespace
154+
- source_labels: [__meta_kubernetes_pod_name]
155+
action: replace
156+
target_label: kubernetes_pod_name
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: grafana-core
5+
namespace: kube-system
6+
labels:
7+
app: grafana
8+
component: core
9+
spec:
10+
selector:
11+
matchLabels:
12+
app: grafana
13+
component: core
14+
replicas: 1
15+
template:
16+
metadata:
17+
labels:
18+
app: grafana
19+
component: core
20+
spec:
21+
containers:
22+
- image: grafana/grafana:5.0.0
23+
name: grafana-core
24+
imagePullPolicy: IfNotPresent
25+
resources:
26+
limits:
27+
cpu: 100m
28+
memory: 100Mi
29+
requests:
30+
cpu: 100m
31+
memory: 100Mi
32+
env:
33+
- name: GF_AUTH_BASIC_ENABLED
34+
value: "true"
35+
- name: GF_AUTH_ANONYMOUS_ENABLED
36+
value: "false"
37+
readinessProbe:
38+
httpGet:
39+
path: /login
40+
port: 3000
41+
volumeMounts:
42+
- name: grafana-persistent-storage
43+
mountPath: /var
44+
volumes:
45+
- name: grafana-persistent-storage
46+
emptyDir: {}
47+
48+
---
49+
apiVersion: v1
50+
kind: Service
51+
metadata:
52+
name: grafana
53+
namespace: kube-system
54+
labels:
55+
app: grafana
56+
component: core
57+
spec:
58+
type: NodePort
59+
ports:
60+
- port: 3000
61+
nodePort: 31000
62+
selector:
63+
app: grafana

0 commit comments

Comments
 (0)