Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[tempo-distributed] Support specific nodePort assignments #3411

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
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.21.1
version: 1.21.2
appVersion: 2.6.0
engine: gotpl
home: https://grafana.com/docs/tempo/latest/
Expand Down
6 changes: 5 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.21.1](https://img.shields.io/badge/Version-1.21.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.6.0](https://img.shields.io/badge/AppVersion-2.6.0-informational?style=flat-square)
![Version: 1.21.2](https://img.shields.io/badge/Version-1.21.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.6.0](https://img.shields.io/badge/AppVersion-2.6.0-informational?style=flat-square)

Grafana Tempo in MicroService mode

Expand Down Expand Up @@ -351,6 +351,7 @@ The memcached default args are removed and should be provided manually. The sett
| distributor.service.labels | object | `{}` | Labels for distributor service |
| distributor.service.loadBalancerIP | string | `""` | If type is LoadBalancer you can assign the IP to the LoadBalancer |
| distributor.service.loadBalancerSourceRanges | list | `[]` | If type is LoadBalancer limit incoming traffic from IPs. |
| distributor.service.nodePorts | object | `{"grpc":null,"grpcJaeger":null,"grpcOtlp":null,"grpcOtlpLegacy":null,"jaegerBinary":null,"jaegerCompact":null,"jaegerHttp":null,"opencensus":null,"otlpHttp":null,"zipkin":null}` | If type is NodePort you can set specific `nodePort` values for each service. null will assign a random port |
| distributor.service.type | string | `"ClusterIP"` | Type of service for the distributor |
| distributor.serviceDiscovery.annotations | object | `{}` | Annotations for distributorDiscovery service |
| distributor.serviceDiscovery.labels | object | `{}` | Labels for distributorDiscovery service |
Expand Down Expand Up @@ -388,6 +389,7 @@ 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.nodePort | string | `nil` | If type is NodePort set the nodePort. Null will assign a random port |
| 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 |
Expand Down Expand Up @@ -429,6 +431,7 @@ The memcached default args are removed and should be provided manually. The sett
| enterpriseGateway.service.clusterIP | string | `nil` | ClusterIP of the enterprise gateway service |
| enterpriseGateway.service.labels | object | `{}` | Labels for enterprise gateway service |
| enterpriseGateway.service.loadBalancerIP | string | `nil` | Load balancer IPO address if service type is LoadBalancer for enterprise gateway service |
| enterpriseGateway.service.nodePort | string | `nil` | If type is NodePort, set a nodePort value. Null will assign a random port |
| enterpriseGateway.service.port | string | `nil` | Port of the enterprise gateway service; if left undefined, the service will listen on the same port as the pod |
| enterpriseGateway.service.type | string | `"ClusterIP"` | Type of the enterprise gateway service |
| enterpriseGateway.strategy.rollingUpdate.maxSurge | int | `0` | |
Expand Down Expand Up @@ -788,6 +791,7 @@ 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.nodePorts | object | `{"grpc":null,"jaegerMetrics":null,"jaegerUi":null,"metrics":null}` | If type is NodePort, set the 'nodePort'. Null will assign a random nodeport |
| 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 |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ spec:
port: 9095
protocol: TCP
targetPort: 9095
{{- if (and (eq .Values.distributor.service.type "NodePort") (.Values.distributor.service.nodePorts.grpc)) }}
nodePort: {{ .Values.distributor.service.nodePorts.grpc }}
{{- end }}
{{- if .Values.distributor.appProtocol.grpc }}
appProtocol: {{ .Values.distributor.appProtocol.grpc }}
{{- end }}
Expand All @@ -31,18 +34,27 @@ spec:
port: 6831
protocol: UDP
targetPort: jaeger-compact
{{- if (and (eq .Values.distributor.service.type "NodePort") (.Values.distributor.service.nodePorts.jaegerCompact)) }}
nodePort: {{ .Values.distributor.service.nodePorts.jaegerCompact }}
{{- end }}
{{- end }}
{{- if .Values.traces.jaeger.thriftBinary.enabled }}
- name: distributor-jaeger-thrift-binary
port: 6832
protocol: UDP
targetPort: jaeger-binary
{{- if (and (eq .Values.distributor.service.type "NodePort") (.Values.distributor.service.nodePorts.jaegerBinary)) }}
nodePort: {{ .Values.distributor.service.nodePorts.jaegerBinary }}
{{- end }}
{{- end }}
{{- if .Values.traces.jaeger.thriftHttp.enabled }}
- name: distributor-jaeger-thrift-http
port: 14268
protocol: TCP
targetPort: jaeger-http
{{- if (and (eq .Values.distributor.service.type "NodePort") (.Values.distributor.service.nodePorts.jaegerHttp)) }}
nodePort: {{ .Values.distributor.service.nodePorts.jaegerHttp }}
{{- end }}
{{- end }}
{{- if .Values.traces.jaeger.grpc.enabled }}
- name: grpc-distributor-jaeger
Expand All @@ -52,18 +64,27 @@ spec:
{{- if .Values.distributor.appProtocol.grpc }}
appProtocol: {{ .Values.distributor.appProtocol.grpc }}
{{- end }}
{{- if (and (eq .Values.distributor.service.type "NodePort") (.Values.distributor.service.nodePorts.grpcJaeger)) }}
nodePort: {{ .Values.distributor.service.nodePorts.grpcJaeger }}
{{- end }}
{{- end }}
{{- if .Values.traces.zipkin.enabled }}
- name: distributor-zipkin
port: 9411
protocol: TCP
targetPort: zipkin
{{- if (and (eq .Values.distributor.service.type "NodePort") (.Values.distributor.service.nodePorts.zipkin)) }}
nodePort: {{ .Values.distributor.service.nodePorts.zipkin }}
{{- end }}
{{- end }}
{{- if .Values.traces.otlp.http.enabled }}
- name: distributor-otlp-http
port: 4318
protocol: TCP
targetPort: otlp-http
{{- if (and (eq .Values.distributor.service.type "NodePort") (.Values.distributor.service.nodePorts.otlpHttp)) }}
nodePort: {{ .Values.distributor.service.nodePorts.otlpHttp }}
{{- end }}
{{- end }}
{{- if .Values.traces.otlp.grpc.enabled }}
- name: grpc-distributor-otlp
Expand All @@ -73,19 +94,28 @@ spec:
{{- if .Values.distributor.appProtocol.grpc }}
appProtocol: {{ .Values.distributor.appProtocol.grpc }}
{{- end }}
{{- if (and (eq .Values.distributor.service.type "NodePort") (.Values.distributor.service.nodePorts.grpcOtlp)) }}
nodePort: {{ .Values.distributor.service.nodePorts.grpcOtlp }}
{{- end }}
- name: distributor-otlp-legacy
port: 55680
protocol: TCP
targetPort: grpc-otlp
{{- if .Values.distributor.appProtocol.grpc }}
appProtocol: {{ .Values.distributor.appProtocol.grpc }}
{{- end }}
{{- if (and (eq .Values.distributor.service.type "NodePort") (.Values.distributor.service.nodePorts.grpcOtlpLegacy)) }}
nodePort: {{ .Values.distributor.service.nodePorts.grpcOtlpLegacy }}
{{- end }}
{{- end }}
{{- if .Values.traces.opencensus.enabled }}
- name: distributor-opencensus
port: 55678
protocol: TCP
targetPort: opencensus
{{- if (and (eq .Values.distributor.service.type "NodePort") (.Values.distributor.service.nodePorts.opencensus)) }}
nodePort: {{ .Values.distributor.service.nodePorts.opencensus }}
{{- end }}
{{- end }}
{{- if .Values.distributor.service.loadBalancerIP }}
loadBalancerIP: {{ .Values.distributor.service.loadBalancerIP }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ spec:
- name: http-metrics
port: 3100
targetPort: 3100
{{- if (and (eq .Values.enterpriseFederationFrontend.service.type "NodePort") (.Values.enterpriseFederationFrontend.service.nodePort)) }}
nodePort: {{ .Values.enterpriseFederationFrontend.service.nodePort }}
{{- end }}
{{- if .Values.enterpriseFederationFrontend.service.loadBalancerIP }}
loadBalancerIP: {{ .Values.enterpriseFederationFrontend.service.loadBalancerIP }}
{{- end }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ spec:
protocol: TCP
name: http-metrics
targetPort: http-metrics
{{- if (and (eq .Values.enterpriseGateway.service.type "NodePort") (.Values.enterpriseGateway.service.nodePort)) }}
nodePort: {{ .Values.enterpriseGateway.service.nodePort }}
{{- end }}
selector:
{{- include "tempo.selectorLabels" $dict | nindent 4 }}
{{- end -}}
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,32 @@ spec:
- name: http-metrics
port: 3100
targetPort: 3100
{{- if and (eq "NodePort" .Values.queryFrontend.service.type) .Values.queryFrontend.service.nodePorts.metrics }}
nodePort: {{ .Values.queryFrontend.service.nodePorts.metrics }}
{{- end }}
- name: grpc
port: 9095
protocol: TCP
targetPort: 9095
{{- if .Values.queryFrontend.appProtocol.grpc }}
appProtocol: {{ .Values.queryFrontend.appProtocol.grpc }}
{{- end }}
{{- if and (eq "NodePort" .Values.queryFrontend.service.type) .Values.queryFrontend.service.nodePorts.grpc }}
nodePort: {{ .Values.queryFrontend.service.nodePorts.grpc }}
{{- end }}
{{- if .Values.queryFrontend.query.enabled }}
- name: tempo-query-jaeger-ui
port: {{ .Values.queryFrontend.service.port }}
targetPort: {{ .Values.queryFrontend.service.port }}
{{- if and (eq "NodePort" .Values.queryFrontend.service.type) .Values.queryFrontend.service.nodePorts.jaegerUi }}
nodePort: {{ .Values.queryFrontend.service.nodePorts.jaegerUi }}
{{- end }}
- name: tempo-query-metrics
port: 16687
targetPort: jaeger-metrics
{{- if and (eq "NodePort" .Values.queryFrontend.service.type) .Values.queryFrontend.service.nodePorts.jaegerMetrics }}
nodePort: {{ .Values.queryFrontend.service.nodePorts.jaegerMetrics }}
{{- end }}
{{- end }}
{{- if .Values.queryFrontend.service.loadBalancerIP }}
loadBalancerIP: {{ .Values.queryFrontend.service.loadBalancerIP }}
Expand Down
23 changes: 23 additions & 0 deletions charts/tempo-distributed/values.yaml
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -478,6 +478,19 @@ distributor:
loadBalancerSourceRanges: []
# -- If type is LoadBalancer you can set it to 'Local' [preserve the client source IP](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip)
externalTrafficPolicy: null
# -- If type is NodePort you can set specific `nodePort` values for each service. null will assign a random port
nodePorts:
grpc: null
jaegerCompact: null
jaegerBinary: null
jaegerHttp: null
grpcJaeger: null
zipkin: null
otlpHttp: null
grpcOtlp: null
grpcOtlpLegacy: null
opencensus: null

serviceDiscovery:
# -- Annotations for distributorDiscovery service
annotations: {}
Expand Down Expand Up @@ -869,6 +882,12 @@ queryFrontend:
loadBalancerIP: ""
# -- If type is LoadBalancer limit incoming traffic from IPs.
loadBalancerSourceRanges: []
# -- If type is NodePort, set the 'nodePort'. Null will assign a random nodeport
nodePorts:
metrics: null
grpc: null
jaegerUi: null
jaegerMetrics: null
serviceDiscovery:
# -- Annotations for queryFrontendDiscovery service
annotations: {}
Expand Down Expand Up @@ -1001,6 +1020,8 @@ enterpriseFederationFrontend:
loadBalancerIP: ""
# -- If type is LoadBalancer limit incoming traffic from IPs.
loadBalancerSourceRanges: []
# -- If type is NodePort set the nodePort. Null will assign a random port
nodePort: null
# -- The name of the PriorityClass for federation-frontend pods
priorityClassName: null
# -- Labels for enterpriseFederationFrontend pods
Expand Down Expand Up @@ -2207,6 +2228,8 @@ enterpriseGateway:
annotations: {}
# -- Labels for enterprise gateway service
labels: {}
# -- If type is NodePort, set a nodePort value. Null will assign a random port
nodePort: null

strategy:
type: RollingUpdate
Expand Down
Loading