Mimir allows us to customize zone numbers and names, while the loki helm chart is hardcoded to 3 zones zoneA zoneB and zoneC.
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
(...)
I'm also assuming the loki helm chart now deprecates the loki-disributed helm chart, since it now has the zoneawareness components.
Loki:
vs Mimir-distributed: