Files
cluster-state/infrastructure/prometheus/monitoring-app.yaml
2026-05-01 12:32:26 +02:00

69 lines
1.8 KiB
YAML

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: prometheus-stack
namespace: argocd
spec:
project: default
source:
repoURL: https://prometheus-community.github.io/helm-charts
targetRevision: 61.x.x
chart: kube-prometheus-stack
helm:
values: |
namespaceOverride: "monitoring"
# Gemeinsame Labels für alle Ressourcen
commonLabels:
tier: infra
prometheus:
prometheusSpec:
# Prometheus soll nur auf Nodes mit diesem Label laufen:
securityContext:
runAsUser: 0
runAsGroup: 0
fsGroup: 0
runAsNonRoot: false
nodeSelector:
tier: infra
retention: 7d
storageSpec:
volumeClaimTemplate:
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 10Gi
resources:
requests:
memory: "1Gi"
limits:
memory: "2Gi"
grafana:
# Auch Grafana ziehen wir auf die Infra-Nodes
nodeSelector:
tier: infra
persistence:
enabled: true
size: 2Gi
# Der Node-Exporter läuft weiterhin als DaemonSet ÜBERALL,
# damit er JEDEN RAM im Cluster sieht.
nodeExporter:
enabled: true
operatingSystem: linux
destination:
server: https://kubernetes.default.svc
namespace: monitoring
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
- SkipDryRunOnMissingResource=true # Erlaubt Argo weiterzumachen, auch wenn CRDs noch laden