# 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 reflect 70% utilization # and the limits reflect 100% utilization. The values do not set CPU limits, # because CPU limits have caused severe issues elsewhere, so we don't apply any in our helm chart: # see https://engineering.indeedblog.com/blog/2019/12/unthrottled-fixing-cpu-limits-in-the-cloud/ # If you require CPU limits for billing purposes see capped-small.yaml # # These values are suitable for ingestion of ~1M series and scrape interval of 15s. # This implies ingestion rate of around 66000 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 5 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: 2 resources: limits: memory: 1.4Gi requests: cpu: 1 memory: 1Gi statefulSet: enabled: true compactor: persistentVolume: size: 20Gi resources: limits: memory: 2.1Gi requests: cpu: 1 memory: 1.5Gi distributor: replicas: 2 resources: limits: memory: 5.7Gi requests: cpu: 2 memory: 4Gi ingester: persistentVolume: size: 50Gi replicas: 3 resources: limits: memory: 12Gi requests: cpu: 3.5 memory: 8Gi 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: 2 index-cache: enabled: true replicas: 3 metadata-cache: enabled: true results-cache: enabled: true replicas: 2 minio: enabled: false overrides_exporter: replicas: 1 resources: limits: memory: 128Mi requests: cpu: 100m memory: 128Mi querier: replicas: 1 resources: limits: memory: 5.6Gi requests: cpu: 2 memory: 4Gi query_frontend: replicas: 1 resources: limits: memory: 2.8Gi requests: cpu: 2 memory: 2Gi ruler: replicas: 1 resources: limits: memory: 2.8Gi requests: cpu: 1 memory: 2Gi store_gateway: persistentVolume: size: 10Gi replicas: 3 resources: limits: memory: 2.1Gi requests: cpu: 1 memory: 1.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: 1 resources: limits: memory: 731Mi requests: cpu: 1 memory: 512Mi # Grafana Enterprise Metrics feature related admin_api: replicas: 1 resources: limits: memory: 128Mi requests: cpu: 100m memory: 64Mi gateway: replicas: 1 resources: limits: memory: 731Mi requests: cpu: 1 memory: 512Mi