theshire/kubernetes/apps/observability/kube-prometheus-stack/app/helmrelease.yaml

146 lines
3.6 KiB
YAML

---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: kube-prometheus-stack
spec:
interval: 30m
timeout: 15m
chart:
spec:
chart: kube-prometheus-stack
version: 63.1.0
sourceRef:
kind: HelmRepository
name: prometheus-community
namespace: flux-system
interval: 30m
install:
crds: Skip
upgrade:
crds: Skip
values:
crds:
enabled: false
cleanPrometheusOperatorObjectNames: true
###
### Component values
###
alertmanager:
enabled: false
kubeApiServer:
enabled: true
serviceMonitor:
metricRelabelings:
# Drop high cardinality labels
- action: drop
sourceLabels: ["__name__"]
regex: (apiserver|etcd|rest_client)_request(|_sli|_slo)_duration_seconds_bucket
- action: drop
sourceLabels: ["__name__"]
regex: (apiserver_response_sizes_bucket|apiserver_watch_events_sizes_bucket)
kubeControllerManager:
enabled: false
kubeEtcd:
enabled: false
kubelet:
enabled: true
serviceMonitor:
metricRelabelings:
# Drop high cardinality labels
- action: labeldrop
regex: (uid)
- action: labeldrop
regex: (id|name)
- action: drop
sourceLabels: ["__name__"]
regex: (rest_client_request_duration_seconds_bucket|rest_client_request_duration_seconds_sum|rest_client_request_duration_seconds_count)
kubeProxy:
enabled: false
kubeScheduler:
enabled: false
kubeStateMetrics:
enabled: false
nodeExporter:
enabled: false
grafana:
enabled: false
forceDeployDashboards: true
sidecar:
dashboards:
annotations:
grafana_folder: Kubernetes
###
### Prometheus operator values
###
prometheusOperator:
resources:
requests:
cpu: 35m
memory: 273M
limits:
memory: 326M
prometheusConfigReloader:
# resource config for prometheusConfigReloader
resources:
requests:
cpu: 5m
memory: 32M
limits:
memory: 32M
###
### Prometheus instance values
###
prometheus:
ingress:
enabled: true
ingressClassName: internal-nginx
annotations:
external-dns.alpha.kubernetes.io/target: internal.jahanson.tech
hosts:
- prometheus.jahanson.tech
pathType: Prefix
prometheusSpec:
enableAdminAPI: true
enableFeatures:
- auto-gomaxprocs
- memory-snapshot-on-shutdown
- new-service-discovery-manager
podMonitorSelectorNilUsesHelmValues: false
probeSelectorNilUsesHelmValues: false
replicas: 1
replicaExternalLabelName: "__replica__" # must match with thanos value `.query.replicaLabel[0]`
resources:
requests:
cpu: 100m
limits:
memory: 1500M
retention: 14d
retentionSize: 50GB
ruleSelectorNilUsesHelmValues: false
scrapeConfigSelectorNilUsesHelmValues: false
scrapeInterval: 1m # Must match interval in Grafana Helm chart
serviceMonitorSelectorNilUsesHelmValues: false
storageSpec:
volumeClaimTemplate:
spec:
storageClassName: ceph-block
resources:
requests:
storage: 55Gi
walCompression: true