grafana / loki

Like Prometheus, but for logs.
https://grafana.com/loki
GNU Affero General Public License v3.0
24.07k stars 3.47k forks source link

request to have zoneAwareness more like mimir #15078

Open lesaux opened 1 week ago

lesaux commented 1 week ago

I'm also assuming the loki helm chart now deprecates the loki-disributed helm chart, since it now has the zoneawareness components.

Loki:

  zoneAwareReplication:
    # -- Enable zone awareness.
    enabled: true
    # -- The percent of replicas in each zone that will be restarted at once. In a value of 0-100
    maxUnavailablePct: 33
    # -- zoneA configuration
    zoneA:
      # -- optionally define a node selector for this zone
      nodeSelector: null
      # -- optionally define extra affinity rules, by default different zones are not allowed to schedule on the same host
      extraAffinity: {}
      # -- Specific annotations to add to zone A statefulset
      annotations: {}
      # -- Specific annotations to add to zone A pods
      podAnnotations: {}
(...)

vs Mimir-distributed:

  zoneAwareReplication:
    # -- Enable zone-aware replication for store-gateway
    enabled: true
    # -- Maximum number of store-gateways that can be unavailable per zone during rollout
    maxUnavailable: 50
    # -- topologyKey to use in pod anti-affinity. If unset, no anti-affinity rules are generated. If set, the generated anti-affinity rule makes sure that pods from different zones do not mix.
    # E.g.: topologyKey: 'kubernetes.io/hostname'
    topologyKey: null
    # -- Auxiliary values for migration, see https://grafana.com/docs/helm-charts/mimir-distributed/latest/migration-guides/migrate-from-single-zone-with-helm/
    migration:
      # -- Indicate if migration is ongoing for multi zone store-gateway
      enabled: false
      # -- Enable zone-awareness on the readPath
      readPath: false
    # -- Zone definitions for store-gateway zones. Note: you have to redefine the whole list to change parts as YAML does not allow to modify parts of a list.
    zones:
      # -- Name of the zone, used in labels and selectors. Must follow Kubernetes naming restrictions: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
      - name: zone-a
        # -- nodeselector to restrict where pods of this zone can be placed. E.g.:
        # nodeSelector:
        #   topology.kubernetes.io/zone: zone-a
        nodeSelector: null
(...)
JStickler commented 5 days ago

I'm also assuming the loki helm chart now deprecates the loki-disributed helm chart, since it now has the zoneawareness components.

Yes, the Loki Helm chart replaced the Loki-distributed chart about two years ago.