github.com/inspektor-gadget/inspektor-gadget@v0.28.1/docs/examples/prometheus.yaml (about) 1 # Based on https://github.com/se7entyse7en/prometheus-k8s-service-discovery/tree/master/kubernetes/prometheus 2 3 apiVersion: v1 4 kind: Namespace 5 metadata: 6 name: monitoring 7 --- 8 apiVersion: v1 9 kind: ServiceAccount 10 metadata: 11 namespace: monitoring 12 name: prometheus 13 --- 14 apiVersion: rbac.authorization.k8s.io/v1 15 kind: ClusterRole 16 metadata: 17 name: discoverer 18 rules: 19 - apiGroups: [""] 20 resources: 21 - nodes 22 - services 23 - endpoints 24 - pods 25 verbs: ["get", "list", "watch"] 26 - apiGroups: 27 - extensions 28 resources: 29 - ingresses 30 verbs: ["get", "list", "watch"] 31 --- 32 apiVersion: rbac.authorization.k8s.io/v1 33 kind: ClusterRoleBinding 34 metadata: 35 name: prometheus-discoverer 36 roleRef: 37 apiGroup: rbac.authorization.k8s.io 38 kind: ClusterRole 39 name: discoverer 40 subjects: 41 - kind: ServiceAccount 42 name: prometheus 43 namespace: monitoring 44 --- 45 apiVersion: v1 46 kind: ConfigMap 47 metadata: 48 name: prometheus-server-conf 49 namespace: monitoring 50 labels: 51 name: prometheus-server-conf 52 data: 53 prometheus.yml: |- 54 scrape_configs: 55 - job_name: 'kubernetes-pods' 56 57 scrape_interval: 1s 58 scrape_timeout: 1s 59 60 kubernetes_sd_configs: 61 - role: pod 62 63 relabel_configs: 64 - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] 65 action: keep 66 regex: true 67 - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme] 68 action: replace 69 target_label: __scheme__ 70 regex: (https?) 71 - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path] 72 action: replace 73 target_label: __metrics_path__ 74 regex: (.+) 75 - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] 76 action: replace 77 target_label: __address__ 78 regex: ([^:]+)(?::\d+)?;(\d+) 79 replacement: $1:$2 80 --- 81 apiVersion: apps/v1 82 kind: Deployment 83 metadata: 84 name: prometheus 85 namespace: monitoring 86 labels: 87 app: prometheus 88 spec: 89 replicas: 1 90 selector: 91 matchLabels: 92 app: prometheus 93 template: 94 metadata: 95 labels: 96 app: prometheus 97 spec: 98 serviceAccountName: prometheus 99 containers: 100 - name: prometheus 101 image: prom/prometheus:v2.33.4 102 ports: 103 - containerPort: 9090 104 volumeMounts: 105 - name: config 106 mountPath: /etc/prometheus 107 volumes: 108 - name: config 109 configMap: 110 name: prometheus-server-conf