From b5986f15d91b233835adbc6a74a10b3c49d63ac9 Mon Sep 17 00:00:00 2001 From: falsfour Date: Tue, 11 Nov 2025 22:20:55 +0100 Subject: [PATCH] adding prometheus, grafana --- apps/grafana/grafana.yaml | 47 +++++++++++++++++++++++++++ apps/grafana/pvc.yaml | 10 ++++++ apps/prometheus/configmap.yaml | 14 ++++++++ apps/prometheus/prometheus.yaml | 57 +++++++++++++++++++++++++++++++++ apps/prometheus/pvc.yaml | 10 ++++++ 5 files changed, 138 insertions(+) create mode 100644 apps/grafana/grafana.yaml create mode 100644 apps/grafana/pvc.yaml create mode 100644 apps/prometheus/configmap.yaml create mode 100644 apps/prometheus/prometheus.yaml create mode 100644 apps/prometheus/pvc.yaml diff --git a/apps/grafana/grafana.yaml b/apps/grafana/grafana.yaml new file mode 100644 index 0000000..05017b8 --- /dev/null +++ b/apps/grafana/grafana.yaml @@ -0,0 +1,47 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: grafana +spec: + replicas: 1 + selector: + matchLabels: + app: grafana + template: + metadata: + labels: + app: grafana + spec: + containers: + - name: grafana + image: grafana/grafana:10.4.1 + ports: + - containerPort: 3000 + volumeMounts: + - name: grafana-data + mountPath: /var/lib/grafana + resources: + requests: + memory: "256Mi" + cpu: "200m" + limits: + memory: "512Mi" + cpu: "500m" + volumes: + - name: grafana-data + persistentVolumeClaim: + claimName: grafana-data-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: grafana +spec: + type: NodePort + selector: + app: grafana + ports: + - name: http + port: 3000 + targetPort: 3000 + nodePort: 30450 diff --git a/apps/grafana/pvc.yaml b/apps/grafana/pvc.yaml new file mode 100644 index 0000000..af8db37 --- /dev/null +++ b/apps/grafana/pvc.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: grafana-data-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi diff --git a/apps/prometheus/configmap.yaml b/apps/prometheus/configmap.yaml new file mode 100644 index 0000000..e3179c0 --- /dev/null +++ b/apps/prometheus/configmap.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: prometheus-config +data: + prometheus.yml: | + global: + scrape_interval: 1m + evaluation_interval: 1m + scrape_configs: + - job_name: prometheus + static_configs: + - targets: + - localhost:9090 diff --git a/apps/prometheus/prometheus.yaml b/apps/prometheus/prometheus.yaml new file mode 100644 index 0000000..7ef9ae0 --- /dev/null +++ b/apps/prometheus/prometheus.yaml @@ -0,0 +1,57 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: prometheus +spec: + replicas: 1 + selector: + matchLabels: + app: prometheus + template: + metadata: + labels: + app: prometheus + spec: + containers: + - name: prometheus + image: prom/prometheus:v2.52.0 + args: + - --config.file=/etc/prometheus/prometheus.yml + - --storage.tsdb.path=/prometheus + - --storage.tsdb.retention.time=7d + - --web.enable-lifecycle + ports: + - containerPort: 9090 + volumeMounts: + - name: prometheus-config + mountPath: /etc/prometheus + - name: prometheus-data + mountPath: /prometheus + resources: + requests: + memory: "256Mi" + cpu: "200m" + limits: + memory: "1Gi" + cpu: "500m" + volumes: + - name: prometheus-config + configMap: + name: prometheus-config + - name: prometheus-data + persistentVolumeClaim: + claimName: prometheus-data-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: prometheus +spec: + type: NodePort + selector: + app: prometheus + ports: + - name: http + port: 9090 + targetPort: 9090 + nodePort: 30390 diff --git a/apps/prometheus/pvc.yaml b/apps/prometheus/pvc.yaml new file mode 100644 index 0000000..a57d9cd --- /dev/null +++ b/apps/prometheus/pvc.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: prometheus-data-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi