Merge pull request #25 from brancz/cleanup
*: cleanup and unify minikube and self-hosted discovery
This commit is contained in:
@@ -53,15 +53,10 @@ scrape_configs:
|
|||||||
relabel_configs:
|
relabel_configs:
|
||||||
- action: keep
|
- action: keep
|
||||||
source_labels: [__meta_kubernetes_service_name]
|
source_labels: [__meta_kubernetes_service_name]
|
||||||
regex: prometheus|kubernetes|node-exporter|kube-state-metrics|etcd-k8s
|
regex: prometheus|node-exporter|kube-state-metrics
|
||||||
- action: replace
|
- action: replace
|
||||||
source_labels: [__meta_kubernetes_service_name]
|
source_labels: [__meta_kubernetes_service_name]
|
||||||
target_label: job
|
target_label: job
|
||||||
- action: replace
|
|
||||||
source_labels: [__meta_kubernetes_service_name]
|
|
||||||
regex: kubernetes
|
|
||||||
target_label: __scheme__
|
|
||||||
replacement: https
|
|
||||||
|
|
||||||
# Scrapes the endpoint lists for the kube-dns server. Which we consider
|
# Scrapes the endpoint lists for the kube-dns server. Which we consider
|
||||||
# part of a default setup.
|
# part of a default setup.
|
||||||
@@ -75,13 +70,16 @@ scrape_configs:
|
|||||||
|
|
||||||
relabel_configs:
|
relabel_configs:
|
||||||
- action: replace
|
- action: replace
|
||||||
source_labels: [__meta_kubernetes_service_name]
|
source_labels: [__meta_kubernetes_service_label_k8s_app]
|
||||||
target_label: job
|
target_label: job
|
||||||
regex: "kube-(.*)-prometheus-discovery"
|
|
||||||
replacement: "kube-${1}"
|
|
||||||
- action: keep
|
- action: keep
|
||||||
source_labels: [__meta_kubernetes_service_name]
|
source_labels: [__meta_kubernetes_service_name]
|
||||||
regex: "kube-(.*)-prometheus-discovery"
|
regex: ".*-prometheus-discovery"
|
||||||
- action: keep
|
- action: keep
|
||||||
source_labels: [__meta_kubernetes_endpoint_port_name]
|
source_labels: [__meta_kubernetes_endpoint_port_name]
|
||||||
regex: "prometheus.*"
|
regex: "http-metrics.*|https-metrics.*"
|
||||||
|
- action: replace
|
||||||
|
source_labels: [__meta_kubernetes_endpoint_port_name]
|
||||||
|
regex: "https-metrics.*"
|
||||||
|
target_label: __scheme__
|
||||||
|
replacement: https
|
||||||
|
@@ -4,19 +4,24 @@ if [ -z "${KUBECONFIG}" ]; then
|
|||||||
KUBECONFIG=~/.kube/config
|
KUBECONFIG=~/.kube/config
|
||||||
fi
|
fi
|
||||||
|
|
||||||
kubectl --kubeconfig="$KUBECONFIG" create namespace monitoring
|
if [ -z "${NAMESPACE}" ]; then
|
||||||
|
NAMESPACE=monitoring
|
||||||
|
fi
|
||||||
|
|
||||||
|
kubectl --kubeconfig="$KUBECONFIG" create namespace "$NAMESPACE"
|
||||||
|
|
||||||
kctl() {
|
kctl() {
|
||||||
kubectl --kubeconfig="$KUBECONFIG" -n "monitoring" "$@"
|
kubectl --kubeconfig="$KUBECONFIG" -n "$NAMESPACE" "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
kctl apply -f manifests/prometheus-operator.yaml
|
kctl create -f manifests/prometheus-operator.yaml
|
||||||
|
|
||||||
# Wait for TPRs to be ready.
|
# Wait for TPRs to be ready.
|
||||||
until kctl get servicemonitor; do sleep 1; done
|
until kctl get servicemonitor; do sleep 1; done
|
||||||
until kctl get prometheus; do sleep 1; done
|
until kctl get prometheus; do sleep 1; done
|
||||||
|
until kctl get alertmanager; do sleep 1; done
|
||||||
|
|
||||||
kctl apply -f manifests/exporters
|
kctl create -f manifests/exporters
|
||||||
kctl apply -f manifests/grafana
|
kctl create -f manifests/grafana
|
||||||
kctl apply -f manifests/prometheus
|
kctl create -f manifests/prometheus
|
||||||
kctl apply -f manifests/alertmanager
|
kctl create -f manifests/alertmanager
|
||||||
|
@@ -4,8 +4,12 @@ if [ -z "${KUBECONFIG}" ]; then
|
|||||||
KUBECONFIG=~/.kube/config
|
KUBECONFIG=~/.kube/config
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z "${NAMESPACE}" ]; then
|
||||||
|
NAMESPACE=monitoring
|
||||||
|
fi
|
||||||
|
|
||||||
kctl() {
|
kctl() {
|
||||||
kubectl --kubeconfig="$KUBECONFIG" -n "monitoring" "$@"
|
kubectl --kubeconfig="$KUBECONFIG" -n "$NAMESPACE" "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
kctl delete -f manifests/exporters
|
kctl delete -f manifests/exporters
|
||||||
|
@@ -3,8 +3,7 @@ kind: Service
|
|||||||
metadata:
|
metadata:
|
||||||
name: etcd-k8s
|
name: etcd-k8s
|
||||||
labels:
|
labels:
|
||||||
app: etcd
|
k8s-app: etcd
|
||||||
etcd: k8s
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
clusterIP: None
|
clusterIP: None
|
||||||
@@ -18,8 +17,7 @@ kind: Endpoints
|
|||||||
metadata:
|
metadata:
|
||||||
name: etcd-k8s
|
name: etcd-k8s
|
||||||
labels:
|
labels:
|
||||||
app: etcd
|
k8s-app: etcd
|
||||||
etcd: k8s
|
|
||||||
subsets:
|
subsets:
|
||||||
- addresses:
|
- addresses:
|
||||||
- ip: 10.142.0.2
|
- ip: 10.142.0.2
|
||||||
|
@@ -3,8 +3,7 @@ kind: Service
|
|||||||
metadata:
|
metadata:
|
||||||
name: etcd-k8s
|
name: etcd-k8s
|
||||||
labels:
|
labels:
|
||||||
app: etcd
|
k8s-app: etcd
|
||||||
etcd: k8s
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
clusterIP: None
|
clusterIP: None
|
||||||
@@ -18,8 +17,7 @@ kind: Endpoints
|
|||||||
metadata:
|
metadata:
|
||||||
name: etcd-k8s
|
name: etcd-k8s
|
||||||
labels:
|
labels:
|
||||||
app: etcd
|
k8s-app: etcd
|
||||||
etcd: k8s
|
|
||||||
subsets:
|
subsets:
|
||||||
- addresses:
|
- addresses:
|
||||||
- ip: 172.17.4.51
|
- ip: 172.17.4.51
|
||||||
|
27
manifests/k8s/minikube/kube-apiserver.yaml
Normal file
27
manifests/k8s/minikube/kube-apiserver.yaml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: kube-apiserver-prometheus-discovery
|
||||||
|
labels:
|
||||||
|
k8s-app: kubernetes
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
clusterIP: None
|
||||||
|
ports:
|
||||||
|
- name: https-metrics
|
||||||
|
port: 8443
|
||||||
|
protocol: TCP
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: kube-apiserver-prometheus-discovery
|
||||||
|
labels:
|
||||||
|
k8s-app: kubernetes
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.99.100
|
||||||
|
ports:
|
||||||
|
- name: https-metrics
|
||||||
|
port: 8443
|
||||||
|
protocol: TCP
|
28
manifests/k8s/minikube/kube-controller-manager.yaml
Normal file
28
manifests/k8s/minikube/kube-controller-manager.yaml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: kube-controller-manager-prometheus-discovery
|
||||||
|
labels:
|
||||||
|
k8s-app: kube-controller-manager
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
clusterIP: None
|
||||||
|
ports:
|
||||||
|
- name: http-metrics
|
||||||
|
port: 10252
|
||||||
|
targetPort: 10252
|
||||||
|
protocol: TCP
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: kube-controller-manager-prometheus-discovery
|
||||||
|
labels:
|
||||||
|
k8s-app: kube-controller-manager
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.99.100
|
||||||
|
ports:
|
||||||
|
- name: http-metrics
|
||||||
|
port: 10252
|
||||||
|
protocol: TCP
|
28
manifests/k8s/minikube/kube-scheduler.yaml
Normal file
28
manifests/k8s/minikube/kube-scheduler.yaml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: kube-scheduler-prometheus-discovery
|
||||||
|
labels:
|
||||||
|
k8s-app: kube-scheduler
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
clusterIP: None
|
||||||
|
ports:
|
||||||
|
- name: http-metrics
|
||||||
|
port: 10251
|
||||||
|
targetPort: 10251
|
||||||
|
protocol: TCP
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: kube-scheduler-prometheus-discovery
|
||||||
|
labels:
|
||||||
|
k8s-app: kube-scheduler
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.99.100
|
||||||
|
ports:
|
||||||
|
- name: http-metrics
|
||||||
|
port: 10251
|
||||||
|
protocol: TCP
|
16
manifests/k8s/self-hosted/kube-apiserver.yaml
Normal file
16
manifests/k8s/self-hosted/kube-apiserver.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: kube-apiserver-prometheus-discovery
|
||||||
|
labels:
|
||||||
|
k8s-app: kubernetes
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
k8s-app: kube-apiserver
|
||||||
|
type: ClusterIP
|
||||||
|
clusterIP: None
|
||||||
|
ports:
|
||||||
|
- name: https-metrics
|
||||||
|
port: 443
|
||||||
|
targetPort: 443
|
||||||
|
protocol: TCP
|
@@ -10,7 +10,7 @@ spec:
|
|||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
clusterIP: None
|
clusterIP: None
|
||||||
ports:
|
ports:
|
||||||
- name: prometheus
|
- name: http-metrics
|
||||||
port: 10252
|
port: 10252
|
||||||
targetPort: 10252
|
targetPort: 10252
|
||||||
protocol: TCP
|
protocol: TCP
|
@@ -10,11 +10,11 @@ spec:
|
|||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
clusterIP: None
|
clusterIP: None
|
||||||
ports:
|
ports:
|
||||||
- name: prometheus-skydns
|
- name: http-metrics-skydns
|
||||||
port: 10055
|
port: 10055
|
||||||
targetPort: 10055
|
targetPort: 10055
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
- name: prometheus-dnsmasq
|
- name: http-metrics-dnsmasq
|
||||||
port: 10054
|
port: 10054
|
||||||
targetPort: 10054
|
targetPort: 10054
|
||||||
protocol: TCP
|
protocol: TCP
|
@@ -10,7 +10,7 @@ spec:
|
|||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
clusterIP: None
|
clusterIP: None
|
||||||
ports:
|
ports:
|
||||||
- name: prometheus
|
- name: http-metrics
|
||||||
port: 10251
|
port: 10251
|
||||||
targetPort: 10251
|
targetPort: 10251
|
||||||
protocol: TCP
|
protocol: TCP
|
@@ -13,7 +13,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: prometheus-operator
|
- name: prometheus-operator
|
||||||
image: quay.io/coreos/prometheus-operator:v0.1.0
|
image: quay.io/coreos/prometheus-operator:v0.2.1
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 100m
|
cpu: 100m
|
||||||
|
@@ -56,15 +56,10 @@ data:
|
|||||||
relabel_configs:
|
relabel_configs:
|
||||||
- action: keep
|
- action: keep
|
||||||
source_labels: [__meta_kubernetes_service_name]
|
source_labels: [__meta_kubernetes_service_name]
|
||||||
regex: prometheus|kubernetes|node-exporter|kube-state-metrics|etcd-k8s
|
regex: prometheus|node-exporter|kube-state-metrics
|
||||||
- action: replace
|
- action: replace
|
||||||
source_labels: [__meta_kubernetes_service_name]
|
source_labels: [__meta_kubernetes_service_name]
|
||||||
target_label: job
|
target_label: job
|
||||||
- action: replace
|
|
||||||
source_labels: [__meta_kubernetes_service_name]
|
|
||||||
regex: kubernetes
|
|
||||||
target_label: __scheme__
|
|
||||||
replacement: https
|
|
||||||
|
|
||||||
# Scrapes the endpoint lists for the kube-dns server. Which we consider
|
# Scrapes the endpoint lists for the kube-dns server. Which we consider
|
||||||
# part of a default setup.
|
# part of a default setup.
|
||||||
@@ -78,16 +73,19 @@ data:
|
|||||||
|
|
||||||
relabel_configs:
|
relabel_configs:
|
||||||
- action: replace
|
- action: replace
|
||||||
source_labels: [__meta_kubernetes_service_name]
|
source_labels: [__meta_kubernetes_service_label_k8s_app]
|
||||||
target_label: job
|
target_label: job
|
||||||
regex: "kube-(.*)-prometheus-discovery"
|
|
||||||
replacement: "kube-${1}"
|
|
||||||
- action: keep
|
- action: keep
|
||||||
source_labels: [__meta_kubernetes_service_name]
|
source_labels: [__meta_kubernetes_service_name]
|
||||||
regex: "kube-(.*)-prometheus-discovery"
|
regex: ".*-prometheus-discovery"
|
||||||
- action: keep
|
- action: keep
|
||||||
source_labels: [__meta_kubernetes_endpoint_port_name]
|
source_labels: [__meta_kubernetes_endpoint_port_name]
|
||||||
regex: "prometheus.*"
|
regex: "http-metrics.*|https-metrics.*"
|
||||||
|
- action: replace
|
||||||
|
source_labels: [__meta_kubernetes_endpoint_port_name]
|
||||||
|
regex: "https-metrics.*"
|
||||||
|
target_label: __scheme__
|
||||||
|
replacement: https
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
|
Reference in New Issue
Block a user