Skip to content

Commit

Permalink
Merge pull request #3104 from sy-be/sy/tempo-distributed-pdb-configur…
Browse files Browse the repository at this point in the history
…ation

[tempo-distributed] added configuration option to set `maxUnavailable` for PDBs
  • Loading branch information
Sheikh-Abubaker authored Aug 19, 2024
2 parents 2e91548 + 68258aa commit 188461e
Show file tree
Hide file tree
Showing 12 changed files with 37 additions and 11 deletions.
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.16.2
version: 1.17.0
appVersion: 2.5.0
engine: gotpl
home: https://grafana.com/docs/tempo/latest/
Expand Down
10 changes: 9 additions & 1 deletion charts/tempo-distributed/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# tempo-distributed

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

Grafana Tempo in MicroService mode

Expand Down Expand Up @@ -295,6 +295,7 @@ The memcached default args are removed and should be provided manually. The sett
| compactor.image.registry | string | `nil` | The Docker registry for the compactor image. Overrides `tempo.image.registry` |
| compactor.image.repository | string | `nil` | Docker image repository for the compactor image. Overrides `tempo.image.repository` |
| compactor.image.tag | string | `nil` | Docker image tag for the compactor image. Overrides `tempo.image.tag` |
| compactor.maxUnavailable | int | `1` | Pod Disruption Budget maxUnavailable |
| compactor.nodeSelector | object | `{}` | Node selector for compactor pods |
| compactor.podAnnotations | object | `{}` | Annotations for compactor pods |
| compactor.podLabels | object | `{}` | Labels for compactor pods |
Expand Down Expand Up @@ -328,6 +329,7 @@ The memcached default args are removed and should be provided manually. The sett
| distributor.image.registry | string | `nil` | The Docker registry for the ingester image. Overrides `tempo.image.registry` |
| distributor.image.repository | string | `nil` | Docker image repository for the ingester image. Overrides `tempo.image.repository` |
| distributor.image.tag | string | `nil` | Docker image tag for the ingester image. Overrides `tempo.image.tag` |
| distributor.maxUnavailable | int | `1` | Pod Disruption Budget maxUnavailable |
| distributor.nodeSelector | object | `{}` | Node selector for distributor pods |
| distributor.podAnnotations | object | `{}` | Annotations for distributor pods |
| distributor.podLabels | object | `{}` | Labels for distributor pods |
Expand Down Expand Up @@ -365,6 +367,7 @@ The memcached default args are removed and should be provided manually. The sett
| enterpriseFederationFrontend.image.registry | string | `nil` | The Docker registry for the federation-frontend image. Overrides `tempo.image.registry` |
| enterpriseFederationFrontend.image.repository | string | `nil` | Docker image repository for the federation-frontend image. Overrides `tempo.image.repository` |
| enterpriseFederationFrontend.image.tag | string | `nil` | Docker image tag for the federation-frontend image. Overrides `tempo.image.tag` |
| enterpriseFederationFrontend.maxUnavailable | int | `1` | Pod Disruption Budget maxUnavailable |
| enterpriseFederationFrontend.nodeSelector | object | `{}` | Node selector for federation-frontend pods |
| enterpriseFederationFrontend.podAnnotations | object | `{}` | Annotations for federation-frontend pods |
| enterpriseFederationFrontend.podLabels | object | `{}` | Labels for enterpriseFederationFrontend pods |
Expand Down Expand Up @@ -459,6 +462,7 @@ The memcached default args are removed and should be provided manually. The sett
| gateway.ingress.hosts | list | `[{"host":"gateway.tempo.example.com","paths":[{"path":"/"}]}]` | Hosts configuration for the gateway ingress |
| gateway.ingress.labels | object | `{}` | Labels for the gateway ingress |
| gateway.ingress.tls | list | `[{"hosts":["gateway.tempo.example.com"],"secretName":"tempo-gateway-tls"}]` | TLS configuration for the gateway ingress |
| gateway.maxUnavailable | int | `1` | Pod Disruption Budget maxUnavailable |
| gateway.nginxConfig.file | string | See values.yaml | Config file contents for Nginx. Passed through the `tpl` function to allow templating |
| gateway.nginxConfig.httpSnippet | string | `""` | Allows appending custom configuration to the http block |
| gateway.nginxConfig.logFormat | string | `"main '$remote_addr - $remote_user [$time_local] $status '\n '\"$request\" $body_bytes_sent \"$http_referer\" '\n '\"$http_user_agent\" \"$http_x_forwarded_for\"';"` | NGINX log format |
Expand Down Expand Up @@ -568,6 +572,7 @@ The memcached default args are removed and should be provided manually. The sett
| memcached.image.registry | string | `nil` | The Docker registry for the Memcached image. Overrides `global.image.registry` |
| memcached.image.repository | string | `"memcached"` | Memcached Docker image repository |
| memcached.image.tag | string | `"1.6.29-alpine"` | Memcached Docker image tag |
| memcached.maxUnavailable | int | `1` | Pod Disruption Budget maxUnavailable |
| memcached.podAnnotations | object | `{}` | Annotations for memcached pods |
| memcached.podLabels | object | `{}` | Labels for memcached pods |
| memcached.replicas | int | `1` | |
Expand Down Expand Up @@ -637,6 +642,7 @@ The memcached default args are removed and should be provided manually. The sett
| metricsGenerator.image.tag | string | `nil` | Docker image tag for the metrics-generator image. Overrides `tempo.image.tag` |
| metricsGenerator.initContainers | list | `[]` | |
| metricsGenerator.kind | string | `"Deployment"` | Kind of deployment [StatefulSet/Deployment] |
| metricsGenerator.maxUnavailable | int | `1` | Pod Disruption Budget maxUnavailable |
| metricsGenerator.nodeSelector | object | `{}` | Node selector for metrics-generator pods |
| metricsGenerator.persistence | object | `{"annotations":{},"enabled":false,"size":"10Gi","storageClass":null}` | Persistence configuration for metrics-generator |
| metricsGenerator.persistence.annotations | object | `{}` | Annotations for metrics generator PVCs |
Expand Down Expand Up @@ -706,6 +712,7 @@ The memcached default args are removed and should be provided manually. The sett
| querier.image.registry | string | `nil` | The Docker registry for the querier image. Overrides `tempo.image.registry` |
| querier.image.repository | string | `nil` | Docker image repository for the querier image. Overrides `tempo.image.repository` |
| querier.image.tag | string | `nil` | Docker image tag for the querier image. Overrides `tempo.image.tag` |
| querier.maxUnavailable | int | `1` | Pod Disruption Budget maxUnavailable |
| querier.nodeSelector | object | `{}` | Node selector for querier pods |
| querier.podAnnotations | object | `{}` | Annotations for querier pods |
| querier.podLabels | object | `{}` | Labels for querier pods |
Expand Down Expand Up @@ -745,6 +752,7 @@ The memcached default args are removed and should be provided manually. The sett
| queryFrontend.ingress.enabled | bool | `false` | Specifies whether an ingress for the Jaeger should be created |
| queryFrontend.ingress.hosts | list | `[{"host":"query.tempo.example.com","paths":[{"path":"/"}]}]` | Hosts configuration for the Jaeger ingress |
| queryFrontend.ingress.tls | list | `[{"hosts":["query.tempo.example.com"],"secretName":"tempo-query-tls"}]` | TLS configuration for the Jaeger ingress |
| queryFrontend.maxUnavailable | int | `1` | Pod Disruption Budget maxUnavailable |
| queryFrontend.nodeSelector | object | `{}` | Node selector for query-frontend pods |
| queryFrontend.podAnnotations | object | `{}` | Annotations for query-frontend pods |
| queryFrontend.podLabels | object | `{}` | Labels for queryFrontend pods |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ spec:
selector:
matchLabels:
{{- include "tempo.selectorLabels" $dict | nindent 6 }}
maxUnavailable: 1
maxUnavailable: {{ .Values.compactor.maxUnavailable }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ spec:
selector:
matchLabels:
{{- include "tempo.selectorLabels" $dict | nindent 6 }}
maxUnavailable: 1
maxUnavailable: {{ .Values.distributor.maxUnavailable }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ spec:
selector:
matchLabels:
{{- include "tempo.selectorLabels" $dict | nindent 6 }}
maxUnavailable: 1
maxUnavailable: {{ .Values.enterpriseFederationFrontend.maxUnavailable }}
{{- end }}
{{- end -}}
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ spec:
selector:
matchLabels:
{{- include "tempo.selectorLabels" $dict | nindent 6 }}
maxUnavailable: 1
maxUnavailable: {{ .Values.gateway.maxUnavailable }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ spec:
selector:
matchLabels:
{{- include "tempo.selectorLabels" $dict | nindent 6 }}
maxUnavailable: {{ sub (.Values.ingester.replicas) (add (div .Values.ingester.config.replication_factor 2) 1) }}
maxUnavailable: {{ default (sub (.Values.ingester.replicas) (add (div .Values.ingester.config.replication_factor 2) 1)) .Values.ingester.maxUnavailable }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ spec:
selector:
matchLabels:
{{- include "tempo.selectorLabels" $dict | nindent 6 }}
maxUnavailable: 1
maxUnavailable: {{ .Values.memcached.maxUnavailable }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ spec:
selector:
matchLabels:
{{- include "tempo.selectorLabels" $dict | nindent 6 }}
maxUnavailable: 1
maxUnavailable: {{ .Values.metricsGenerator.maxUnavailable }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ spec:
selector:
matchLabels:
{{- include "tempo.selectorLabels" $dict | nindent 6 }}
maxUnavailable: 1
maxUnavailable: {{ .Values.querier.maxUnavailable }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ spec:
selector:
matchLabels:
{{- include "tempo.selectorLabels" $dict | nindent 6 }}
maxUnavailable: 1
maxUnavailable: {{ .Values.queryFrontend.maxUnavailable }}
{{- end }}
18 changes: 18 additions & 0 deletions charts/tempo-distributed/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,8 @@ ingester:
matchLabels:
{{- include "tempo.selectorLabels" (dict "ctx" . "component" "ingester") | nindent 12 }}
topologyKey: topology.kubernetes.io/zone
# -- Override Pod Disruption Budget maxUnavailable with a static value
# maxUnavailable: 1
# -- Node selector for ingester pods
nodeSelector: {}
# -- Tolerations for ingester pods
Expand Down Expand Up @@ -343,6 +345,8 @@ metricsGenerator:
matchLabels:
{{- include "tempo.selectorLabels" (dict "ctx" . "component" "metrics-generator") | nindent 12 }}
topologyKey: topology.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: 1
# -- Node selector for metrics-generator pods
nodeSelector: {}
# -- Tolerations for metrics-generator pods
Expand Down Expand Up @@ -513,6 +517,8 @@ distributor:
matchLabels:
{{- include "tempo.selectorLabels" (dict "ctx" . "component" "distributor") | nindent 12 }}
topologyKey: topology.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: 1
# -- Node selector for distributor pods
nodeSelector: {}
# -- Tolerations for distributor pods
Expand Down Expand Up @@ -607,6 +613,8 @@ compactor:
resources: {}
# -- Grace period to allow the compactor to shutdown before it is killed
terminationGracePeriodSeconds: 30
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: 1
# -- Node selector for compactor pods
nodeSelector: {}
# -- Tolerations for compactor pods
Expand Down Expand Up @@ -721,6 +729,8 @@ querier:
matchLabels:
{{- include "tempo.selectorLabels" (dict "ctx" . "component" "querier" "memberlist" true) | nindent 12 }}
topologyKey: topology.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: 1
# -- Node selector for querier pods
nodeSelector: {}
# -- Tolerations for querier pods
Expand Down Expand Up @@ -913,6 +923,8 @@ queryFrontend:
matchLabels:
{{- include "tempo.selectorLabels" (dict "ctx" . "component" "query-frontend") | nindent 12 }}
topologyKey: topology.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: 1
# -- Node selector for query-frontend pods
nodeSelector: {}
# -- Tolerations for query-frontend pods
Expand Down Expand Up @@ -1019,6 +1031,8 @@ enterpriseFederationFrontend:
matchLabels:
{{- include "tempo.selectorLabels" (dict "ctx" . "component" "federation-frontend") | nindent 12 }}
topologyKey: failure-domain.beta.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: 1
# -- Node selector for federation-frontend pods
nodeSelector: {}
# -- Tolerations for federation-frontend pods
Expand Down Expand Up @@ -1530,6 +1544,8 @@ memcached:
matchLabels:
{{- include "tempo.selectorLabels" (dict "ctx" . "component" "memcached") | nindent 12 }}
topologyKey: topology.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: 1
service:
# -- Annotations for memcached service
annotations: {}
Expand Down Expand Up @@ -1793,6 +1809,8 @@ gateway:
matchLabels:
{{- include "tempo.selectorLabels" (dict "ctx" . "component" "gateway") | nindent 12 }}
topologyKey: topology.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: 1
# -- Node selector for gateway pods
nodeSelector: {}
# -- Tolerations for gateway pods
Expand Down

0 comments on commit 188461e

Please sign in to comment.