107 lines
2.9 KiB
YAML
107 lines
2.9 KiB
YAML
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: prometheus
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: prometheus
|
|
namespace: prometheus
|
|
data:
|
|
prometheus.yml: |-
|
|
scrape_configs:
|
|
- job_name: 'kubernetes-nodes'
|
|
scheme: https
|
|
tls_config:
|
|
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
|
insecure_skip_verify: true
|
|
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
|
|
kubernetes_sd_configs:
|
|
- role: node
|
|
metric_relabel_configs:
|
|
- source_labels: [pod_name]
|
|
target_label: environment
|
|
regex: (.+)-.+-.+
|
|
replacement: $1
|
|
- job_name: kubernetes-pods
|
|
tls_config:
|
|
ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
|
|
insecure_skip_verify: true
|
|
bearer_token_file: "/var/run/secrets/kubernetes.io/serviceaccount/token"
|
|
kubernetes_sd_configs:
|
|
- role: pod
|
|
api_server: https://kubernetes.default.svc:443
|
|
tls_config:
|
|
ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
|
|
bearer_token_file: "/var/run/secrets/kubernetes.io/serviceaccount/token"
|
|
relabel_configs:
|
|
- source_labels:
|
|
- __meta_kubernetes_pod_annotation_prometheus_io_scrape
|
|
action: keep
|
|
regex: 'true'
|
|
- source_labels:
|
|
- __meta_kubernetes_pod_annotation_prometheus_io_path
|
|
action: replace
|
|
target_label: __metrics_path__
|
|
regex: "(.+)"
|
|
- source_labels:
|
|
- __address__
|
|
- __meta_kubernetes_pod_annotation_prometheus_io_port
|
|
action: replace
|
|
regex: "([^:]+)(?::[0-9]+)?;([0-9]+)"
|
|
replacement: "$1:$2"
|
|
target_label: __address__
|
|
- action: labelmap
|
|
regex: __meta_kubernetes_pod_label_(.+)
|
|
- source_labels:
|
|
- __meta_kubernetes_namespace
|
|
action: replace
|
|
target_label: kubernetes_namespace
|
|
- source_labels:
|
|
- __meta_kubernetes_pod_name
|
|
action: replace
|
|
target_label: kubernetes_pod_name
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: prometheus
|
|
namespace: prometheus
|
|
spec:
|
|
selector:
|
|
app: prometheus
|
|
ports:
|
|
- name: prometheus
|
|
protocol: TCP
|
|
port: 9090
|
|
nodePort: 30090
|
|
type: NodePort
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: prometheus
|
|
namespace: prometheus
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: prometheus
|
|
spec:
|
|
containers:
|
|
- name: prometheus
|
|
image: prom/prometheus:latest
|
|
args:
|
|
- '-config.file=/prometheus-data/prometheus.yml'
|
|
ports:
|
|
- name: prometheus
|
|
containerPort: 9090
|
|
volumeMounts:
|
|
- name: data-volume
|
|
mountPath: /prometheus-data
|
|
volumes:
|
|
- name: data-volume
|
|
configMap:
|
|
name: prometheus
|