diff --git a/charts/tempo-distributed/Chart.yaml b/charts/tempo-distributed/Chart.yaml index aeadbb0a74..8fc74e85d6 100644 --- a/charts/tempo-distributed/Chart.yaml +++ b/charts/tempo-distributed/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: tempo-distributed description: Grafana Tempo in MicroService mode type: application -version: 1.31.0 +version: 1.31.1 appVersion: 2.7.0 engine: gotpl home: https://grafana.com/docs/tempo/latest/ diff --git a/charts/tempo-distributed/README.md b/charts/tempo-distributed/README.md index 1377b7301f..1fc0555e99 100755 --- a/charts/tempo-distributed/README.md +++ b/charts/tempo-distributed/README.md @@ -1,6 +1,6 @@ # tempo-distributed -![Version: 1.31.0](https://img.shields.io/badge/Version-1.31.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.7.0](https://img.shields.io/badge/AppVersion-2.7.0-informational?style=flat-square) +![Version: 1.31.1](https://img.shields.io/badge/Version-1.31.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.7.0](https://img.shields.io/badge/AppVersion-2.7.0-informational?style=flat-square) Grafana Tempo in MicroService mode @@ -323,6 +323,7 @@ The memcached default args are removed and should be provided manually. The sett | compactor.nodeSelector | object | `{}` | Node selector for compactor pods | | compactor.podAnnotations | object | `{}` | Annotations for compactor pods | | compactor.podLabels | object | `{}` | Labels for compactor pods | +| compactor.ports | list | `[{"name":"grpc","port":9095,"service":true},{"name":"http-metrics","port":3100,"service":true}]` | Compactor service ports | | compactor.priorityClassName | string | `nil` | The name of the PriorityClass for compactor pods | | compactor.replicas | int | `1` | Number of replicas for the compactor | | compactor.resources | object | `{}` | Resource requests and limits for the compactor | @@ -360,6 +361,7 @@ The memcached default args are removed and should be provided manually. The sett | distributor.nodeSelector | object | `{}` | Node selector for distributor pods | | distributor.podAnnotations | object | `{}` | Annotations for distributor pods | | distributor.podLabels | object | `{}` | Labels for distributor pods | +| distributor.ports | list | `[{"name":"grpc","port":9095,"service":true},{"name":"http-metrics","port":3100,"service":true}]` | Distributor service ports | | distributor.priorityClassName | string | `nil` | The name of the PriorityClass for distributor pods | | distributor.replicas | int | `1` | Number of replicas for the distributor | | distributor.resources | object | `{}` | Resource requests and limits for the distributor | @@ -399,6 +401,7 @@ The memcached default args are removed and should be provided manually. The sett | enterpriseFederationFrontend.nodeSelector | object | `{}` | Node selector for federation-frontend pods | | enterpriseFederationFrontend.podAnnotations | object | `{}` | Annotations for federation-frontend pods | | enterpriseFederationFrontend.podLabels | object | `{}` | Labels for enterpriseFederationFrontend pods | +| enterpriseFederationFrontend.ports | list | `[{"name":"http-metrics","port":3100,"service":true}]` | Federation-frontend service ports | | enterpriseFederationFrontend.priorityClassName | string | `nil` | The name of the PriorityClass for federation-frontend pods | | enterpriseFederationFrontend.proxy_targets | list | `[]` | | | enterpriseFederationFrontend.replicas | int | `1` | Number of replicas for the federation-frontend | @@ -406,7 +409,6 @@ The memcached default args are removed and should be provided manually. The sett | enterpriseFederationFrontend.service.annotations | object | `{}` | Annotations for enterpriseFederationFrontend service | | enterpriseFederationFrontend.service.loadBalancerIP | string | `""` | If type is LoadBalancer you can assign the IP to the LoadBalancer | | enterpriseFederationFrontend.service.loadBalancerSourceRanges | list | `[]` | If type is LoadBalancer limit incoming traffic from IPs. | -| enterpriseFederationFrontend.service.port | int | `3100` | Port of the federation-frontend service | | enterpriseFederationFrontend.service.type | string | `"ClusterIP"` | Type of service for the enterpriseFederationFrontend | | enterpriseFederationFrontend.terminationGracePeriodSeconds | int | `30` | Grace period to allow the federation-frontend to shutdown before it is killed | | enterpriseFederationFrontend.tolerations | list | `[]` | Tolerations for federation-frontend pods | @@ -500,9 +502,11 @@ The memcached default args are removed and should be provided manually. The sett | gateway.podAnnotations | object | `{}` | Annotations for gateway pods | | gateway.podLabels | object | `{}` | Labels for gateway pods | | gateway.priorityClassName | string | `nil` | The name of the PriorityClass for gateway pods | +| gateway.readinessProbe.failureThreshold | int | `3` | | | gateway.readinessProbe.httpGet.path | string | `"/"` | | -| gateway.readinessProbe.httpGet.port | string | `"http-metrics"` | | | gateway.readinessProbe.initialDelaySeconds | int | `15` | | +| gateway.readinessProbe.periodSeconds | int | `10` | | +| gateway.readinessProbe.successThreshold | int | `1` | | | gateway.readinessProbe.timeoutSeconds | int | `1` | | | gateway.replicas | int | `1` | Number of replicas for the gateway | | gateway.resources | object | `{}` | Resource requests and limits for the gateway | @@ -511,6 +515,7 @@ The memcached default args are removed and should be provided manually. The sett | gateway.service.clusterIP | string | `nil` | ClusterIP of the gateway service | | gateway.service.labels | object | `{}` | Labels for gateway service | | gateway.service.loadBalancerIP | string | `nil` | Load balancer IP address if service type is LoadBalancer | +| gateway.service.name | string | `"http-gateway"` | Port Name of the gateway service | | gateway.service.nodePort | string | `nil` | Node port if service type is NodePort | | gateway.service.port | int | `80` | Port of the gateway service | | gateway.service.type | string | `"ClusterIP"` | Type of the gateway service | @@ -567,6 +572,7 @@ The memcached default args are removed and should be provided manually. The sett | ingester.persistentVolumeClaimRetentionPolicy.whenScaled | string | `"Retain"` | Volume retention behavior when the replica count of the StatefulSet is reduced | | ingester.podAnnotations | object | `{}` | Annotations for ingester pods | | ingester.podLabels | object | `{}` | Labels for ingester pods | +| ingester.ports | list | `[{"name":"grpc","port":9095,"service":true},{"name":"http-metrics","port":3100,"service":true}]` | Ingester service ports | | ingester.priorityClassName | string | `nil` | The name of the PriorityClass for ingester pods | | ingester.replicas | int | `3` | Number of replicas for the ingester | | ingester.resources | object | `{}` | Resource requests and limits for the ingester | @@ -693,7 +699,7 @@ The memcached default args are removed and should be provided manually. The sett | metricsGenerator.persistentVolumeClaimRetentionPolicy.whenScaled | string | `"Retain"` | Volume retention behavior when the replica count of the StatefulSet is reduced | | metricsGenerator.podAnnotations | object | `{}` | Annotations for metrics-generator pods | | metricsGenerator.podLabels | object | `{}` | Labels for metrics-generator pods | -| metricsGenerator.ports | list | `[{"name":"grpc","port":9095,"service":true},{"name":"http-memberlist","port":7946,"service":false},{"name":"http-metrics","port":3100,"service":true}]` | Default ports | +| metricsGenerator.ports | list | `[{"name":"grpc","port":9095,"service":true},{"name":"http-memberlist","port":7946,"service":false},{"name":"http-metrics","port":3100,"service":true}]` | Metrics-generator service ports | | metricsGenerator.priorityClassName | string | `nil` | The name of the PriorityClass for metrics-generator pods | | metricsGenerator.replicas | int | `1` | Number of replicas for the metrics-generator | | metricsGenerator.resources | object | `{}` | Resource requests and limits for the metrics-generator | @@ -715,6 +721,8 @@ The memcached default args are removed and should be provided manually. The sett | minio.enabled | bool | `false` | | | minio.mode | string | `"standalone"` | | | minio.persistence.size | string | `"5Gi"` | | +| minio.resources.limits.cpu | string | `"100m"` | | +| minio.resources.limits.memory | string | `"128Mi"` | | | minio.resources.requests.cpu | string | `"100m"` | | | minio.resources.requests.memory | string | `"128Mi"` | | | minio.rootPassword | string | `"supersecret"` | | @@ -759,6 +767,7 @@ The memcached default args are removed and should be provided manually. The sett | querier.nodeSelector | object | `{}` | Node selector for querier pods | | querier.podAnnotations | object | `{}` | Annotations for querier pods | | querier.podLabels | object | `{}` | Labels for querier pods | +| querier.ports | list | `[{"name":"grpc","port":9095,"service":true},{"name":"http-metrics","port":3100,"service":true}]` | Querier service ports | | querier.priorityClassName | string | `nil` | The name of the PriorityClass for querier pods | | querier.replicas | int | `1` | Number of replicas for the querier | | querier.resources | object | `{}` | Resource requests and limits for the querier | @@ -806,6 +815,7 @@ The memcached default args are removed and should be provided manually. The sett | queryFrontend.nodeSelector | object | `{}` | Node selector for query-frontend pods | | queryFrontend.podAnnotations | object | `{}` | Annotations for query-frontend pods | | queryFrontend.podLabels | object | `{}` | Labels for queryFrontend pods | +| queryFrontend.ports | list | `[{"name":"grpc","port":9095,"service":true},{"name":"http-metrics","port":3100,"service":true}]` | QueryFrontend service ports | | queryFrontend.priorityClassName | string | `nil` | The name of the PriorityClass for query-frontend pods | | queryFrontend.query.config | string | `"backend: 127.0.0.1:3100\n"` | | | queryFrontend.query.enabled | bool | `false` | Required for grafana version <7.5 for compatibility with jaeger-ui. Doesn't work on ARM arch | @@ -818,6 +828,7 @@ The memcached default args are removed and should be provided manually. The sett | queryFrontend.query.image.registry | string | `nil` | The Docker registry for the tempo-query image. Overrides `tempo.image.registry` | | queryFrontend.query.image.repository | string | `"grafana/tempo-query"` | Docker image repository for the tempo-query image. Overrides `tempo.image.repository` | | queryFrontend.query.image.tag | string | `nil` | Docker image tag for the tempo-query image. Overrides `tempo.image.tag` | +| queryFrontend.query.ports | list | `[{"name":"tempo-query-metrics","port":16687,"service":true},{"name":"tempo-query-jaeger-ui","port":16686,"service":true},{"name":"tempo-query-jaeger-grpc","port":16685,"service":true}]` | Query service ports | | queryFrontend.query.resources | object | `{}` | Resource requests and limits for the query | | queryFrontend.replicas | int | `1` | Number of replicas for the query-frontend | | queryFrontend.resources | object | `{}` | Resource requests and limits for the query-frontend | @@ -825,7 +836,6 @@ The memcached default args are removed and should be provided manually. The sett | queryFrontend.service.labels | object | `{}` | Labels for queryFrontend service | | queryFrontend.service.loadBalancerIP | string | `""` | If type is LoadBalancer you can assign the IP to the LoadBalancer | | queryFrontend.service.loadBalancerSourceRanges | list | `[]` | If type is LoadBalancer limit incoming traffic from IPs. | -| queryFrontend.service.port | int | `16686` | Port of the query-frontend service | | queryFrontend.service.type | string | `"ClusterIP"` | Type of service for the queryFrontend | | queryFrontend.serviceDiscovery.annotations | object | `{}` | Annotations for queryFrontendDiscovery service | | queryFrontend.serviceDiscovery.labels | object | `{}` | Labels for queryFrontendDiscovery service | diff --git a/charts/tempo-distributed/templates/compactor/deployment-compactor.yaml b/charts/tempo-distributed/templates/compactor/deployment-compactor.yaml index bbc1da74c6..d97411b272 100644 --- a/charts/tempo-distributed/templates/compactor/deployment-compactor.yaml +++ b/charts/tempo-distributed/templates/compactor/deployment-compactor.yaml @@ -68,8 +68,10 @@ spec: imagePullPolicy: {{ .Values.tempo.image.pullPolicy }} name: compactor ports: - - containerPort: 3100 - name: http-metrics + {{- range .Values.compactor.ports }} + - name: {{ .name | quote }} + containerPort: {{ .port }} + {{- end }} - containerPort: {{ include "tempo.memberlistBindPort" . }} name: http-memberlist {{- if or .Values.global.extraEnv .Values.compactor.extraEnv }} diff --git a/charts/tempo-distributed/templates/compactor/service-compactor.yaml b/charts/tempo-distributed/templates/compactor/service-compactor.yaml index fde2125f1b..8e11bc54c9 100644 --- a/charts/tempo-distributed/templates/compactor/service-compactor.yaml +++ b/charts/tempo-distributed/templates/compactor/service-compactor.yaml @@ -11,10 +11,14 @@ metadata: spec: type: ClusterIP ports: - - name: http-metrics - port: 3100 - targetPort: 3100 + {{- range .Values.metricsGenerator.ports }} + {{- if .service }} + - name: {{ .name | quote }} + port: {{ .port }} protocol: TCP + targetPort: {{ .port }} + {{- end }} + {{- end }} selector: {{- include "tempo.selectorLabels" (dict "ctx" . "component" "compactor") | nindent 4 }} ipFamilies: {{ .Values.tempo.service.ipFamilies }} diff --git a/charts/tempo-distributed/templates/distributor/deployment-distributor.yaml b/charts/tempo-distributed/templates/distributor/deployment-distributor.yaml index c7495b3832..64eeacec46 100644 --- a/charts/tempo-distributed/templates/distributor/deployment-distributor.yaml +++ b/charts/tempo-distributed/templates/distributor/deployment-distributor.yaml @@ -64,11 +64,13 @@ spec: imagePullPolicy: {{ .Values.tempo.image.pullPolicy }} name: distributor ports: + {{- range .Values.distributor.ports }} + - name: {{ .name | quote }} + containerPort: {{ .port }} + {{- end }} - containerPort: {{ include "tempo.memberlistBindPort" . }} name: http-memberlist protocol: TCP - - containerPort: 3100 - name: http-metrics {{- if .Values.traces.jaeger.thriftCompact.enabled }} - containerPort: 6831 name: jaeger-compact diff --git a/charts/tempo-distributed/templates/distributor/service-distributor-discovery.yaml b/charts/tempo-distributed/templates/distributor/service-distributor-discovery.yaml index a226788b55..6657b655b3 100644 --- a/charts/tempo-distributed/templates/distributor/service-distributor-discovery.yaml +++ b/charts/tempo-distributed/templates/distributor/service-distributor-discovery.yaml @@ -18,9 +18,17 @@ spec: type: ClusterIP clusterIP: None ports: - - name: http-metrics - port: 3100 - targetPort: http-metrics + {{- range .Values.distributor.ports }} + {{- if .service }} + - name: {{ .name | quote }} + port: {{ .port }} + protocol: TCP + targetPort: {{ .port }} + {{- if .Values.distributor.appProtocol.grpc }} + appProtocol: {{ .Values.distributor.appProtocol.grpc }} + {{- end }} + {{- end }} + {{- end }} {{- if .Values.traces.jaeger.thriftCompact.enabled }} - name: distributor-jaeger-thrift-compact port: 6831 diff --git a/charts/tempo-distributed/templates/distributor/service-distributor.yaml b/charts/tempo-distributed/templates/distributor/service-distributor.yaml index 15c6317544..d80b41ec85 100644 --- a/charts/tempo-distributed/templates/distributor/service-distributor.yaml +++ b/charts/tempo-distributed/templates/distributor/service-distributor.yaml @@ -19,16 +19,17 @@ spec: ipFamilies: {{ .Values.tempo.service.ipFamilies }} ipFamilyPolicy: {{ .Values.tempo.service.ipFamilyPolicy }} ports: - - name: http-metrics - port: 3100 - targetPort: http-metrics - - name: grpc - port: 9095 + {{- range .Values.distributor.ports }} + {{- if .service }} + - name: {{ .name | quote }} + port: {{ .port }} protocol: TCP - targetPort: 9095 + targetPort: {{ .port }} {{- if .Values.distributor.appProtocol.grpc }} appProtocol: {{ .Values.distributor.appProtocol.grpc }} {{- end }} + {{- end }} + {{- end }} {{- if .Values.traces.jaeger.thriftCompact.enabled }} - name: distributor-jaeger-thrift-compact port: 6831 diff --git a/charts/tempo-distributed/templates/enterprise-federation-frontend/deployment-federation-frontend.yaml b/charts/tempo-distributed/templates/enterprise-federation-frontend/deployment-federation-frontend.yaml index 20f2d8fa44..316c75ebfb 100644 --- a/charts/tempo-distributed/templates/enterprise-federation-frontend/deployment-federation-frontend.yaml +++ b/charts/tempo-distributed/templates/enterprise-federation-frontend/deployment-federation-frontend.yaml @@ -69,8 +69,10 @@ spec: imagePullPolicy: {{ .Values.tempo.image.pullPolicy }} name: federation-frontend ports: - - containerPort: 3100 - name: http-metrics + {{- range .Values.enterpriseFederationFrontend.ports }} + - name: {{ .name | quote }} + containerPort: {{ .port }} + {{- end }} {{- if or .Values.global.extraEnv .Values.enterpriseFederationFrontend.extraEnv }} env: {{- with .Values.global.extraEnv }} diff --git a/charts/tempo-distributed/templates/enterprise-federation-frontend/service-federation-frontend.yaml b/charts/tempo-distributed/templates/enterprise-federation-frontend/service-federation-frontend.yaml index 8d1db22ce1..430b1f34e4 100644 --- a/charts/tempo-distributed/templates/enterprise-federation-frontend/service-federation-frontend.yaml +++ b/charts/tempo-distributed/templates/enterprise-federation-frontend/service-federation-frontend.yaml @@ -13,9 +13,14 @@ metadata: spec: type: {{ .Values.enterpriseFederationFrontend.service.type }} ports: - - name: http-metrics - port: 3100 - targetPort: 3100 + {{- range .Values.enterpriseFederationFrontend.ports }} + {{- if .service }} + - name: {{ .name | quote }} + port: {{ .port }} + protocol: TCP + targetPort: {{ .port }} + {{- end }} + {{- end }} {{- if .Values.enterpriseFederationFrontend.service.loadBalancerIP }} loadBalancerIP: {{ .Values.enterpriseFederationFrontend.service.loadBalancerIP }} {{- end }} diff --git a/charts/tempo-distributed/templates/gateway/deployment-gateway.yaml b/charts/tempo-distributed/templates/gateway/deployment-gateway.yaml index ea6cd5dd34..bd90b42233 100644 --- a/charts/tempo-distributed/templates/gateway/deployment-gateway.yaml +++ b/charts/tempo-distributed/templates/gateway/deployment-gateway.yaml @@ -55,7 +55,7 @@ spec: image: "{{ include "tempo.imageReference" $dict }}" imagePullPolicy: {{ .Values.gateway.image.pullPolicy }} ports: - - name: http-metrics + - name: {{ .Values.gateway.service.name }} containerPort: 8080 protocol: TCP {{- if or .Values.global.extraEnv .Values.gateway.extraEnv }} @@ -72,7 +72,15 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} readinessProbe: - {{- toYaml .Values.gateway.readinessProbe | nindent 12 }} + httpGet: + path: {{ .Values.gateway.path }} + port: {{ .Values.gateway.service.name }} + scheme: HTTP + initialDelaySeconds: {{ .Values.gateway.service.initialDelaySeconds }} + timeoutSeconds: {{ .Values.gateway.service.timeoutSeconds }} + periodSeconds: {{ .Values.gateway.service.periodSeconds }} + successThreshold: {{ .Values.gateway.service.successThreshold }} + failureThreshold: {{ .Values.gateway.service.failureThreshold }} volumeMounts: - name: config mountPath: /etc/nginx diff --git a/charts/tempo-distributed/templates/gateway/service-gateway.yaml b/charts/tempo-distributed/templates/gateway/service-gateway.yaml index 97efb6fd19..88e67d603d 100644 --- a/charts/tempo-distributed/templates/gateway/service-gateway.yaml +++ b/charts/tempo-distributed/templates/gateway/service-gateway.yaml @@ -22,9 +22,9 @@ spec: loadBalancerIP: {{ .Values.gateway.service.loadBalancerIP }} {{- end }} ports: - - name: http-metrics + - name: {{ .Values.gateway.service.name }} port: {{ .Values.gateway.service.port }} - targetPort: http-metrics + targetPort: 8080 {{- if and (eq "NodePort" .Values.gateway.service.type) .Values.gateway.service.nodePort }} nodePort: {{ .Values.gateway.service.nodePort }} {{- end }} diff --git a/charts/tempo-distributed/templates/ingester/service-ingester-discovery.yaml b/charts/tempo-distributed/templates/ingester/service-ingester-discovery.yaml index 2835cd866e..6389c70a0b 100644 --- a/charts/tempo-distributed/templates/ingester/service-ingester-discovery.yaml +++ b/charts/tempo-distributed/templates/ingester/service-ingester-discovery.yaml @@ -15,16 +15,16 @@ spec: type: ClusterIP clusterIP: None ports: - - name: http-metrics - port: 3100 + {{- range .Values.ingester.ports }} + {{- if .service }} + - name: {{ .name | quote }} + port: {{ .port }} protocol: TCP - targetPort: 3100 - - name: grpc - port: 9095 - protocol: TCP - targetPort: 9095 - {{- if .Values.ingester.appProtocol.grpc }} - appProtocol: {{ .Values.ingester.appProtocol.grpc }} + targetPort: {{ .port }} + {{- if and (hasPrefix .name "grpc") ($.Values.ingester.appProtocol.grpc) }} + appProtocol: {{ $.Values.ingester.appProtocol.grpc }} {{- end }} + {{- end }} + {{- end }} selector: {{- include "tempo.selectorLabels" $dict | nindent 4 }} diff --git a/charts/tempo-distributed/templates/ingester/service-ingester.yaml b/charts/tempo-distributed/templates/ingester/service-ingester.yaml index 96867f0dcd..7cf0ab0729 100644 --- a/charts/tempo-distributed/templates/ingester/service-ingester.yaml +++ b/charts/tempo-distributed/templates/ingester/service-ingester.yaml @@ -20,17 +20,17 @@ spec: ipFamilies: {{ .Values.tempo.service.ipFamilies }} ipFamilyPolicy: {{ .Values.tempo.service.ipFamilyPolicy }} ports: - - name: http-metrics - port: 3100 + {{- range .Values.ingester.ports }} + {{- if .service }} + - name: {{ .name | quote }} + port: {{ .port }} protocol: TCP - targetPort: 3100 - - name: grpc - port: 9095 - protocol: TCP - targetPort: 9095 - {{- if .Values.ingester.appProtocol.grpc }} - appProtocol: {{ .Values.ingester.appProtocol.grpc }} + targetPort: {{ .port }} + {{- if and (hasPrefix .name "grpc") ($.Values.ingester.appProtocol.grpc) }} + appProtocol: {{ $.Values.ingester.appProtocol.grpc }} {{- end }} + {{- end }} + {{- end }} selector: {{- include "ingester.selectorLabels" $dict | nindent 4 }} --- diff --git a/charts/tempo-distributed/templates/ingester/statefulset-ingester.yaml b/charts/tempo-distributed/templates/ingester/statefulset-ingester.yaml index 54c545f80b..4b4f1e6001 100644 --- a/charts/tempo-distributed/templates/ingester/statefulset-ingester.yaml +++ b/charts/tempo-distributed/templates/ingester/statefulset-ingester.yaml @@ -84,12 +84,12 @@ spec: imagePullPolicy: {{ .Values.tempo.image.pullPolicy }} name: ingester ports: - - name: grpc - containerPort: 9095 + {{- range .Values.ingester.ports }} + - name: {{ .name | quote }} + containerPort: {{ .port }} + {{- end }} - name: http-memberlist containerPort: {{ include "tempo.memberlistBindPort" . }} - - name: http-metrics - containerPort: 3100 {{- if or .Values.global.extraEnv .Values.ingester.extraEnv }} env: {{- with .Values.global.extraEnv }} diff --git a/charts/tempo-distributed/templates/querier/deployment-querier.yaml b/charts/tempo-distributed/templates/querier/deployment-querier.yaml index 8412589860..ee78e82a81 100644 --- a/charts/tempo-distributed/templates/querier/deployment-querier.yaml +++ b/charts/tempo-distributed/templates/querier/deployment-querier.yaml @@ -68,11 +68,13 @@ spec: imagePullPolicy: {{ .Values.tempo.image.pullPolicy }} name: querier ports: + {{- range .Values.querier.ports }} + - name: {{ .name | quote }} + containerPort: {{ .port }} + {{- end }} - containerPort: {{ include "tempo.memberlistBindPort" . }} name: http-memberlist protocol: TCP - - containerPort: 3100 - name: http-metrics {{- if or .Values.global.extraEnv .Values.querier.extraEnv }} env: {{- with .Values.global.extraEnv }} diff --git a/charts/tempo-distributed/templates/querier/service-querier.yaml b/charts/tempo-distributed/templates/querier/service-querier.yaml index 05dd42c106..bffd1e99d8 100644 --- a/charts/tempo-distributed/templates/querier/service-querier.yaml +++ b/charts/tempo-distributed/templates/querier/service-querier.yaml @@ -13,16 +13,16 @@ spec: ipFamilies: {{ .Values.tempo.service.ipFamilies }} ipFamilyPolicy: {{ .Values.tempo.service.ipFamilyPolicy }} ports: - - name: http-metrics - port: 3100 + {{- range .Values.querier.ports }} + {{- if .service }} + - name: {{ .name | quote }} + port: {{ .port }} protocol: TCP - targetPort: 3100 - - name: grpc - port: 9095 - protocol: TCP - targetPort: 9095 - {{- if .Values.querier.appProtocol.grpc }} - appProtocol: {{ .Values.querier.appProtocol.grpc }} + targetPort: {{ .port }} + {{- if and (hasPrefix .name "grpc") ($.Values.querier.appProtocol.grpc) }} + appProtocol: {{ $.Values.querier.appProtocol.grpc }} {{- end }} + {{- end }} + {{- end }} selector: {{- include "tempo.selectorLabels" (dict "ctx" . "component" "querier" "memberlist" true) | nindent 4 }} diff --git a/charts/tempo-distributed/templates/query-frontend/deployment-query-frontend.yaml b/charts/tempo-distributed/templates/query-frontend/deployment-query-frontend.yaml index 01f05b21cf..677f5319b9 100644 --- a/charts/tempo-distributed/templates/query-frontend/deployment-query-frontend.yaml +++ b/charts/tempo-distributed/templates/query-frontend/deployment-query-frontend.yaml @@ -68,10 +68,10 @@ spec: imagePullPolicy: {{ .Values.tempo.image.pullPolicy }} name: query-frontend ports: - - containerPort: 3100 - name: http-metrics - - containerPort: 9095 - name: grpc + {{- range .Values.queryFrontend.ports }} + - name: {{ .name | quote }} + containerPort: {{ .port }} + {{- end }} {{- if or .Values.global.extraEnv .Values.queryFrontend.extraEnv }} env: {{- with .Values.global.extraEnv }} @@ -117,10 +117,10 @@ spec: imagePullPolicy: {{ .Values.tempo.image.pullPolicy }} name: tempo-query ports: - - containerPort: {{ .Values.queryFrontend.service.port }} - name: jaeger-ui - - containerPort: 16687 - name: jaeger-metrics + {{- range .Values.queryFrontend.query.ports }} + - name: {{ .name | quote }} + containerPort: {{ .port }} + {{- end }} {{- with .Values.queryFrontend.query.extraEnv }} env: {{- toYaml . | nindent 12 }} diff --git a/charts/tempo-distributed/templates/query-frontend/service-query-frontend-discovery.yaml b/charts/tempo-distributed/templates/query-frontend/service-query-frontend-discovery.yaml index 48d2c28f4c..fb7d37c74f 100644 --- a/charts/tempo-distributed/templates/query-frontend/service-query-frontend-discovery.yaml +++ b/charts/tempo-distributed/templates/query-frontend/service-query-frontend-discovery.yaml @@ -16,16 +16,17 @@ spec: type: ClusterIP clusterIP: None ports: - - name: http - port: 3100 - targetPort: 3100 - - name: grpc - port: 9095 + {{- range .Values.queryFrontend.ports }} + {{- if .service }} + - name: {{ .name | quote }} + port: {{ .port }} protocol: TCP - targetPort: 9095 - {{- if .Values.queryFrontend.appProtocol.grpc }} - appProtocol: {{ .Values.queryFrontend.appProtocol.grpc }} + targetPort: {{ .port }} + {{- if and (hasPrefix .name "grpc") ($.Values.queryFrontend.appProtocol.grpc) }} + appProtocol: {{ $.Values.queryFrontend.appProtocol.grpc }} {{- end }} + {{- end }} + {{- end }} - name: grpclb port: 9096 protocol: TCP @@ -34,12 +35,14 @@ spec: appProtocol: {{ .Values.queryFrontend.appProtocol.grpc }} {{- end }} {{- if .Values.queryFrontend.query.enabled }} - - name: tempo-query-jaeger-ui - port: {{ .Values.queryFrontend.service.port }} - targetPort: {{ .Values.queryFrontend.service.port }} - - name: tempo-query-metrics - port: 16687 - targetPort: jaeger-metrics + {{- range .Values.queryFrontend.query.ports }} + {{- if .service }} + - name: {{ .name | quote }} + port: {{ .port }} + protocol: TCP + targetPort: {{ .port }} + {{- end }} + {{- end }} {{- end }} publishNotReadyAddresses: true selector: diff --git a/charts/tempo-distributed/templates/query-frontend/service-query-frontend.yaml b/charts/tempo-distributed/templates/query-frontend/service-query-frontend.yaml index ad7c568d70..1b5fe586f8 100644 --- a/charts/tempo-distributed/templates/query-frontend/service-query-frontend.yaml +++ b/charts/tempo-distributed/templates/query-frontend/service-query-frontend.yaml @@ -17,23 +17,26 @@ spec: ipFamilies: {{ .Values.tempo.service.ipFamilies }} ipFamilyPolicy: {{ .Values.tempo.service.ipFamilyPolicy }} ports: - - name: http-metrics - port: 3100 - targetPort: 3100 - - name: grpc - port: 9095 + {{- range .Values.queryFrontend.ports }} + {{- if .service }} + - name: {{ .name | quote }} + port: {{ .port }} protocol: TCP - targetPort: 9095 - {{- if .Values.queryFrontend.appProtocol.grpc }} - appProtocol: {{ .Values.queryFrontend.appProtocol.grpc }} + targetPort: {{ .port }} + {{- if and (hasPrefix .name "grpc") ($.Values.queryFrontend.appProtocol.grpc) }} + appProtocol: {{ $.Values.queryFrontend.appProtocol.grpc }} {{- end }} + {{- end }} + {{- end }} {{- if .Values.queryFrontend.query.enabled }} - - name: tempo-query-jaeger-ui - port: {{ .Values.queryFrontend.service.port }} - targetPort: {{ .Values.queryFrontend.service.port }} - - name: tempo-query-metrics - port: 16687 - targetPort: jaeger-metrics + {{- range .Values.queryFrontend.query.ports }} + {{- if .service }} + - name: {{ .name | quote }} + port: {{ .port }} + protocol: TCP + targetPort: {{ .port }} + {{- end }} + {{- end }} {{- end }} {{- if .Values.queryFrontend.service.loadBalancerIP }} loadBalancerIP: {{ .Values.queryFrontend.service.loadBalancerIP }} diff --git a/charts/tempo-distributed/values.yaml b/charts/tempo-distributed/values.yaml index a81d3b33f0..f82c0b4e99 100755 --- a/charts/tempo-distributed/values.yaml +++ b/charts/tempo-distributed/values.yaml @@ -243,6 +243,14 @@ ingester: complete_block_timeout: null # -- Flush all traces to backend when ingester is stopped flush_all_on_shutdown: false + # -- Ingester service ports + ports: + - name: grpc + port: 9095 + service: true + - name: http-metrics + port: 3100 + service: true service: # -- Annotations for ingester service annotations: {} @@ -409,17 +417,6 @@ metricsGenerator: whenScaled: Retain # -- Volume retention behavior that applies when the StatefulSet is deleted whenDeleted: Retain - # -- Default ports - ports: - - name: grpc - port: 9095 - service: true - - name: http-memberlist - port: 7946 - service: false - - name: http-metrics - port: 3100 - service: true # -- More information on configuration: https://grafana.com/docs/tempo/latest/configuration/#metrics-generator config: registry: @@ -454,6 +451,17 @@ metricsGenerator: traces_storage: path: /var/tempo/traces metrics_ingestion_time_range_slack: 30s + # -- Metrics-generator service ports + ports: + - name: grpc + port: 9095 + service: true + - name: http-memberlist + port: 7946 + service: false + - name: http-metrics + port: 3100 + service: true service: # -- Annotations for Metrics Generator service annotations: {} @@ -493,6 +501,14 @@ distributor: repository: null # -- Docker image tag for the distributor image. Overrides `tempo.image.tag` tag: null + # -- Distributor service ports + ports: + - name: grpc + port: 9095 + service: true + - name: http-metrics + port: 3100 + service: true service: # -- Annotations for distributor service annotations: {} @@ -708,6 +724,14 @@ compactor: max_time_per_tenant: 5m # -- The time between compaction cycles compaction_cycle: 30s + # -- Compactor service ports + ports: + - name: grpc + port: 9095 + service: true + - name: http-metrics + port: 3100 + service: true service: # -- Annotations for compactor service annotations: {} @@ -826,7 +850,14 @@ querier: google_cloud_run: {} # -- This value controls the overall number of simultaneous subqueries that the querier will service at once. It does not distinguish between the types of queries. max_concurrent_queries: 20 - + # -- Querier service ports + ports: + - name: grpc + port: 9095 + service: true + - name: http-metrics + port: 3100 + service: true service: # -- Annotations for querier service annotations: {} @@ -849,6 +880,17 @@ queryFrontend: repository: grafana/tempo-query # -- Docker image tag for the tempo-query image. Overrides `tempo.image.tag` tag: null + # -- Query service ports + ports: + - name: tempo-query-metrics + port: 16687 + service: true + - name: tempo-query-jaeger-ui + port: 16686 + service: true + - name: tempo-query-jaeger-grpc + port: 16685 + service: true # -- Resource requests and limits for the query resources: {} # -- Additional CLI args for tempo-query pods @@ -927,9 +969,15 @@ queryFrontend: repository: null # -- Docker image tag for the query-frontend image. Overrides `tempo.image.tag` tag: null + # -- QueryFrontend service ports + ports: + - name: grpc + port: 9095 + service: true + - name: http-metrics + port: 3100 + service: true service: - # -- Port of the query-frontend service - port: 16686 # -- Annotations for queryFrontend service annotations: {} # -- Labels for queryFrontend service @@ -1060,9 +1108,12 @@ enterpriseFederationFrontend: repository: null # -- Docker image tag for the federation-frontend image. Overrides `tempo.image.tag` tag: null + # -- Federation-frontend service ports + ports: + - name: http-metrics + port: 3100 + service: true service: - # -- Port of the federation-frontend service - port: 3100 # -- Annotations for enterpriseFederationFrontend service annotations: {} # -- Type of service for the enterpriseFederationFrontend @@ -1822,6 +1873,9 @@ minio: persistence: size: 5Gi resources: + limits: + cpu: 100m + memory: 128Mi requests: cpu: 100m memory: 128Mi @@ -1883,6 +1937,12 @@ gateway: extraVolumeMounts: [] # -- Resource requests and limits for the gateway resources: {} + # limits: + # cpu: 500m + # memory: 512Mi + # requests: + # cpu: 500m + # memory: 512Mi # -- Grace period to allow the gateway to shutdown before it is killed terminationGracePeriodSeconds: 30 # -- topologySpread for gateway pods. Passed through `tpl` and, thus, to be configured as string @@ -1918,6 +1978,8 @@ gateway: tolerations: [] # Gateway service configuration service: + # -- Port Name of the gateway service + name: http-gateway # -- Port of the gateway service port: 80 # -- Type of the gateway service @@ -1975,9 +2037,11 @@ gateway: readinessProbe: httpGet: path: / - port: http-metrics initialDelaySeconds: 15 timeoutSeconds: 1 + periodSeconds: 10 + successThreshold: 1 + failureThreshold: 3 nginxConfig: # -- NGINX log format logFormat: |- @@ -2072,32 +2136,32 @@ gateway: location ^~ /api { set $query_frontend {{ include "tempo.resourceName" (dict "ctx" . "component" "query-frontend") }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}; - proxy_pass http://$query_frontend:3100$request_uri; + proxy_pass http://$query_frontend:{{ .Values.queryFrontend.ports }}$request_uri; } location = /flush { set $ingester {{ include "tempo.resourceName" (dict "ctx" . "component" "ingester") }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}; - proxy_pass http://$ingester:3100$request_uri; + proxy_pass http://$ingester:{{ .Values.ingester.ports }}$request_uri; } location = /shutdown { set $ingester {{ include "tempo.resourceName" (dict "ctx" . "component" "ingester") }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}; - proxy_pass http://$ingester:3100$request_uri; + proxy_pass http://$ingester:{{ .Values.ingester.ports }}$request_uri; } location = /distributor/ring { set $distributor {{ include "tempo.resourceName" (dict "ctx" . "component" "distributor") }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}; - proxy_pass http://$distributor:3100$request_uri; + proxy_pass http://$distributor:{{ .Values.distributor.ports }}$request_uri; } location = /ingester/ring { set $distributor {{ include "tempo.resourceName" (dict "ctx" . "component" "distributor") }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}; - proxy_pass http://$distributor:3100$request_uri; + proxy_pass http://$distributor:{{ .Values.distributor.ports }}$request_uri; } location = /compactor/ring { set $compactor {{ include "tempo.resourceName" (dict "ctx" . "component" "compactor") }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}; - proxy_pass http://$compactor:3100$request_uri; + proxy_pass http://$compactor:{{ .Values.compactor.ports }}request_uri; } {{- with .Values.gateway.nginxConfig.serverSnippet }}