kube-prometheus: extract ServiceMonitors into single files
Starting with Kubernetes 1.6 `kubectl apply` works for TPRs so we can start using it, therefore using multiple files is no issue.
This commit is contained in:
@@ -26,20 +26,6 @@ echo "done!"
|
|||||||
kctl apply -f manifests/exporters
|
kctl apply -f manifests/exporters
|
||||||
kctl apply -f manifests/grafana/grafana-credentials.yaml
|
kctl apply -f manifests/grafana/grafana-credentials.yaml
|
||||||
kctl apply -f manifests/grafana
|
kctl apply -f manifests/grafana
|
||||||
|
kctl apply -f manifests/prometheus/
|
||||||
kctl apply -f manifests/prometheus/prometheus-k8s-rules.yaml
|
kctl apply -f manifests/alertmanager/
|
||||||
kctl apply -f manifests/prometheus/prometheus-k8s-service.yaml
|
|
||||||
kctl apply -f manifests/prometheus/prometheus-cluster-role-binding.yaml
|
|
||||||
kctl apply -f manifests/prometheus/prometheus-cluster-role.yaml
|
|
||||||
kctl apply -f manifests/prometheus/prometheus-k8s-service-account.yaml
|
|
||||||
|
|
||||||
kctl apply -f manifests/alertmanager/alertmanager-config.yaml
|
|
||||||
kctl apply -f manifests/alertmanager/alertmanager-service.yaml
|
|
||||||
|
|
||||||
# `kubectl apply` is currently not working for third party resources so we are
|
|
||||||
# using `kubectl create` here for the time being.
|
|
||||||
# (https://github.com/kubernetes/kubernetes/issues/29542)
|
|
||||||
kctl create -f manifests/prometheus/prometheus-k8s-servicemonitors.yaml
|
|
||||||
kctl create -f manifests/prometheus/prometheus-k8s.yaml
|
|
||||||
kctl create -f manifests/alertmanager/alertmanager.yaml
|
|
||||||
|
|
||||||
|
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: monitoring.coreos.com/v1alpha1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
alertmanager: main
|
||||||
|
name: alertmanager
|
||||||
|
spec:
|
||||||
|
endpoints:
|
||||||
|
- port: web
|
||||||
|
selector:
|
||||||
|
matchExpressions:
|
||||||
|
- {key: alertmanager, operator: In, values: [main]}
|
@@ -0,0 +1,23 @@
|
|||||||
|
apiVersion: monitoring.coreos.com/v1alpha1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: kube-apiserver
|
||||||
|
labels:
|
||||||
|
k8s-apps: https
|
||||||
|
spec:
|
||||||
|
jobLabel: provider
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
component: apiserver
|
||||||
|
provider: kubernetes
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- default
|
||||||
|
endpoints:
|
||||||
|
- port: https
|
||||||
|
interval: 15s
|
||||||
|
scheme: https
|
||||||
|
tlsConfig:
|
||||||
|
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||||
|
serverName: kubernetes
|
||||||
|
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
@@ -0,0 +1,23 @@
|
|||||||
|
apiVersion: monitoring.coreos.com/v1alpha1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: k8s-apps-http
|
||||||
|
namespace: monitoring
|
||||||
|
labels:
|
||||||
|
k8s-apps: http
|
||||||
|
spec:
|
||||||
|
jobLabel: k8s-app
|
||||||
|
selector:
|
||||||
|
matchExpressions:
|
||||||
|
- {key: k8s-app, operator: Exists}
|
||||||
|
- {key: k8s-app, operator: NotIn, values: [kubelet]}
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- kube-system
|
||||||
|
endpoints:
|
||||||
|
- port: http-metrics
|
||||||
|
interval: 15s
|
||||||
|
- port: http-metrics-dnsmasq
|
||||||
|
interval: 15s
|
||||||
|
- port: http-metrics-skydns
|
||||||
|
interval: 15s
|
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: monitoring.coreos.com/v1alpha1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: kube-state-metrics
|
||||||
|
namespace: monitoring
|
||||||
|
labels:
|
||||||
|
k8s-apps: http
|
||||||
|
spec:
|
||||||
|
jobLabel: k8s-app
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
k8s-app: kube-state-metrics
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- monitoring
|
||||||
|
endpoints:
|
||||||
|
- port: http-metrics
|
||||||
|
interval: 15s
|
||||||
|
honorLabels: true
|
@@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: monitoring.coreos.com/v1alpha1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: kubelet
|
||||||
|
labels:
|
||||||
|
k8s-apps: http
|
||||||
|
spec:
|
||||||
|
jobLabel: k8s-app
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
k8s-app: kubelet
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- kube-system
|
||||||
|
endpoints:
|
||||||
|
- port: http-metrics
|
||||||
|
interval: 15s
|
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: monitoring.coreos.com/v1alpha1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: node-exporter
|
||||||
|
namespace: monitoring
|
||||||
|
labels:
|
||||||
|
k8s-apps: http
|
||||||
|
spec:
|
||||||
|
jobLabel: k8s-app
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
k8s-app: node-exporter
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- monitoring
|
||||||
|
endpoints:
|
||||||
|
- port: http-metrics
|
||||||
|
interval: 15s
|
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: monitoring.coreos.com/v1alpha1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: prometheus
|
||||||
|
labels:
|
||||||
|
prometheus: k8s
|
||||||
|
spec:
|
||||||
|
endpoints:
|
||||||
|
- port: web
|
||||||
|
selector:
|
||||||
|
matchExpressions:
|
||||||
|
- {key: prometheus, operator: In, values: [k8s]}
|
@@ -1,72 +0,0 @@
|
|||||||
apiVersion: monitoring.coreos.com/v1alpha1
|
|
||||||
kind: ServiceMonitor
|
|
||||||
metadata:
|
|
||||||
name: kube-apiserver
|
|
||||||
labels:
|
|
||||||
k8s-apps: https
|
|
||||||
spec:
|
|
||||||
jobLabel: provider
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
component: apiserver
|
|
||||||
provider: kubernetes
|
|
||||||
namespaceSelector:
|
|
||||||
matchNames:
|
|
||||||
- default
|
|
||||||
endpoints:
|
|
||||||
- port: https
|
|
||||||
interval: 15s
|
|
||||||
scheme: https
|
|
||||||
tlsConfig:
|
|
||||||
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
|
||||||
serverName: kubernetes
|
|
||||||
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
|
||||||
---
|
|
||||||
apiVersion: monitoring.coreos.com/v1alpha1
|
|
||||||
kind: ServiceMonitor
|
|
||||||
metadata:
|
|
||||||
name: k8s-apps-http
|
|
||||||
labels:
|
|
||||||
k8s-apps: http
|
|
||||||
spec:
|
|
||||||
jobLabel: k8s-app
|
|
||||||
selector:
|
|
||||||
matchExpressions:
|
|
||||||
- {key: k8s-app, operator: Exists}
|
|
||||||
namespaceSelector:
|
|
||||||
matchNames:
|
|
||||||
- kube-system
|
|
||||||
- monitoring
|
|
||||||
endpoints:
|
|
||||||
- port: http-metrics
|
|
||||||
interval: 15s
|
|
||||||
- port: http-metrics-dnsmasq
|
|
||||||
interval: 15s
|
|
||||||
- port: http-metrics-skydns
|
|
||||||
interval: 15s
|
|
||||||
---
|
|
||||||
apiVersion: monitoring.coreos.com/v1alpha1
|
|
||||||
kind: ServiceMonitor
|
|
||||||
metadata:
|
|
||||||
name: prometheus
|
|
||||||
labels:
|
|
||||||
prometheus: k8s
|
|
||||||
spec:
|
|
||||||
endpoints:
|
|
||||||
- port: web
|
|
||||||
selector:
|
|
||||||
matchExpressions:
|
|
||||||
- {key: prometheus, operator: In, values: [k8s]}
|
|
||||||
---
|
|
||||||
apiVersion: monitoring.coreos.com/v1alpha1
|
|
||||||
kind: ServiceMonitor
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
alertmanager: main
|
|
||||||
name: alertmanager
|
|
||||||
spec:
|
|
||||||
endpoints:
|
|
||||||
- port: web
|
|
||||||
selector:
|
|
||||||
matchExpressions:
|
|
||||||
- {key: alertmanager, operator: In, values: [main]}
|
|
Reference in New Issue
Block a user