219 lines
5.0 KiB
YAML
219 lines
5.0 KiB
YAML
# These values configure the Grafana Mimir or Grafana Enterprise Metrics cluster
|
|
# for a more production-ready setup. The setup targets 70% CPU and memory utilization
|
|
# so that the cluster has room to grow. The resource requests and limits reflect 100% utilization.
|
|
# This is useful when you want to strictly control costs when purchasing GEM through a marketplace subscription for example.
|
|
# limits==requests also ensure a "Guaranteed" QoS: https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/.
|
|
# Note that setting CPU limits has some known issues:
|
|
# https://engineering.indeedblog.com/blog/2019/12/unthrottled-fixing-cpu-limits-in-the-cloud/.
|
|
#
|
|
# These values are suitable for ingestion of ~10M series and scrape interval of 15s.
|
|
# This implies ingestion rate of around 660000 samples per second.
|
|
#
|
|
# Query requirements can vary dramatically depending on query rate and query
|
|
# ranges. The values here satisfy a "usual" query load of around 50 queries per second
|
|
# as seen from our production clusters at this scale.
|
|
#
|
|
# The values in this file also add podAntiAffinity rules for ingesters and store-gateways.
|
|
# The rules ensure that the replicas of the same component are not scheduled on the same
|
|
# Kubernetes Node. Zone-aware replication is enabled by default on new installation.
|
|
# Refer to [Migrate from single zone to zone-aware replication with Helm](https://grafana.com/docs/mimir/latest/migration-guide/migrating-from-single-zone-with-helm) and
|
|
# [Zone-Aware Replication](https://grafana.com/docs/mimir/latest/configure/configure-zone-aware-replication/)
|
|
# for more information.
|
|
#
|
|
# MinIO is no longer enabled, and you are encouraged to use your cloud providers
|
|
# object storage service such as S3 or GCS.
|
|
|
|
alertmanager:
|
|
persistentVolume:
|
|
enabled: true
|
|
replicas: 3
|
|
resources:
|
|
limits:
|
|
cpu: 1.4
|
|
memory: 1.4Gi
|
|
requests:
|
|
cpu: 1.4
|
|
memory: 1.4Gi
|
|
statefulSet:
|
|
enabled: true
|
|
|
|
compactor:
|
|
persistentVolume:
|
|
size: 50Gi
|
|
resources:
|
|
limits:
|
|
cpu: 1.4
|
|
memory: 2.8Gi
|
|
requests:
|
|
cpu: 1.4
|
|
memory: 2.8Gi
|
|
|
|
distributor:
|
|
replicas: 12
|
|
resources:
|
|
limits:
|
|
cpu: 2.8
|
|
memory: 5.7Gi
|
|
requests:
|
|
cpu: 2.8
|
|
memory: 5.7Gi
|
|
|
|
ingester:
|
|
persistentVolume:
|
|
size: 50Gi
|
|
replicas: 27
|
|
resources:
|
|
limits:
|
|
cpu: 5
|
|
memory: 12Gi
|
|
requests:
|
|
cpu: 5
|
|
memory: 12Gi
|
|
topologySpreadConstraints: {}
|
|
affinity:
|
|
podAntiAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
- labelSelector:
|
|
matchExpressions:
|
|
- key: target # support for enterprise.legacyLabels
|
|
operator: In
|
|
values:
|
|
- ingester
|
|
topologyKey: 'kubernetes.io/hostname'
|
|
|
|
- labelSelector:
|
|
matchExpressions:
|
|
- key: app.kubernetes.io/component
|
|
operator: In
|
|
values:
|
|
- ingester
|
|
topologyKey: 'kubernetes.io/hostname'
|
|
zoneAwareReplication:
|
|
topologyKey: 'kubernetes.io/hostname'
|
|
|
|
admin-cache:
|
|
enabled: true
|
|
replicas: 2
|
|
|
|
chunks-cache:
|
|
enabled: true
|
|
replicas: 32
|
|
|
|
index-cache:
|
|
enabled: true
|
|
replicas: 10
|
|
|
|
metadata-cache:
|
|
enabled: true
|
|
|
|
results-cache:
|
|
enabled: true
|
|
replicas: 4
|
|
|
|
minio:
|
|
enabled: false
|
|
|
|
overrides_exporter:
|
|
replicas: 1
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
|
|
querier:
|
|
replicas: 4
|
|
resources:
|
|
limits:
|
|
cpu: 2.8
|
|
memory: 8.5Gi
|
|
requests:
|
|
cpu: 2.8
|
|
memory: 8.5Gi
|
|
|
|
query_frontend:
|
|
replicas: 3
|
|
resources:
|
|
limits:
|
|
cpu: 2.8
|
|
memory: 2.8Gi
|
|
requests:
|
|
cpu: 2.8
|
|
memory: 2.8Gi
|
|
|
|
ruler:
|
|
replicas: 3
|
|
resources:
|
|
limits:
|
|
cpu: 1.4
|
|
memory: 5.7Gi
|
|
requests:
|
|
cpu: 1.4
|
|
memory: 5.7Gi
|
|
|
|
store_gateway:
|
|
persistentVolume:
|
|
size: 50Gi
|
|
replicas: 6
|
|
resources:
|
|
limits:
|
|
cpu: 1.4
|
|
memory: 8.5Gi
|
|
requests:
|
|
cpu: 1.4
|
|
memory: 8.5Gi
|
|
topologySpreadConstraints: {}
|
|
affinity:
|
|
podAntiAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
- labelSelector:
|
|
matchExpressions:
|
|
- key: target # support for enterprise.legacyLabels
|
|
operator: In
|
|
values:
|
|
- store-gateway
|
|
topologyKey: 'kubernetes.io/hostname'
|
|
|
|
- labelSelector:
|
|
matchExpressions:
|
|
- key: app.kubernetes.io/component
|
|
operator: In
|
|
values:
|
|
- store-gateway
|
|
topologyKey: 'kubernetes.io/hostname'
|
|
zoneAwareReplication:
|
|
topologyKey: 'kubernetes.io/hostname'
|
|
|
|
nginx:
|
|
replicas: 3
|
|
resources:
|
|
limits:
|
|
cpu: 1.4
|
|
memory: 731Mi
|
|
requests:
|
|
cpu: 1.4
|
|
memory: 731Mi
|
|
|
|
# Grafana Enterprise Metrics feature related
|
|
admin_api:
|
|
replicas: 2
|
|
resources:
|
|
limits:
|
|
cpu: 200m
|
|
memory: 128Mi
|
|
requests:
|
|
cpu: 200m
|
|
memory: 128Mi
|
|
|
|
gateway:
|
|
replicas: 3
|
|
resources:
|
|
limits:
|
|
cpu: 1.4
|
|
memory: 731Mi
|
|
requests:
|
|
cpu: 1.4
|
|
memory: 731Mi
|