Merge pull request #25 from brancz/cleanup

*: cleanup and unify minikube and self-hosted discovery
This commit is contained in:
Fabian Reinartz
2016-12-24 10:18:29 +01:00
committed by GitHub
14 changed files with 143 additions and 43 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View 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

View 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

View 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

View 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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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