Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion charts/tempo-distributed/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: tempo-distributed
description: Grafana Tempo in MicroService mode
type: application
version: 1.52.2
version: 1.52.3
appVersion: 2.9.0
engine: gotpl
home: https://grafana.com/docs/tempo/latest/
Expand Down
18 changes: 12 additions & 6 deletions charts/tempo-distributed/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# tempo-distributed

![Version: 1.52.2](https://img.shields.io/badge/Version-1.52.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.9.0](https://img.shields.io/badge/AppVersion-2.9.0-informational?style=flat-square)
![Version: 1.52.3](https://img.shields.io/badge/Version-1.52.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.9.0](https://img.shields.io/badge/AppVersion-2.9.0-informational?style=flat-square)

Grafana Tempo in MicroService mode

Expand Down Expand Up @@ -627,22 +627,28 @@ The memcached default args are removed and should be provided manually. The sett
| ingester.terminationGracePeriodSeconds | int | `300` | Grace period to allow the ingester to shutdown before it is killed. Especially for the ingestor, this must be increased. It must be long enough so ingesters can be gracefully shutdown flushing/transferring all data and to successfully leave the member ring on shutdown. |
| ingester.tolerations | list | `[]` | Tolerations for ingester pods |
| ingester.topologySpreadConstraints | string | Defaults to allow skew no more then 1 node per AZ | topologySpread for ingester pods. Passed through `tpl` and, thus, to be configured as string |
| ingester.zoneAwareReplication | object | `{"enabled":false,"maxUnavailable":50,"topologyKey":null,"zones":[{"extraAffinity":{},"name":"zone-a","nodeSelector":null,"storageClass":null},{"extraAffinity":{},"name":"zone-b","nodeSelector":null,"storageClass":null},{"extraAffinity":{},"name":"zone-c","nodeSelector":null,"storageClass":null}]}` | EXPERIMENTAL Feature, disabled by default |
| ingester.zoneAwareReplication | object | `{"enabled":false,"maxUnavailable":50,"topologyKey":null,"zones":[{"annotations":{},"extraAffinity":{},"name":"zone-a","nodeSelector":null,"podAnnotations":{},"storageClass":null},{"annotations":{},"extraAffinity":{},"name":"zone-b","nodeSelector":null,"podAnnotations":{},"storageClass":null},{"annotations":{},"extraAffinity":{},"name":"zone-c","nodeSelector":null,"podAnnotations":{},"storageClass":null}]}` | EXPERIMENTAL Feature, disabled by default |
| ingester.zoneAwareReplication.enabled | bool | `false` | Enable zone-aware replication for ingester |
| ingester.zoneAwareReplication.maxUnavailable | int | `50` | Maximum number of ingesters that can be unavailable per zone during rollout |
| ingester.zoneAwareReplication.topologyKey | string | `nil` | 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' |
| ingester.zoneAwareReplication.zones | list | `[{"extraAffinity":{},"name":"zone-a","nodeSelector":null,"storageClass":null},{"extraAffinity":{},"name":"zone-b","nodeSelector":null,"storageClass":null},{"extraAffinity":{},"name":"zone-c","nodeSelector":null,"storageClass":null}]` | Zone definitions for ingester zones. Note: you have to redefine the whole list to change parts as YAML does not allow to modify parts of a list. |
| ingester.zoneAwareReplication.zones[0] | object | `{"extraAffinity":{},"name":"zone-a","nodeSelector":null,"storageClass":null}` | Name of the zone, used in labels and selectors. Must follow Kubernetes naming restrictions: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
| ingester.zoneAwareReplication.zones | list | `[{"annotations":{},"extraAffinity":{},"name":"zone-a","nodeSelector":null,"podAnnotations":{},"storageClass":null},{"annotations":{},"extraAffinity":{},"name":"zone-b","nodeSelector":null,"podAnnotations":{},"storageClass":null},{"annotations":{},"extraAffinity":{},"name":"zone-c","nodeSelector":null,"podAnnotations":{},"storageClass":null}]` | Zone definitions for ingester zones. Note: you have to redefine the whole list to change parts as YAML does not allow to modify parts of a list. |
| ingester.zoneAwareReplication.zones[0] | object | `{"annotations":{},"extraAffinity":{},"name":"zone-a","nodeSelector":null,"podAnnotations":{},"storageClass":null}` | Name of the zone, used in labels and selectors. Must follow Kubernetes naming restrictions: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
| ingester.zoneAwareReplication.zones[0].annotations | object | `{}` | Specific annotations to add to zone-a statefulset |
| ingester.zoneAwareReplication.zones[0].extraAffinity | object | `{}` | extraAffinity adds user defined custom affinity rules (merged with generated rules) |
| ingester.zoneAwareReplication.zones[0].nodeSelector | string | `nil` | nodeselector to restrict where pods of this zone can be placed. E.g.: nodeSelector: topology.kubernetes.io/zone: zone-a |
| ingester.zoneAwareReplication.zones[0].podAnnotations | object | `{}` | Specific annotations to add to zone-a pods |
| ingester.zoneAwareReplication.zones[0].storageClass | string | `nil` | Ingester data Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", then use `storageClassName: ""`, which disables dynamic provisioning If undefined or set to null (the default), then fall back to the value of `ingester.persistentVolume.storageClass`. |
| ingester.zoneAwareReplication.zones[1] | object | `{"extraAffinity":{},"name":"zone-b","nodeSelector":null,"storageClass":null}` | Name of the zone, used in labels and selectors. Must follow Kubernetes naming restrictions: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
| ingester.zoneAwareReplication.zones[1] | object | `{"annotations":{},"extraAffinity":{},"name":"zone-b","nodeSelector":null,"podAnnotations":{},"storageClass":null}` | Name of the zone, used in labels and selectors. Must follow Kubernetes naming restrictions: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
| ingester.zoneAwareReplication.zones[1].annotations | object | `{}` | Specific annotations to add to zone-b statefulset |
| ingester.zoneAwareReplication.zones[1].extraAffinity | object | `{}` | extraAffinity adds user defined custom affinity rules (merged with generated rules) |
| ingester.zoneAwareReplication.zones[1].nodeSelector | string | `nil` | nodeselector to restrict where pods of this zone can be placed. E.g.: nodeSelector: topology.kubernetes.io/zone: zone-b |
| ingester.zoneAwareReplication.zones[1].podAnnotations | object | `{}` | Specific annotations to add to zone-b pods |
| ingester.zoneAwareReplication.zones[1].storageClass | string | `nil` | Ingester data Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", then use `storageClassName: ""`, which disables dynamic provisioning If undefined or set to null (the default), then fall back to the value of `ingester.persistentVolume.storageClass`. |
| ingester.zoneAwareReplication.zones[2] | object | `{"extraAffinity":{},"name":"zone-c","nodeSelector":null,"storageClass":null}` | Name of the zone, used in labels and selectors. Must follow Kubernetes naming restrictions: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
| ingester.zoneAwareReplication.zones[2] | object | `{"annotations":{},"extraAffinity":{},"name":"zone-c","nodeSelector":null,"podAnnotations":{},"storageClass":null}` | Name of the zone, used in labels and selectors. Must follow Kubernetes naming restrictions: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
| ingester.zoneAwareReplication.zones[2].annotations | object | `{}` | Specific annotations to add to zone-c statefulset |
| ingester.zoneAwareReplication.zones[2].extraAffinity | object | `{}` | extraAffinity adds user defined custom affinity rules (merged with generated rules) |
| ingester.zoneAwareReplication.zones[2].nodeSelector | string | `nil` | nodeselector to restrict where pods of this zone can be placed. E.g.: nodeSelector: topology.kubernetes.io/zone: zone-c |
| ingester.zoneAwareReplication.zones[2].podAnnotations | object | `{}` | Specific annotations to add to zone-c pods |
| ingester.zoneAwareReplication.zones[2].storageClass | string | `nil` | Ingester data Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", then use `storageClassName: ""`, which disables dynamic provisioning If undefined or set to null (the default), then fall back to the value of `ingester.persistentVolume.storageClass`. |
| ingress.annotations | object | `{}` | |
| ingress.enabled | bool | `false` | If you enable this, make sure to disable the gateway's ingress. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ metadata:
{{- if .Values.ingester.zoneAwareReplication.enabled }}
annotations:
{{- include "ingester.Annotations" $dict | nindent 4}}
{{- with $rolloutZone.annotations }}:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- else }}
{{- with .Values.ingester.annotations }}
annotations:
Expand Down Expand Up @@ -51,6 +54,9 @@ spec:
{{- with .Values.ingester.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with $rolloutZone.podAnnotations }}:
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- if or (.Values.ingester.priorityClassName) (.Values.global.priorityClassName) }}
priorityClassName: {{ default .Values.ingester.priorityClassName .Values.global.priorityClassName }}
Expand Down
12 changes: 12 additions & 0 deletions charts/tempo-distributed/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,10 @@ ingester:
# If set to "-", then use `storageClassName: ""`, which disables dynamic provisioning
# If undefined or set to null (the default), then fall back to the value of `ingester.persistentVolume.storageClass`.
storageClass: null
# -- Specific annotations to add to zone-a statefulset
annotations: {}
# -- Specific annotations to add to zone-a pods
podAnnotations: {}
# -- 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-b
# -- nodeselector to restrict where pods of this zone can be placed. E.g.:
Expand All @@ -315,6 +319,10 @@ ingester:
# If set to "-", then use `storageClassName: ""`, which disables dynamic provisioning
# If undefined or set to null (the default), then fall back to the value of `ingester.persistentVolume.storageClass`.
storageClass: null
# -- Specific annotations to add to zone-b statefulset
annotations: {}
# -- Specific annotations to add to zone-b pods
podAnnotations: {}
# -- 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-c
# -- nodeselector to restrict where pods of this zone can be placed. E.g.:
Expand All @@ -328,6 +336,10 @@ ingester:
# If set to "-", then use `storageClassName: ""`, which disables dynamic provisioning
# If undefined or set to null (the default), then fall back to the value of `ingester.persistentVolume.storageClass`.
storageClass: null
# -- Specific annotations to add to zone-c statefulset
annotations: {}
# -- Specific annotations to add to zone-c pods
podAnnotations: {}

# Configuration for the metrics-generator
metricsGenerator:
Expand Down
Loading