[bitnami/jaeger] Major release: Jaeger v2 (#35352)

* [bitnami/jaeger] Release 5.1.25 updating components versions

Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>

* [bitnami/jaeger] Major release: Jaeger v2

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

* Fix Markdown lint

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

* Fix values metadata

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

* Update CHANGELOG.md

Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>

* Update README.md with readme-generator-for-helm

Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>

* Fix cypress endpoint port

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

* Apply suggestions

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

* Update CHANGELOG.md

Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>

* Update README.md with readme-generator-for-helm

Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>

* Add configmap checksum annotation

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

* Add note on external cassandra keyspace

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

* Fix helper descriptions and empty lines

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

* Move helpers to the configmap templates

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

* Remove 'command' default

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

* Update helpers.tpl

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

* Add checksum annotation conditional

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

---------

Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>
Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>
Co-authored-by: Bitnami Bot <bitnami.bot@broadcom.com>
This commit is contained in:
Miguel Ruiz
2025-08-01 13:30:23 +02:00
committed by GitHub
parent ffd3f99eb1
commit 60e46acccc
17 changed files with 698 additions and 496 deletions

View File

@@ -2,16 +2,18 @@
# SPDX-License-Identifier: APACHE-2.0
http:
http://jaeger-collector:{{ .Vars.collector.service.ports.admin }}/:
http://jaeger-collector:{{ .Vars.collector.service.ports.otlp.http }}/v1/traces:
status: 405
body:
- method not allowed
http://jaeger-query:{{ .Vars.query.service.ports.http }}/:
status: 200
body:
- Server available
http://jaeger-query:{{ .Vars.query.service.ports.admin }}/:
status: 200
- Jaeger UI
http://localhost:{{ .Vars.collector.containerPorts.otlp.http }}/v1/traces:
status: 405
body:
- Server available
http://localhost:{{ .Vars.collector.containerPorts.admin }}/:
status: 200
- method not allowed
command:
check-cassandra-auth:
exec: \[ $CASSANDRA_USERNAME = {{ .Vars.cassandra.dbUser.user }} ] && [ $CASSANDRA_PASSWORD = {{ .Vars.cassandra.dbUser.password }} ] && [ $CASSANDRA_KEYSPACE = {{ .Vars.cassandra.keyspace }} ];

View File

@@ -5,7 +5,7 @@ query:
args: ['all']
env:
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://jaeger-collector:4318
value: http://jaeger-collector:14318
securityContext:
runAsNonRoot: true
privileged: false
@@ -40,14 +40,16 @@ query:
service:
type: LoadBalancer
ports:
admin: 16688
api: 80
grpc: 16688
http: 80
collector:
service:
ports:
admin: 14270
otlp:
http: 14318
containerPorts:
admin: 14771
otlp:
http: 14318
podSecurityContext:
enabled: true
fsGroup: 1002

View File

@@ -61,7 +61,7 @@
"resources": {
"path": "/.vib/jaeger/cypress"
},
"endpoint": "lb-jaeger-query-api",
"endpoint": "lb-jaeger-query-http",
"app_protocol": "HTTP"
}
},

View File

@@ -1,8 +1,12 @@
# Changelog
## 5.1.24 (2025-07-09)
## 6.0.0 (2025-08-01)
* [bitnami/jaeger] :zap: :arrow_up: Update dependency references ([#34908](https://github.com/bitnami/charts/pull/34908))
* [bitnami/jaeger] Major release: Jaeger v2 ([#35352](https://github.com/bitnami/charts/pull/35352))
## <small>5.1.24 (2025-07-09)</small>
* [bitnami/jaeger] :zap: :arrow_up: Update dependency references (#34908) ([d016eb3](https://github.com/bitnami/charts/commit/d016eb3d2d5f905a778ed57e4557569abc649e2f)), closes [#34908](https://github.com/bitnami/charts/issues/34908)
## <small>5.1.23 (2025-07-05)</small>

View File

@@ -5,9 +5,9 @@ annotations:
category: Infrastructure
images: |
- name: cassandra
image: docker.io/bitnami/cassandra:5.0.4-debian-12-r6
image: docker.io/bitnami/cassandra:5.0.4-debian-12-r7
- name: jaeger
image: docker.io/bitnami/jaeger:2.8.0-debian-12-r2
image: docker.io/bitnami/jaeger:2.8.0-debian-12-r4
licenses: Apache-2.0
tanzuCategory: clusterUtility
apiVersion: v2
@@ -36,4 +36,4 @@ maintainers:
name: jaeger
sources:
- https://github.com/bitnami/charts/tree/main/bitnami/jaeger
version: 5.1.24
version: 6.0.0

View File

@@ -86,6 +86,8 @@ externalDatabase.host=myexternalhost
externalDatabase.port=9042
```
The Jaeger keyspace needs to be created in the external Cassandra database prior to the deployment, otherwise Jaeger won't be able to initialise.
### Additional environment variables
In case you want to add extra environment variables (useful for advanced operations like custom init scripts), you can use the `extraEnvVars` property inside each of the subsections: `collector`, `query`.
@@ -231,14 +233,20 @@ The [Bitnami jaeger](https://github.com/bitnami/containers/tree/main/bitnami/jae
| `query.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if query.resources is set (query.resources is recommended for production). | `small` |
| `query.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
| `query.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for jaeger container | `[]` |
| `query.containerPorts.grpc` | Port for GRPC | `16685` |
| `query.containerPorts.api` | Port for API | `16686` |
| `query.containerPorts.admin` | Port for admin | `16687` |
| `query.configuration` | Specify content for Jaeger collector configuration (auto-generated based on other values otherwise) | `{}` |
| `query.overrideConfiguration` | Jaeger query common configuration override. Values defined here takes precedence over the ones defined at `query.configuration` | `{}` |
| `query.existingConfigmap` | The name of an existing ConfigMap with your custom configuration for Jaeger collector | `""` |
| `query.containerPorts.grpc` | Port for GRPC API | `16685` |
| `query.containerPorts.http` | Port for HTTP API | `16686` |
| `query.containerPorts.metrics` | Jaeger query prometheus metrics port | `8888` |
| `query.containerPorts.healthcheck` | Jaeger query healthcheck port | `13133` |
| `query.service.type` | Jaeger service type | `ClusterIP` |
| `query.service.ports.api` | Port for API | `16686` |
| `query.service.ports.admin` | Port for admin | `16687` |
| `query.service.nodePorts.api` | Node port for API | `""` |
| `query.service.nodePorts.admin` | Node port for admin | `""` |
| `query.service.ports.grpc` | Port for gRPC API | `16685` |
| `query.service.ports.http` | Port for API | `16686` |
| `query.service.ports.metrics` | Jaeger query prometheus metrics port | `8888` |
| `query.service.nodePorts.grpc` | Port for gRPC API | `""` |
| `query.service.nodePorts.http` | Node port for API | `""` |
| `query.service.nodePorts.metrics` | Jaeger query prometheus metrics port | `""` |
| `query.service.extraPorts` | Extra ports to expose in the service (normally used with the `sidecar` value) | `[]` |
| `query.service.loadBalancerIP` | LoadBalancerIP if service type is `LoadBalancer` | `""` |
| `query.service.loadBalancerSourceRanges` | Service Load Balancer sources | `[]` |
@@ -298,150 +306,155 @@ The [Bitnami jaeger](https://github.com/bitnami/containers/tree/main/bitnami/jae
### Collector deployment parameters
| Name | Description | Value |
| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| `collector.command` | Command for running the container (set to default if not set). Use array form | `[]` |
| `collector.args` | Args for running the container (set to default if not set). Use array form | `[]` |
| `collector.automountServiceAccountToken` | Mount Service Account token in pod | `false` |
| `collector.hostAliases` | Set pod host aliases | `[]` |
| `collector.lifecycleHooks` | Override default etcd container hooks | `{}` |
| `collector.extraEnvVars` | Extra environment variables to be set on jaeger container | `[]` |
| `collector.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars | `""` |
| `collector.extraEnvVarsSecret` | Name of existing Secret containing extra env vars | `""` |
| `collector.replicaCount` | Number of Jaeger replicas | `1` |
| `collector.livenessProbe.enabled` | Enable livenessProbe on collector nodes | `true` |
| `collector.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `10` |
| `collector.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` |
| `collector.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `1` |
| `collector.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `3` |
| `collector.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
| `collector.startupProbe.enabled` | Enable startupProbe on collector containers | `false` |
| `collector.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `10` |
| `collector.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` |
| `collector.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `1` |
| `collector.startupProbe.failureThreshold` | Failure threshold for startupProbe | `15` |
| `collector.startupProbe.successThreshold` | Success threshold for startupProbe | `1` |
| `collector.readinessProbe.enabled` | Enable readinessProbe | `true` |
| `collector.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `10` |
| `collector.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` |
| `collector.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` |
| `collector.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `15` |
| `collector.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
| `collector.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` |
| `collector.customStartupProbe` | Override default startup probe | `{}` |
| `collector.customReadinessProbe` | Override default readiness probe | `{}` |
| `collector.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if collector.resources is set (collector.resources is recommended for production). | `small` |
| `collector.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
| `collector.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for jaeger container | `[]` |
| `collector.containerPorts.zipkin` | can accept Zipkin spans in Thrift, JSON and Proto (disabled by default) | `9411` |
| `collector.containerPorts.grpc` | used by jaeger-collector to send spans in model.proto format | `14250` |
| `collector.containerPorts.binary` | can accept spans directly from clients in jaeger.thrift format over binary thrift protocol | `14268` |
| `collector.containerPorts.admin` | Admin port: health check at / and metrics at /metrics | `14269` |
| `collector.containerPorts.otlp.grpc` | Accepts traces in OpenTelemetry OTLP format over gRPC | `4317` |
| `collector.containerPorts.otlp.http` | Accepts traces in OpenTelemetry OTLP format over HTTP | `4318` |
| `collector.service.type` | Jaeger service type | `ClusterIP` |
| `collector.service.ports.zipkin` | can accept Zipkin spans in Thrift, JSON and Proto (disabled by default) | `9411` |
| `collector.service.ports.grpc` | used by jaeger-collector to send spans in model.proto format | `14250` |
| `collector.service.ports.binary` | can accept spans directly from clients in jaeger.thrift format over binary thrift protocol | `14268` |
| `collector.service.ports.admin` | Admin port: health check at / and metrics at /metrics | `14269` |
| `collector.service.ports.otlp.grpc` | Accepts traces in OpenTelemetry OTLP format over gRPC | `4317` |
| `collector.service.ports.otlp.http` | Accepts traces in OpenTelemetry OTLP format over HTTP | `4318` |
| `collector.service.nodePorts.zipkin` | can accept Zipkin spans in Thrift, JSON and Proto (disabled by default) | `""` |
| `collector.service.nodePorts.grpc` | used by jaeger-collector to send spans in model.proto format | `""` |
| `collector.service.nodePorts.binary` | can accept spans directly from clients in jaeger.thrift format over binary thrift protocol | `""` |
| `collector.service.nodePorts.admin` | Admin port: health check at / and metrics at /metrics | `""` |
| `collector.service.nodePorts.otlp.grpc` | Accepts traces in OpenTelemetry OTLP format over gRPC | `""` |
| `collector.service.nodePorts.otlp.http` | Accepts traces in OpenTelemetry OTLP format over HTTP | `""` |
| `collector.service.extraPorts` | Extra ports to expose in the service (normally used with the `sidecar` value) | `[]` |
| `collector.service.loadBalancerIP` | LoadBalancerIP if service type is `LoadBalancer` | `""` |
| `collector.service.loadBalancerSourceRanges` | Service Load Balancer sources | `[]` |
| `collector.service.clusterIP` | Service Cluster IP | `""` |
| `collector.service.externalTrafficPolicy` | Service external traffic policy | `Cluster` |
| `collector.service.annotations` | Provide any additional annotations which may be required. | `{}` |
| `collector.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
| `collector.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
| `collector.service.metrics.annotations` | Annotations for Prometheus metrics | `{}` |
| `collector.networkPolicy.enabled` | Specifies whether a NetworkPolicy should be created | `true` |
| `collector.networkPolicy.allowExternal` | Don't require server label for connections | `true` |
| `collector.networkPolicy.allowExternalEgress` | Allow the pod to access any range of port and all destinations. | `true` |
| `collector.networkPolicy.extraIngress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `collector.networkPolicy.extraEgress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `collector.networkPolicy.ingressNSMatchLabels` | Labels to match to allow traffic from other namespaces | `{}` |
| `collector.networkPolicy.ingressNSPodMatchLabels` | Pod labels to match to allow traffic from other namespaces | `{}` |
| `collector.serviceAccount.create` | Enables ServiceAccount | `true` |
| `collector.serviceAccount.name` | ServiceAccount name | `""` |
| `collector.serviceAccount.annotations` | Annotations to add to all deployed objects | `{}` |
| `collector.serviceAccount.automountServiceAccountToken` | Automount API credentials for a service account. | `false` |
| `collector.podSecurityContext.enabled` | Enabled Jaeger pods' Security Context | `true` |
| `collector.podSecurityContext.fsGroupChangePolicy` | Set filesystem group change policy | `Always` |
| `collector.podSecurityContext.sysctls` | Set kernel settings using the sysctl interface | `[]` |
| `collector.podSecurityContext.supplementalGroups` | Set filesystem extra groups | `[]` |
| `collector.podSecurityContext.fsGroup` | Set Jaeger pod's Security Context fsGroup | `1001` |
| `collector.containerSecurityContext.enabled` | Enabled containers' Security Context | `true` |
| `collector.containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `{}` |
| `collector.containerSecurityContext.runAsUser` | Set containers' Security Context runAsUser | `1001` |
| `collector.containerSecurityContext.runAsGroup` | Set containers' Security Context runAsGroup | `1001` |
| `collector.containerSecurityContext.runAsNonRoot` | Set container's Security Context runAsNonRoot | `true` |
| `collector.containerSecurityContext.privileged` | Set container's Security Context privileged | `false` |
| `collector.containerSecurityContext.readOnlyRootFilesystem` | Set container's Security Context readOnlyRootFilesystem | `true` |
| `collector.containerSecurityContext.allowPrivilegeEscalation` | Set container's Security Context allowPrivilegeEscalation | `false` |
| `collector.containerSecurityContext.capabilities.drop` | List of capabilities to be dropped | `["ALL"]` |
| `collector.containerSecurityContext.seccompProfile.type` | Set container's Security Context seccomp profile | `RuntimeDefault` |
| `collector.podAnnotations` | Additional pod annotations | `{}` |
| `collector.podLabels` | Additional pod labels | `{}` |
| `collector.podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `collector.podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `collector.nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `collector.nodeAffinityPreset.key` | Node label key to match. Ignored if `affinity` is set | `""` |
| `collector.nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set | `[]` |
| `collector.priorityClassName` | Server priorityClassName | `""` |
| `collector.affinity` | Affinity for pod assignment | `{}` |
| `collector.nodeSelector` | Node labels for pod assignment | `{}` |
| `collector.tolerations` | Tolerations for pod assignment | `[]` |
| `collector.topologySpreadConstraints` | Topology Spread Constraints for pod assignment | `[]` |
| `collector.schedulerName` | Alternative scheduler | `""` |
| `collector.updateStrategy.type` | Jaeger collector deployment strategy type | `RollingUpdate` |
| `collector.updateStrategy.rollingUpdate` | Jaeger collector deployment rolling update configuration parameters | `{}` |
| `collector.extraVolumes` | Optionally specify extra list of additional volumes for jaeger container | `[]` |
| `collector.initContainers` | Add additional init containers to the jaeger pods | `[]` |
| `collector.pdb.create` | Enable/disable a Pod Disruption Budget creation | `true` |
| `collector.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `collector.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `collector.pdb.minAvailable` and `collector.pdb.maxUnavailable` are empty. | `""` |
| `collector.sidecars` | Add additional sidecar containers to the jaeger pods | `[]` |
| `migration.podLabels` | Additional pod labels | `{}` |
| `migration.podAnnotations` | Additional pod annotations | `{}` |
| `migration.annotations` | Provide any additional annotations which may be required. | `{}` |
| `migration.podSecurityContext.enabled` | Enabled Jaeger pods' Security Context | `true` |
| `migration.podSecurityContext.fsGroupChangePolicy` | Set filesystem group change policy | `Always` |
| `migration.podSecurityContext.sysctls` | Set kernel settings using the sysctl interface | `[]` |
| `migration.podSecurityContext.supplementalGroups` | Set filesystem extra groups | `[]` |
| `migration.podSecurityContext.fsGroup` | Set Jaeger pod's Security Context fsGroup | `1001` |
| `migration.containerSecurityContext.enabled` | Enabled containers' Security Context | `true` |
| `migration.containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `{}` |
| `migration.containerSecurityContext.runAsUser` | Set containers' Security Context runAsUser | `1001` |
| `migration.containerSecurityContext.runAsGroup` | Set containers' Security Context runAsGroup | `1001` |
| `migration.containerSecurityContext.runAsNonRoot` | Set container's Security Context runAsNonRoot | `true` |
| `migration.containerSecurityContext.privileged` | Set container's Security Context privileged | `false` |
| `migration.containerSecurityContext.readOnlyRootFilesystem` | Set container's Security Context readOnlyRootFilesystem | `true` |
| `migration.containerSecurityContext.allowPrivilegeEscalation` | Set container's Security Context allowPrivilegeEscalation | `false` |
| `migration.containerSecurityContext.capabilities.drop` | List of capabilities to be dropped | `["ALL"]` |
| `migration.containerSecurityContext.seccompProfile.type` | Set container's Security Context seccomp profile | `RuntimeDefault` |
| `migration.extraEnvVars` | Extra environment variables to be set on jaeger migration container | `[]` |
| `migration.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars | `""` |
| `migration.extraEnvVarsSecret` | Name of existing Secret containing extra env vars | `""` |
| `migration.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for jaeger container | `[]` |
| `migration.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if migration.resources is set (migration.resources is recommended for production). | `small` |
| `migration.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
| `migration.initContainer.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if migration.resources is set (migration.resources is recommended for production). | `nano` |
| `migration.initContainer.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
| `migration.networkPolicy.enabled` | Specifies whether a NetworkPolicy should be created | `true` |
| `migration.networkPolicy.allowExternal` | Don't require server label for connections | `true` |
| `migration.networkPolicy.allowExternalEgress` | Allow the pod to access any range of port and all destinations. | `true` |
| `migration.networkPolicy.extraIngress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `migration.networkPolicy.extraEgress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `migration.networkPolicy.ingressNSMatchLabels` | Labels to match to allow traffic from other namespaces | `{}` |
| `migration.networkPolicy.ingressNSPodMatchLabels` | Pod labels to match to allow traffic from other namespaces | `{}` |
| `migration.extraVolumes` | Optionally specify extra list of additional volumes for jaeger container | `[]` |
| Name | Description | Value |
| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
| `collector.command` | Command for running the container (set to default if not set). Use array form | `[]` |
| `collector.args` | Args for running the container (set to default if not set). Use array form | `[]` |
| `collector.automountServiceAccountToken` | Mount Service Account token in pod | `false` |
| `collector.hostAliases` | Set pod host aliases | `[]` |
| `collector.lifecycleHooks` | Override default etcd container hooks | `{}` |
| `collector.extraEnvVars` | Extra environment variables to be set on jaeger container | `[]` |
| `collector.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars | `""` |
| `collector.extraEnvVarsSecret` | Name of existing Secret containing extra env vars | `""` |
| `collector.replicaCount` | Number of Jaeger replicas | `1` |
| `collector.livenessProbe.enabled` | Enable livenessProbe on collector nodes | `true` |
| `collector.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `10` |
| `collector.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` |
| `collector.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `1` |
| `collector.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `3` |
| `collector.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
| `collector.startupProbe.enabled` | Enable startupProbe on collector containers | `false` |
| `collector.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `10` |
| `collector.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` |
| `collector.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `1` |
| `collector.startupProbe.failureThreshold` | Failure threshold for startupProbe | `15` |
| `collector.startupProbe.successThreshold` | Success threshold for startupProbe | `1` |
| `collector.readinessProbe.enabled` | Enable readinessProbe | `true` |
| `collector.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `10` |
| `collector.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` |
| `collector.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` |
| `collector.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `15` |
| `collector.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
| `collector.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` |
| `collector.customStartupProbe` | Override default startup probe | `{}` |
| `collector.customReadinessProbe` | Override default readiness probe | `{}` |
| `collector.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if collector.resources is set (collector.resources is recommended for production). | `small` |
| `collector.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
| `collector.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for jaeger container | `[]` |
| `collector.configuration` | Specify content for Jaeger collector configuration (auto-generated based on other values otherwise) | `{}` |
| `collector.overrideConfiguration` | Jaeger collector common configuration override. Values defined here takes precedence over the ones defined at `query.configuration` | `{}` |
| `collector.existingConfigmap` | The name of an existing ConfigMap with your custom configuration for Jaeger collector | `""` |
| `collector.receivers` | Sets the jaeger collector receivers that will be enabled | `["otlp","jaeger","zipkin"]` |
| `collector.containerPorts.otlp.grpc` | Accepts traces in OpenTelemetry OTLP format over gRPC | `4317` |
| `collector.containerPorts.otlp.http` | Accepts traces in OpenTelemetry OTLP format over HTTP | `4318` |
| `collector.containerPorts.jaeger.grpc` | Legacy Jaeger protobuf via gRPC API port | `14250` |
| `collector.containerPorts.jaeger.thrift_http` | Legacy Jaeger Thrift over HTTP API port | `14268` |
| `collector.containerPorts.zipkin` | can accept Zipkin spans in Thrift, JSON and Proto (disabled by default) | `9411` |
| `collector.containerPorts.metrics` | Jaeger collector prometheus metrics port | `8888` |
| `collector.containerPorts.healthcheck` | Jaeger collector healthcheck port | `13133` |
| `collector.service.type` | Jaeger service type | `ClusterIP` |
| `collector.service.ports.otlp.grpc` | Accepts traces in OpenTelemetry OTLP format over gRPC | `4317` |
| `collector.service.ports.otlp.http` | Accepts traces in OpenTelemetry OTLP format over HTTP | `4318` |
| `collector.service.ports.jaeger.grpc` | Legacy Jaeger protobuf via gRPC API port | `14250` |
| `collector.service.ports.jaeger.thrift_http` | Legacy Jaeger Thrift over HTTP API port | `14268` |
| `collector.service.ports.zipkin` | can accept Zipkin spans in Thrift, JSON and Proto (disabled by default) | `9411` |
| `collector.service.ports.metrics` | Jaeger collector prometheus metrics port | `8888` |
| `collector.service.nodePorts.otlp.grpc` | Accepts traces in OpenTelemetry OTLP format over gRPC | `""` |
| `collector.service.nodePorts.otlp.http` | Accepts traces in OpenTelemetry OTLP format over HTTP | `""` |
| `collector.service.nodePorts.jaeger.grpc` | Legacy Jaeger protobuf via gRPC API port | `""` |
| `collector.service.nodePorts.jaeger.thrift_http` | Legacy Jaeger Thrift over HTTP API port | `""` |
| `collector.service.nodePorts.zipkin` | can accept Zipkin spans in Thrift, JSON and Proto (disabled by default) | `""` |
| `collector.service.nodePorts.metrics` | Jaeger collector prometheus metrics port | `""` |
| `collector.service.extraPorts` | Extra ports to expose in the service (normally used with the `sidecar` value) | `[]` |
| `collector.service.loadBalancerIP` | LoadBalancerIP if service type is `LoadBalancer` | `""` |
| `collector.service.loadBalancerSourceRanges` | Service Load Balancer sources | `[]` |
| `collector.service.clusterIP` | Service Cluster IP | `""` |
| `collector.service.externalTrafficPolicy` | Service external traffic policy | `Cluster` |
| `collector.service.annotations` | Provide any additional annotations which may be required. | `{}` |
| `collector.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
| `collector.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
| `collector.service.metrics.annotations` | Annotations for Prometheus metrics | `{}` |
| `collector.networkPolicy.enabled` | Specifies whether a NetworkPolicy should be created | `true` |
| `collector.networkPolicy.allowExternal` | Don't require server label for connections | `true` |
| `collector.networkPolicy.allowExternalEgress` | Allow the pod to access any range of port and all destinations. | `true` |
| `collector.networkPolicy.extraIngress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `collector.networkPolicy.extraEgress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `collector.networkPolicy.ingressNSMatchLabels` | Labels to match to allow traffic from other namespaces | `{}` |
| `collector.networkPolicy.ingressNSPodMatchLabels` | Pod labels to match to allow traffic from other namespaces | `{}` |
| `collector.serviceAccount.create` | Enables ServiceAccount | `true` |
| `collector.serviceAccount.name` | ServiceAccount name | `""` |
| `collector.serviceAccount.annotations` | Annotations to add to all deployed objects | `{}` |
| `collector.serviceAccount.automountServiceAccountToken` | Automount API credentials for a service account. | `false` |
| `collector.podSecurityContext.enabled` | Enabled Jaeger pods' Security Context | `true` |
| `collector.podSecurityContext.fsGroupChangePolicy` | Set filesystem group change policy | `Always` |
| `collector.podSecurityContext.sysctls` | Set kernel settings using the sysctl interface | `[]` |
| `collector.podSecurityContext.supplementalGroups` | Set filesystem extra groups | `[]` |
| `collector.podSecurityContext.fsGroup` | Set Jaeger pod's Security Context fsGroup | `1001` |
| `collector.containerSecurityContext.enabled` | Enabled containers' Security Context | `true` |
| `collector.containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `{}` |
| `collector.containerSecurityContext.runAsUser` | Set containers' Security Context runAsUser | `1001` |
| `collector.containerSecurityContext.runAsGroup` | Set containers' Security Context runAsGroup | `1001` |
| `collector.containerSecurityContext.runAsNonRoot` | Set container's Security Context runAsNonRoot | `true` |
| `collector.containerSecurityContext.privileged` | Set container's Security Context privileged | `false` |
| `collector.containerSecurityContext.readOnlyRootFilesystem` | Set container's Security Context readOnlyRootFilesystem | `true` |
| `collector.containerSecurityContext.allowPrivilegeEscalation` | Set container's Security Context allowPrivilegeEscalation | `false` |
| `collector.containerSecurityContext.capabilities.drop` | List of capabilities to be dropped | `["ALL"]` |
| `collector.containerSecurityContext.seccompProfile.type` | Set container's Security Context seccomp profile | `RuntimeDefault` |
| `collector.podAnnotations` | Additional pod annotations | `{}` |
| `collector.podLabels` | Additional pod labels | `{}` |
| `collector.podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `collector.podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `collector.nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `collector.nodeAffinityPreset.key` | Node label key to match. Ignored if `affinity` is set | `""` |
| `collector.nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set | `[]` |
| `collector.priorityClassName` | Server priorityClassName | `""` |
| `collector.affinity` | Affinity for pod assignment | `{}` |
| `collector.nodeSelector` | Node labels for pod assignment | `{}` |
| `collector.tolerations` | Tolerations for pod assignment | `[]` |
| `collector.topologySpreadConstraints` | Topology Spread Constraints for pod assignment | `[]` |
| `collector.schedulerName` | Alternative scheduler | `""` |
| `collector.updateStrategy.type` | Jaeger collector deployment strategy type | `RollingUpdate` |
| `collector.updateStrategy.rollingUpdate` | Jaeger collector deployment rolling update configuration parameters | `{}` |
| `collector.extraVolumes` | Optionally specify extra list of additional volumes for jaeger container | `[]` |
| `collector.initContainers` | Add additional init containers to the jaeger pods | `[]` |
| `collector.pdb.create` | Enable/disable a Pod Disruption Budget creation | `true` |
| `collector.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `collector.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `collector.pdb.minAvailable` and `collector.pdb.maxUnavailable` are empty. | `""` |
| `collector.sidecars` | Add additional sidecar containers to the jaeger pods | `[]` |
| `migration.podLabels` | Additional pod labels | `{}` |
| `migration.podAnnotations` | Additional pod annotations | `{}` |
| `migration.annotations` | Provide any additional annotations which may be required. | `{}` |
| `migration.podSecurityContext.enabled` | Enabled Jaeger pods' Security Context | `true` |
| `migration.podSecurityContext.fsGroupChangePolicy` | Set filesystem group change policy | `Always` |
| `migration.podSecurityContext.sysctls` | Set kernel settings using the sysctl interface | `[]` |
| `migration.podSecurityContext.supplementalGroups` | Set filesystem extra groups | `[]` |
| `migration.podSecurityContext.fsGroup` | Set Jaeger pod's Security Context fsGroup | `1001` |
| `migration.containerSecurityContext.enabled` | Enabled containers' Security Context | `true` |
| `migration.containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `{}` |
| `migration.containerSecurityContext.runAsUser` | Set containers' Security Context runAsUser | `1001` |
| `migration.containerSecurityContext.runAsGroup` | Set containers' Security Context runAsGroup | `1001` |
| `migration.containerSecurityContext.runAsNonRoot` | Set container's Security Context runAsNonRoot | `true` |
| `migration.containerSecurityContext.privileged` | Set container's Security Context privileged | `false` |
| `migration.containerSecurityContext.readOnlyRootFilesystem` | Set container's Security Context readOnlyRootFilesystem | `true` |
| `migration.containerSecurityContext.allowPrivilegeEscalation` | Set container's Security Context allowPrivilegeEscalation | `false` |
| `migration.containerSecurityContext.capabilities.drop` | List of capabilities to be dropped | `["ALL"]` |
| `migration.containerSecurityContext.seccompProfile.type` | Set container's Security Context seccomp profile | `RuntimeDefault` |
| `migration.extraEnvVars` | Extra environment variables to be set on jaeger migration container | `[]` |
| `migration.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars | `""` |
| `migration.extraEnvVarsSecret` | Name of existing Secret containing extra env vars | `""` |
| `migration.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for jaeger container | `[]` |
| `migration.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if migration.resources is set (migration.resources is recommended for production). | `small` |
| `migration.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
| `migration.initContainer.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if migration.resources is set (migration.resources is recommended for production). | `nano` |
| `migration.initContainer.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
| `migration.networkPolicy.enabled` | Specifies whether a NetworkPolicy should be created | `true` |
| `migration.networkPolicy.allowExternal` | Don't require server label for connections | `true` |
| `migration.networkPolicy.allowExternalEgress` | Allow the pod to access any range of port and all destinations. | `true` |
| `migration.networkPolicy.extraIngress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `migration.networkPolicy.extraEgress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `migration.networkPolicy.ingressNSMatchLabels` | Labels to match to allow traffic from other namespaces | `{}` |
| `migration.networkPolicy.ingressNSPodMatchLabels` | Pod labels to match to allow traffic from other namespaces | `{}` |
| `migration.extraVolumes` | Optionally specify extra list of additional volumes for jaeger container | `[]` |
### Set the image to use for the migration job
@@ -475,6 +488,7 @@ The [Bitnami jaeger](https://github.com/bitnami/containers/tree/main/bitnami/jae
| `cassandra.dbUser.password` | Password for `dbUser.user`. Randomly generated if empty | `""` |
| `cassandra.dbUser.existingSecret` | Name of an existing secret containing the user password. | `""` |
| `cassandra.service.ports.cql` | Cassandra cql port | `9042` |
| `cassandra.initDB` | Init script for initializing the instance | `{}` |
| `cassandra.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production). | `large` |
| `cassandra.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
@@ -486,6 +500,19 @@ Find more information about how to deal with common errors related to Bitnami's
## Upgrading
### To 6.0.0
This major release updates Jaeger to its new major Jaeger v2. Previous releases of the chart (5.x.x) have been tagged as Jaeger v2, but due to an issue the chart continued using the Jaeger v1 binaries.
Starting from this version, the chart will use the Jaeger v2 binary and the container will no longer include Jaeger v1 binaries in the v2 images.
Additionally, this major release introduces the following changes:
- Removes the cassandra-schema init job, as Jaeger v2 is capable of initializing the schema.
- Removed the `admin`, `binary` and `grpc` collector port values. Added jaeger legacy ports `jaeger.grpc` (previously `grpc`) and `jaeger.thrift_http` (previously `binary`).
- Jaeger v2 no longer supports the `admin` port. Prometheus metrics and healthcheck capabilities have been moved into the new ports `metrics` and `healthcheck` for both collector and query nodes.
- Introduced the jaeger-query and jaeger-collector configmaps, as Jaeger v2 no longer supports configuration via environment variables. Added values `collector.configuration`/`query.configuration` and `collector.existingConfigmap`/`query.existingConfigmap` to customize configuration.
### To 5.1.0
This version introduces image verification for security purposes. To disable it, set `global.security.allowInsecureImages` to `true`. More details at [GitHub issue](https://github.com/bitnami/charts/issues/30850).
@@ -527,4 +554,4 @@ Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.

View File

@@ -35,6 +35,27 @@ Create the name of the query deployment
{{- include "common.names.dependency.fullname" (dict "chartName" "cassandra" "chartValues" .Values.cassandra "context" $) -}}
{{- end -}}
{{/*
Return the Jaeger Cassandra storage backed configuration.
This is shared by both collector and query components
*/}}
{{- define "jaeger.cassandra.storage" -}}
cassandra:
schema:
keyspace: "${env:CASSANDRA_KEYSPACE}"
create: true
datacenter: "${env:CASSANDRA_DATACENTER}"
connection:
servers: ["${env:CASSANDRA_SERVERS}:${env:CASSANDRA_PORT}"]
auth:
basic:
username: "${env:CASSANDRA_USERNAME}"
password: "${env:CASSANDRA_PASSWORD}"
allowed_authenticators: ["org.apache.cassandra.auth.PasswordAuthenticator"]
tls:
insecure: true
{{- end }}
{{/*
Return the proper Docker Image Registry Secret Names
*/}}
@@ -101,6 +122,28 @@ Create a container for checking cassandra availability
{{- end }}
{{- end -}}
{{/*
Get the jaeger collector configmap name
*/}}
{{- define "jaeger.collector.configMapName" -}}
{{- if .Values.collector.existingConfigmap -}}
{{- print (tpl .Values.collector.existingConfigmap .) -}}
{{- else -}}
{{- print (include "jaeger.collector.fullname" .) -}}
{{- end -}}
{{- end -}}
{{/*
Get the jaeger query configmap name
*/}}
{{- define "jaeger.query.configMapName" -}}
{{- if .Values.query.existingConfigmap -}}
{{- print (tpl .Values.query.existingConfigmap .) -}}
{{- else -}}
{{- print (include "jaeger.query.fullname" .) -}}
{{- end -}}
{{- end -}}
{{/*
Create the name of the service account to use for the collector
*/}}
@@ -198,14 +241,17 @@ Create the cassandra datacenter
{{- end -}}
{{/*
Create the cassandra keyspace
Return the cassandra keyspace
*/}}
{{- define "jaeger.cassandra.keyspace" -}}
{{- if not .Values.cassandra.enabled -}}
{{- .Values.externalDatabase.keyspace | quote -}}
{{- else }}
{{- .Values.cassandra.keyspace | quote -}}
{{- end -}}
{{- if .Values.keyspace }}
{{- /* Inside cassandra subchart */ -}}
{{- print .Values.keyspace -}}
{{- else if .Values.cassandra.enabled }}
{{- print .Values.cassandra.keyspace -}}
{{- else -}}
{{- print .Values.externalDatabase.keyspace -}}
{{- end -}}
{{- end -}}
{{/*

View File

@@ -0,0 +1,89 @@
{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{/*
Return the Jaeger collector configuration.
*/}}
{{- define "jaeger.collector.configuration" -}}
{{- if .Values.collector.configuration }}
{{- include "common.tplvalues.render" (dict "value" .Values.collector.configuration "context" .) }}
{{- else }}
service:
extensions: [jaeger_storage, healthcheckv2]
pipelines:
traces:
receivers: {{ include "common.tplvalues.render" (dict "value" .Values.collector.receivers "context" .) | nindent 12 }}
processors: [batch]
exporters: [jaeger_storage_exporter]
telemetry:
resource:
service.name: jaeger-collector
metrics:
level: detailed
readers:
- pull:
exporter:
prometheus:
host: 0.0.0.0
port: "${env:COLLECTOR_METRICS_PORT}"
logs:
level: info
extensions:
healthcheckv2:
use_v2: true
http:
endpoint: "${env:COLLECTOR_HEALTHCHECK_HOST_PORT}"
jaeger_storage:
backends:
jaeger_storage: {{ include "jaeger.cassandra.storage" . | nindent 8 }}
receivers:
{{- if has "otlp" .Values.collector.receivers }}
otlp:
protocols:
grpc:
endpoint: "${env:COLLECTOR_OTLP_GRPC_HOST_PORT}"
http:
endpoint: "${env:COLLECTOR_OTLP_HTTP_HOST_PORT}"
{{- end }}
{{- if has "jaeger" .Values.collector.receivers }}
jaeger:
protocols:
grpc:
endpoint: "${env:COLLECTOR_JAEGER_GRPC_SERVER_HOST_PORT}"
thrift_http:
endpoint: "${env:COLLECTOR_JAEGER_THRIFT_HTTP_HOST_PORT}"
{{- end }}
{{- if has "zipkin" .Values.collector.receivers }}
zipkin:
endpoint: "${env:COLLECTOR_ZIPKIN_HOST_PORT}"
{{- end }}
processors:
batch:
exporters:
jaeger_storage_exporter:
trace_storage: jaeger_storage
{{- end -}}
{{- end -}}
{{- if not .Values.collector.existingConfigmap }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "jaeger.collector.fullname" . }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: collector
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 4 }}
{{- end }}
{{- $configuration := include "jaeger.collector.configuration" . | fromYaml -}}
{{- if .Values.collector.overrideConfiguration }}
{{- $overrideConfiguration := include "common.tplvalues.render" (dict "value" .Values.collector.overrideConfiguration "context" .) | fromYaml }}
{{- $configuration = mustMergeOverwrite $configuration $overrideConfiguration }}
{{- end }}
data:
collector-config.yaml: |-
{{- toYaml $configuration | nindent 4 }}
{{- end }}

View File

@@ -27,8 +27,14 @@ spec:
labels: {{- include "common.labels.standard" ( dict "customLabels" $podLabels "context" $ ) | nindent 8 }}
app.kubernetes.io/part-of: jaeger
app.kubernetes.io/component: collector
{{- if .Values.collector.podAnnotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.collector.podAnnotations "context" $) | nindent 8 }}
{{- if or .Values.collector.podAnnotations (not .Values.collector.existingConfigmap) }}
annotations:
{{- if not .Values.collector.existingConfigmap }}
checksum/configmap: {{ include (print $.Template.BasePath "/collector/configmap.yaml") . | sha256sum }}
{{- end }}
{{- if .Values.collector.podAnnotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.collector.podAnnotations "context" $) | nindent 8 }}
{{- end }}
{{- end }}
spec:
{{- include "jaeger.imagePullSecrets" . | nindent 6 }}
@@ -76,32 +82,40 @@ spec:
command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }}
{{- else if .Values.collector.command }}
command: {{- include "common.tplvalues.render" (dict "value" .Values.collector.command "context" $) | nindent 12 }}
{{- else }}
command: ["/opt/bitnami/jaeger/bin/jaeger-collector"]
{{- end }}
{{- if .Values.diagnosticMode.enabled }}
args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 12 }}
{{- else if .Values.collector.args }}
args: {{- include "common.tplvalues.render" (dict "value" .Values.collector.args "context" $) | nindent 12 }}
{{- else }}
args: ["--cassandra.basic.allowed-authenticators=org.apache.cassandra.auth.PasswordAuthenticator"]
args:
- "--config"
- "/opt/bitnami/jaeger/conf/collector-config.yaml"
{{- end }}
{{- if .Values.collector.lifecycleHooks }}
lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.collector.lifecycleHooks "context" $) | nindent 12 }}
{{- end }}
ports:
- name: zipkin
containerPort: {{ .Values.collector.containerPorts.zipkin }}
- name: binary
containerPort: {{ .Values.collector.containerPorts.binary }}
- name: grpc
containerPort: {{ .Values.collector.containerPorts.grpc }}
- name: admin
containerPort: {{ .Values.collector.containerPorts.admin }}
{{- if has "otlp" .Values.collector.receivers }}
- name: grpc-otlp
containerPort: {{ .Values.collector.containerPorts.otlp.grpc }}
- name: http-otlp
containerPort: {{ .Values.collector.containerPorts.otlp.http }}
{{- end }}
{{- if has "jaeger" .Values.collector.receivers }}
- name: grpc-jaeger
containerPort: {{ .Values.collector.containerPorts.jaeger.grpc }}
- name: http-jaeger-tf
containerPort: {{ .Values.collector.containerPorts.jaeger.thrift_http }}
{{- end }}
{{- if has "zipkin" .Values.collector.receivers }}
- name: zipkin
containerPort: {{ .Values.collector.containerPorts.zipkin }}
{{- end }}
- name: metrics
containerPort: {{ .Values.collector.containerPorts.metrics }}
- name: healthcheck
containerPort: {{ .Values.collector.containerPorts.healthcheck }}
env:
- name: CASSANDRA_SERVERS
value: {{ include "jaeger.cassandra.host" . }}
@@ -118,18 +132,26 @@ spec:
value: {{ include "jaeger.cassandra.keyspace" . }}
- name: CASSANDRA_DATACENTER
value: {{ include "jaeger.cassandra.datacenter" . }}
- name: ADMIN_HTTP_HOST_PORT
value: {{ printf ":%v" .Values.collector.containerPorts.admin | quote }}
- name: COLLECTOR_ZIPKIN_HOST_PORT
value: {{ printf ":%v" .Values.collector.containerPorts.zipkin | quote }}
- name: COLLECTOR_GRPC_SERVER_HOST_PORT
value: {{ printf ":%v" .Values.collector.containerPorts.grpc | quote }}
- name: COLLECTOR_HTTP_SERVER_HOST_PORT
value: {{ printf ":%v" .Values.collector.containerPorts.binary | quote }}
{{- if has "otlp" .Values.collector.receivers }}
- name: COLLECTOR_OTLP_GRPC_HOST_PORT
value: {{ printf ":%v" .Values.collector.containerPorts.otlp.grpc | quote }}
- name: COLLECTOR_OTLP_HTTP_HOST_PORT
value: {{ printf ":%v" .Values.collector.containerPorts.otlp.http | quote }}
{{- end }}
{{- if has "jaeger" .Values.collector.receivers }}
- name: COLLECTOR_JAEGER_GRPC_SERVER_HOST_PORT
value: {{ printf ":%v" .Values.collector.containerPorts.jaeger.grpc | quote }}
- name: COLLECTOR_JAEGER_THRIFT_HTTP_HOST_PORT
value: {{ printf ":%v" .Values.collector.containerPorts.jaeger.thrift_http | quote }}
{{- end }}
{{- if has "zipkin" .Values.collector.receivers }}
- name: COLLECTOR_ZIPKIN_HOST_PORT
value: {{ printf ":%v" .Values.collector.containerPorts.zipkin | quote }}
{{- end }}
- name: COLLECTOR_HEALTHCHECK_HOST_PORT
value: {{ printf ":%v" .Values.collector.containerPorts.healthcheck | quote }}
- name: COLLECTOR_METRICS_PORT
value: {{ .Values.collector.containerPorts.metrics | quote }}
- name: BITNAMI_DEBUG
value: {{ ternary "true" "false" .Values.image.debug | quote }}
{{- if .Values.collector.extraEnvVars }}
@@ -150,23 +172,24 @@ spec:
{{- else if .Values.collector.startupProbe.enabled }}
startupProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.collector.startupProbe "enabled") "context" $) | nindent 12 }}
httpGet:
path: /
port: admin
path: /status
port: healthcheck
{{- end }}
{{- if .Values.collector.customLivenessProbe }}
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.collector.customLivenessProbe "context" $) | nindent 12 }}
{{- else if .Values.collector.livenessProbe.enabled }}
livenessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.collector.livenessProbe "enabled") "context" $) | nindent 12 }}
tcpSocket:
port: admin
httpGet:
path: /status
port: healthcheck
{{- end }}
{{- if .Values.collector.customReadinessProbe }}
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.collector.customReadinessProbe "context" $) | nindent 12 }}
{{- else if .Values.collector.readinessProbe.enabled }}
readinessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.collector.readinessProbe "enabled") "context" $) | nindent 12 }}
httpGet:
path: /
port: admin
path: /status
port: healthcheck
{{- end }}
{{- end }}
{{- if .Values.query.resources }}
@@ -174,13 +197,19 @@ spec:
{{- else if ne .Values.collector.resourcesPreset "none" }}
resources: {{- include "common.resources.preset" (dict "type" .Values.collector.resourcesPreset) | nindent 12 }}
{{- end }}
{{- if .Values.collector.extraVolumeMounts }}
volumeMounts: {{- include "common.tplvalues.render" ( dict "value" .Values.collector.extraVolumeMounts "context" $) | nindent 12 }}
{{- end }}
volumeMounts:
- name: configuration
mountPath: /opt/bitnami/jaeger/conf
{{- if .Values.collector.extraVolumeMounts }}
{{- include "common.tplvalues.render" ( dict "value" .Values.collector.extraVolumeMounts "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.collector.sidecars }}
{{- include "common.tplvalues.render" ( dict "value" .Values.collector.sidecars "context" $) | nindent 8 }}
{{- end }}
volumes:
- name: configuration
configMap:
name: {{ include "jaeger.collector.configMapName" . }}
{{- if .Values.collector.extraVolumes }}
{{- include "common.tplvalues.render" ( dict "value" .Values.collector.extraVolumes "context" $) | nindent 8 }}
{{- end }}

View File

@@ -33,23 +33,6 @@ spec:
protocol: UDP
- port: 53
protocol: TCP
# Allow outbound connections to other collector pods
- ports:
- port: {{ .Values.collector.containerPorts.binary }}
- port: {{ .Values.collector.containerPorts.zipkin }}
- port: {{ .Values.collector.containerPorts.grpc }}
- port: {{ .Values.collector.containerPorts.admin }}
to:
- podSelector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 14 }}
app.kubernetes.io/component: collector
# Allow outbound connections to other query pods
- ports:
- port: {{ .Values.query.containerPorts.admin }}
to:
- podSelector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 14 }}
app.kubernetes.io/component: query
# Allow outbound connections to Cassandra
- ports:
- port: {{ include "jaeger.cassandra.port" . | trimAll "\"" | int }}
@@ -66,12 +49,18 @@ spec:
{{- end }}
ingress:
- ports:
- port: {{ .Values.collector.containerPorts.binary }}
- port: {{ .Values.collector.containerPorts.zipkin }}
- port: {{ .Values.collector.containerPorts.grpc }}
- port: {{ .Values.collector.containerPorts.admin }}
{{- if has "otlp" .Values.collector.receivers }}
- port: {{ .Values.collector.containerPorts.otlp.grpc }}
- port: {{ .Values.collector.containerPorts.otlp.http }}
{{- end }}
{{- if has "jaeger" .Values.collector.receivers }}
- port: {{ .Values.collector.containerPorts.jaeger.thrift_http }}
- port: {{ .Values.collector.containerPorts.jaeger.grpc }}
{{- end }}
{{- if has "zipkin" .Values.collector.receivers }}
- port: {{ .Values.collector.containerPorts.zipkin }}
{{- end }}
- port: {{ .Values.collector.containerPorts.metrics }}
{{- if not .Values.collector.networkPolicy.allowExternal }}
from:
- podSelector:

View File

@@ -36,38 +36,7 @@ spec:
externalTrafficPolicy: {{ .Values.collector.service.externalTrafficPolicy | quote }}
{{- end }}
ports:
- name: grpc
port: {{ .Values.collector.service.ports.grpc }}
targetPort: {{ .Values.collector.containerPorts.grpc }}
{{- if and (or (eq .Values.collector.service.type "NodePort") (eq .Values.collector.service.type "LoadBalancer")) (not (empty .Values.collector.service.nodePorts.grpc)) }}
nodePort: {{ .Values.collector.service.nodePorts.grpc }}
{{- else if eq .Values.collector.service.type "ClusterIP" }}
nodePort: null
{{- end }}
- name: binary
port: {{ .Values.collector.service.ports.binary }}
targetPort: {{ .Values.collector.containerPorts.binary }}
{{- if and (or (eq .Values.collector.service.type "NodePort") (eq .Values.collector.service.type "LoadBalancer")) (not (empty .Values.collector.service.nodePorts.binary)) }}
nodePort: {{ .Values.collector.service.nodePorts.binary }}
{{- else if eq .Values.collector.service.type "ClusterIP" }}
nodePort: null
{{- end }}
- name: zipkin
port: {{ .Values.collector.service.ports.zipkin }}
targetPort: {{ .Values.collector.containerPorts.zipkin }}
{{- if and (or (eq .Values.collector.service.type "NodePort") (eq .Values.collector.service.type "LoadBalancer")) (not (empty .Values.collector.service.nodePorts.zipkin)) }}
nodePort: {{ .Values.collector.service.nodePorts.zipkin }}
{{- else if eq .Values.collector.service.type "ClusterIP" }}
nodePort: null
{{- end }}
- name: admin
port: {{ .Values.collector.service.ports.admin }}
targetPort: {{ .Values.collector.containerPorts.admin }}
{{- if and (or (eq .Values.collector.service.type "NodePort") (eq .Values.collector.service.type "LoadBalancer")) (not (empty .Values.collector.service.nodePorts.admin)) }}
nodePort: {{ .Values.collector.service.nodePorts.admin }}
{{- else if eq .Values.collector.service.type "ClusterIP" }}
nodePort: null
{{- end }}
{{- if has "otlp" .Values.collector.receivers }}
- name: otlp-grpc
port: {{ .Values.collector.service.ports.otlp.grpc }}
targetPort: {{ .Values.collector.containerPorts.otlp.grpc }}
@@ -84,6 +53,43 @@ spec:
{{- else if eq .Values.collector.service.type "ClusterIP" }}
nodePort: null
{{- end }}
{{- end }}
{{- if has "jaeger" .Values.collector.receivers }}
- name: jaeger-grpc
port: {{ .Values.collector.service.ports.jaeger.grpc }}
targetPort: {{ .Values.collector.containerPorts.jaeger.grpc }}
{{- if and (or (eq .Values.collector.service.type "NodePort") (eq .Values.collector.service.type "LoadBalancer")) (not (empty .Values.collector.service.nodePorts.jaeger.grpc)) }}
nodePort: {{ .Values.collector.service.nodePorts.jaeger.grpc }}
{{- else if eq .Values.collector.service.type "ClusterIP" }}
nodePort: null
{{- end }}
- name: jaeger-http-thrift
port: {{ .Values.collector.service.ports.jaeger.thrift_http }}
targetPort: {{ .Values.collector.containerPorts.jaeger.thrift_http }}
{{- if and (or (eq .Values.collector.service.type "NodePort") (eq .Values.collector.service.type "LoadBalancer")) (not (empty .Values.collector.service.nodePorts.jaeger.thrift_http)) }}
nodePort: {{ .Values.collector.service.nodePorts.jaeger.thrift_http }}
{{- else if eq .Values.collector.service.type "ClusterIP" }}
nodePort: null
{{- end }}
{{- end }}
{{- if has "zipkin" .Values.collector.receivers }}
- name: zipkin
port: {{ .Values.collector.service.ports.zipkin }}
targetPort: {{ .Values.collector.containerPorts.zipkin }}
{{- if and (or (eq .Values.collector.service.type "NodePort") (eq .Values.collector.service.type "LoadBalancer")) (not (empty .Values.collector.service.nodePorts.zipkin)) }}
nodePort: {{ .Values.collector.service.nodePorts.zipkin }}
{{- else if eq .Values.collector.service.type "ClusterIP" }}
nodePort: null
{{- end }}
{{- end }}
- name: metrics
port: {{ .Values.collector.service.ports.metrics }}
targetPort: {{ .Values.collector.containerPorts.metrics }}
{{- if and (or (eq .Values.collector.service.type "NodePort") (eq .Values.collector.service.type "LoadBalancer")) (not (empty .Values.collector.service.nodePorts.metrics)) }}
nodePort: {{ .Values.collector.service.nodePorts.metrics }}
{{- else if eq .Values.collector.service.type "ClusterIP" }}
nodePort: null
{{- end }}
{{- if .Values.collector.service.extraPorts }}
{{- include "common.tplvalues.render" (dict "value" .Values.collector.service.extraPorts "context" $) | nindent 4 }}
{{- end }}

View File

@@ -1,129 +0,0 @@
{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
apiVersion: batch/v1
kind: Job
metadata:
name: {{ include "common.names.fullname" . }}-migrate
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: migration
{{- if or .Values.migration.annotations .Values.commonAnnotations }}
{{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.migration.annotations .Values.commonAnnotations ) "context" . ) }}
annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $) | nindent 4 }}
{{- end }}
spec:
ttlSecondsAfterFinished: 30
template:
metadata:
{{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.migration.podLabels .Values.commonLabels ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $podLabels "context" $ ) | nindent 8 }}
app.kubernetes.io/component: migration
{{- if .Values.migration.podAnnotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.migration.podAnnotations "context" $) | nindent 8 }}
{{- end }}
spec:
{{- include "jaeger.imagePullSecrets" . | nindent 6 }}
restartPolicy: OnFailure
{{- if .Values.migration.podSecurityContext.enabled }}
securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.migration.podSecurityContext "context" $) | nindent 8 }}
{{- end }}
initContainers:
- name: jaeger-cassandra-schema-grabber
image: {{ include "jaeger.image" . }}
command: [ "cp", "-T", "-r", "/opt/bitnami/jaeger/cassandra-schema", "/cassandra-schema/" ]
volumeMounts:
- name: cassandra-schema
mountPath: "/cassandra-schema"
{{- if .Values.migration.containerSecurityContext.enabled }}
securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.migration.containerSecurityContext "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.migration.initContainer.resources }}
resources: {{- toYaml .Values.migration.initContainer.resources | nindent 12 }}
{{- else if ne .Values.migration.initContainer.resourcesPreset "none" }}
resources: {{- include "common.resources.preset" (dict "type" .Values.migration.initContainer.resourcesPreset) | nindent 12 }}
{{- end }}
containers:
- name: jaeger-cassandra-migrator
image: {{ include "jaeger.cqlshImage" . }}
command:
- /bin/bash
args:
- -ec
- |
#!/bin/bash
set -o errexit
set -o nounset
set -o pipefail
. /opt/bitnami/scripts/libos.sh
check_cassandra_connection() {
echo "SELECT 1" | cqlsh -u $CASSANDRA_USERNAME -p $CASSANDRA_PASSWORD -e "QUIT"
}
info "Connecting to the Cassandra instance $CQLSH_HOST:$CQLSH_PORT"
if ! retry_while "check_cassandra_connection" 12 30; then
error "Could not connect to the database server"
exit 1
else
info "Connection check success"
sed -i 's/cqlsh -e "show version"/cqlsh -e "show version" -u $CASSANDRA_USERNAME -p $CASSANDRA_PASSWORD /' /cassandra-schema/create.sh
/cassandra-schema/docker.sh
fi
{{- if .Values.migration.containerSecurityContext.enabled }}
securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.migration.containerSecurityContext "context" $) | nindent 12 }}
{{- end }}
env:
- name: CQLSH
value: /opt/bitnami/cassandra/bin/cqlsh
- name: CQLSH_HOST
value: {{ include "jaeger.cassandra.host" . }}
- name: CQLSH_PORT
value: {{ include "jaeger.cassandra.port" . }}
- name: CASSANDRA_USERNAME
value: {{ include "jaeger.cassandra.user" . }}
- name: DATACENTER
value: {{ include "jaeger.cassandra.datacenter" . }}
- name: KEYSPACE
value: {{ include "jaeger.cassandra.keyspace" . }}
- name: CASSANDRA_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "jaeger.cassandra.secretName" . }}
key: {{ include "jaeger.cassandra.secretKey" . }}
{{- if or .Values.migration.extraEnvVarsCM .Values.migration.extraEnvVarsSecret }}
envFrom:
{{- if .Values.migration.extraEnvVarsCM }}
- configMapRef:
name: {{ .Values.migration.extraEnvVarsCM }}
{{- end }}
{{- if .Values.migration.extraEnvVarsSecret }}
- secretRef:
name: {{ .Values.migration.extraEnvVarsSecret }}
{{- end }}
{{- end }}
{{- if .Values.migration.extraEnvVars }}
{{- include "common.tplvalues.render" (dict "value" .Values.migration.extraEnvVars "context" $) | nindent 12 }}
{{- end }}
volumeMounts:
- name: cassandra-schema
mountPath: "/cassandra-schema"
{{- if .Values.migration.extraVolumeMounts }}
{{- include "common.tplvalues.render" (dict "value" .Values.migration.extraVolumeMounts "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.migration.resources }}
resources: {{- toYaml .Values.migration.resources | nindent 12 }}
{{- else if ne .Values.migration.resourcesPreset "none" }}
resources: {{- include "common.resources.preset" (dict "type" .Values.migration.resourcesPreset) | nindent 12 }}
{{- end }}
volumes:
- name: cassandra-schema
emptyDir: {}
{{- if .Values.migration.extraVolumes }}
{{- include "common.tplvalues.render" (dict "value" .Values.migration.extraVolumes "context" $) | nindent 6 }}
{{- end }}

View File

@@ -0,0 +1,76 @@
{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{/*
Return the Jaeger query configuration.
*/}}
{{- define "jaeger.query.configuration" -}}
{{- if .Values.query.configuration }}
{{- include "common.tplvalues.render" (dict "value" .Values.query.configuration "context" .) }}
{{- else }}
service:
extensions: [jaeger_storage, jaeger_query, healthcheckv2]
pipelines:
traces:
receivers: [nop]
processors: [batch]
exporters: [nop]
telemetry:
resource:
service.name: jaeger-query
metrics:
level: detailed
readers:
- pull:
exporter:
prometheus:
host: 0.0.0.0
port: "${env:QUERY_METRICS_PORT}"
logs:
level: info
extensions:
healthcheckv2:
use_v2: true
http:
endpoint: "${env:QUERY_HEALTHCHECK_HOST_PORT}"
jaeger_query:
storage:
traces: jaeger_storage
grpc:
endpoint: "${env:QUERY_GRPC_SERVER_HOST_PORT}"
http:
endpoint: "${env:QUERY_HTTP_SERVER_HOST_PORT}"
jaeger_storage:
backends:
jaeger_storage: {{ include "jaeger.cassandra.storage" . | nindent 8 }}
receivers:
nop:
processors:
batch:
exporters:
nop:
{{- end -}}
{{- end -}}
{{- if not .Values.query.existingConfigmap }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "jaeger.query.fullname" . }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: query
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 4 }}
{{- end }}
{{- $configuration := include "jaeger.query.configuration" . | fromYaml -}}
{{- if .Values.query.overrideConfiguration }}
{{- $overrideConfiguration := include "common.tplvalues.render" (dict "value" .Values.query.overrideConfiguration "context" .) | fromYaml }}
{{- $configuration = mustMergeOverwrite $configuration $overrideConfiguration }}
{{- end }}
data:
query-config.yaml: |-
{{- toYaml $configuration | nindent 4 }}
{{- end }}

View File

@@ -27,8 +27,14 @@ spec:
labels: {{- include "common.labels.standard" ( dict "customLabels" $podLabels "context" $ ) | nindent 8 }}
app.kubernetes.io/part-of: jaeger
app.kubernetes.io/component: query
{{- if .Values.query.podAnnotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.query.podAnnotations "context" $) | nindent 8 }}
{{- if or .Values.query.podAnnotations (not .Values.query.existingConfigmap) }}
annotations:
{{- if not .Values.query.existingConfigmap }}
checksum/configmap: {{ include (print $.Template.BasePath "/query/configmap.yaml") . | sha256sum }}
{{- end }}
{{- if .Values.query.podAnnotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.query.podAnnotations "context" $) | nindent 8 }}
{{- end }}
{{- end }}
spec:
{{- include "jaeger.imagePullSecrets" . | nindent 6 }}
@@ -76,24 +82,28 @@ spec:
command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }}
{{- else if .Values.query.command }}
command: {{- include "common.tplvalues.render" (dict "value" .Values.query.command "context" $) | nindent 12 }}
{{- else }}
command: ["/opt/bitnami/jaeger/bin/jaeger-query"]
{{- end }}
{{- if .Values.diagnosticMode.enabled }}
args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 12 }}
{{- else if .Values.query.args }}
args: {{- include "common.tplvalues.render" (dict "value" .Values.query.args "context" $) | nindent 12 }}
{{- else }}
args: ["--cassandra.basic.allowed-authenticators=org.apache.cassandra.auth.PasswordAuthenticator"]
args:
- "--config"
- "/opt/bitnami/jaeger/conf/query-config.yaml"
{{- end }}
{{- if .Values.query.lifecycleHooks }}
lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.query.lifecycleHooks "context" $) | nindent 12 }}
{{- end }}
ports:
- name: ui
containerPort: {{ .Values.query.containerPorts.api }}
- name: admin
containerPort: {{ .Values.query.containerPorts.admin }}
- name: http
containerPort: {{ .Values.query.containerPorts.http }}
- name: grpc
containerPort: {{ .Values.query.containerPorts.grpc }}
- name: healthcheck
containerPort: {{ .Values.query.containerPorts.healthcheck }}
- name: metrics
containerPort: {{ .Values.query.containerPorts.metrics }}
env:
- name: CASSANDRA_SERVERS
value: {{ include "jaeger.cassandra.host" . }}
@@ -111,11 +121,13 @@ spec:
- name: CASSANDRA_DATACENTER
value: {{ include "jaeger.cassandra.datacenter" . }}
- name: QUERY_HTTP_SERVER_HOST_PORT
value: {{ printf ":%v" .Values.query.containerPorts.api | quote }}
value: {{ printf ":%v" .Values.query.containerPorts.http | quote }}
- name: QUERY_GRPC_SERVER_HOST_PORT
value: {{ printf ":%v" .Values.query.containerPorts.grpc | quote }}
- name: ADMIN_HTTP_HOST_PORT
value: {{ printf ":%v" .Values.query.containerPorts.admin | quote }}
- name: QUERY_HEALTHCHECK_HOST_PORT
value: {{ printf ":%v" .Values.query.containerPorts.healthcheck | quote }}
- name: QUERY_METRICS_PORT
value: {{ .Values.collector.containerPorts.metrics | quote }}
- name: BITNAMI_DEBUG
value: {{ ternary "true" "false" .Values.image.debug | quote }}
{{- if .Values.query.extraEnvVars }}
@@ -136,23 +148,24 @@ spec:
{{- else if .Values.query.startupProbe.enabled }}
startupProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.query.startupProbe "enabled") "context" $) | nindent 12 }}
httpGet:
path: /
port: admin
path: /status
port: healthcheck
{{- end }}
{{- if .Values.query.customLivenessProbe }}
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.query.customLivenessProbe "context" $) | nindent 12 }}
{{- else if .Values.query.livenessProbe.enabled }}
livenessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.query.livenessProbe "enabled") "context" $) | nindent 12 }}
tcpSocket:
port: admin
httpGet:
path: /status
port: healthcheck
{{- end }}
{{- if .Values.query.customReadinessProbe }}
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.query.customReadinessProbe "context" $) | nindent 12 }}
{{- else if .Values.query.readinessProbe.enabled }}
readinessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.query.readinessProbe "enabled") "context" $) | nindent 12 }}
httpGet:
path: /
port: admin
path: /status
port: healthcheck
{{- end }}
{{- end }}
{{- if .Values.query.resources }}
@@ -160,13 +173,19 @@ spec:
{{- else if ne .Values.query.resourcesPreset "none" }}
resources: {{- include "common.resources.preset" (dict "type" .Values.query.resourcesPreset) | nindent 12 }}
{{- end }}
{{- if .Values.query.extraVolumeMounts }}
volumeMounts: {{- include "common.tplvalues.render" ( dict "value" .Values.query.extraVolumeMounts "context" $) | nindent 12 }}
{{- end }}
volumeMounts:
- name: configuration
mountPath: /opt/bitnami/jaeger/conf
{{- if .Values.query.extraVolumeMounts }}
{{- include "common.tplvalues.render" ( dict "value" .Values.query.extraVolumeMounts "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.query.sidecars }}
{{- include "common.tplvalues.render" ( dict "value" .Values.query.sidecars "context" $) | nindent 8 }}
{{- end }}
volumes:
- name: configuration
configMap:
name: {{ include "jaeger.query.configMapName" . }}
{{- if .Values.query.extraVolumes }}
{{- include "common.tplvalues.render" ( dict "value" .Values.query.extraVolumes "context" $) | nindent 8 }}
{{- end }}

View File

@@ -33,24 +33,6 @@ spec:
protocol: UDP
- port: 53
protocol: TCP
# Allow outbound connections to other collector pods
- ports:
- port: {{ .Values.collector.containerPorts.binary }}
- port: {{ .Values.collector.containerPorts.zipkin }}
- port: {{ .Values.collector.containerPorts.grpc }}
- port: {{ .Values.collector.containerPorts.admin }}
to:
- podSelector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 14 }}
app.kubernetes.io/component: collector
# Allow outbound connections to other query pods
- ports:
- port: {{ .Values.query.containerPorts.admin }}
- port: {{ .Values.query.containerPorts.ui }}
to:
- podSelector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 14 }}
app.kubernetes.io/component: query
# Allow outbound connections to Cassandra
- ports:
- port: {{ include "jaeger.cassandra.port" . | trimAll "\"" | int }}
@@ -67,8 +49,9 @@ spec:
{{- end }}
ingress:
- ports:
- port: {{ .Values.query.containerPorts.admin }}
- port: {{ .Values.query.containerPorts.ui }}
- port: {{ .Values.query.containerPorts.http }}
- port: {{ .Values.query.containerPorts.grpc }}
- port: {{ .Values.query.containerPorts.metrics }}
{{- if not .Values.collector.networkPolicy.allowExternal }}
from:
- podSelector:

View File

@@ -36,19 +36,27 @@ spec:
externalTrafficPolicy: {{ .Values.query.service.externalTrafficPolicy | quote }}
{{- end }}
ports:
- name: api
port: {{ .Values.query.service.ports.api }}
targetPort: {{ .Values.query.containerPorts.api }}
{{- if and (or (eq .Values.query.service.type "NodePort") (eq .Values.query.service.type "LoadBalancer")) (not (empty .Values.query.service.nodePorts.api)) }}
nodePort: {{ .Values.query.service.nodePorts.api }}
- name: grpc
port: {{ .Values.query.service.ports.grpc }}
targetPort: {{ .Values.query.containerPorts.grpc }}
{{- if and (or (eq .Values.query.service.type "NodePort") (eq .Values.query.service.type "LoadBalancer")) (not (empty .Values.query.service.nodePorts.grpc)) }}
nodePort: {{ .Values.query.service.nodePorts.grpc }}
{{- else if eq .Values.query.service.type "ClusterIP" }}
nodePort: null
{{- end }}
- name: admin
port: {{ .Values.query.service.ports.admin }}
targetPort: {{ .Values.query.containerPorts.admin }}
{{- if and (or (eq .Values.query.service.type "NodePort") (eq .Values.query.service.type "LoadBalancer")) (not (empty .Values.query.service.nodePorts.admin)) }}
nodePort: {{ .Values.query.service.nodePorts.admin }}
- name: http
port: {{ .Values.query.service.ports.http }}
targetPort: {{ .Values.query.containerPorts.http }}
{{- if and (or (eq .Values.query.service.type "NodePort") (eq .Values.query.service.type "LoadBalancer")) (not (empty .Values.query.service.nodePorts.http)) }}
nodePort: {{ .Values.query.service.nodePorts.http }}
{{- else if eq .Values.query.service.type "ClusterIP" }}
nodePort: null
{{- end }}
- name: metrics
port: {{ .Values.query.service.ports.metrics }}
targetPort: {{ .Values.query.containerPorts.metrics }}
{{- if and (or (eq .Values.query.service.type "NodePort") (eq .Values.query.service.type "LoadBalancer")) (not (empty .Values.query.service.nodePorts.metrics)) }}
nodePort: {{ .Values.query.service.nodePorts.metrics }}
{{- else if eq .Values.query.service.type "ClusterIP" }}
nodePort: null
{{- end }}

View File

@@ -81,7 +81,7 @@ diagnosticMode:
image:
registry: docker.io
repository: bitnami/jaeger
tag: 2.8.0-debian-12-r2
tag: 2.8.0-debian-12-r4
digest: ""
## Specify a imagePullPolicy
## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
@@ -213,18 +213,30 @@ query:
## @param query.extraVolumeMounts Optionally specify extra list of additional volumeMounts for jaeger container
##
extraVolumeMounts: []
## @param query.configuration Specify content for Jaeger collector configuration (auto-generated based on other values otherwise)
##
configuration: {}
## @param query.overrideConfiguration Jaeger query common configuration override. Values defined here takes precedence over the ones defined at `query.configuration`
##
overrideConfiguration: {}
## @param query.existingConfigmap The name of an existing ConfigMap with your custom configuration for Jaeger collector
##
existingConfigmap: ""
## Container ports to expose
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
containerPorts:
## @param query.containerPorts.grpc Port for GRPC
## @param query.containerPorts.grpc Port for GRPC API
##
grpc: 16685
## @param query.containerPorts.api Port for API
## @param query.containerPorts.http Port for HTTP API
##
api: 16686
## @param query.containerPorts.admin Port for admin
http: 16686
## @param query.containerPorts.metrics Jaeger query prometheus metrics port
##
admin: 16687
metrics: 8888
## @param query.containerPorts.healthcheck Jaeger query healthcheck port
##
healthcheck: 13133
## Jaeger query.service parameters
##
service:
@@ -234,21 +246,27 @@ query:
## Ports to expose
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
ports:
## @param query.service.ports.api Port for API
## @param query.service.ports.grpc Port for gRPC API
##
api: 16686
## @param query.service.ports.admin Port for admin
grpc: 16685
## @param query.service.ports.http Port for API
##
admin: 16687
http: 16686
## @param query.service.ports.metrics Jaeger query prometheus metrics port
##
metrics: 8888
## Node ports to expose
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
nodePorts:
## @param query.service.nodePorts.api Node port for API
## @param query.service.nodePorts.grpc Port for gRPC API
##
api: ""
## @param query.service.nodePorts.admin Node port for admin
grpc: ""
## @param query.service.nodePorts.http Node port for API
##
admin: ""
http: ""
## @param query.service.nodePorts.metrics Jaeger query prometheus metrics port
##
metrics: ""
## @param query.service.extraPorts Extra ports to expose in the service (normally used with the `sidecar` value)
##
extraPorts: []
@@ -292,7 +310,7 @@ query:
metrics:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "{{ .Values.query.service.ports.admin }}"
prometheus.io/port: "{{ .Values.query.service.ports.metrics }}"
prometheus.io/path: "/metrics"
## Network Policies
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
@@ -604,21 +622,24 @@ collector:
## @param collector.extraVolumeMounts Optionally specify extra list of additional volumeMounts for jaeger container
##
extraVolumeMounts: []
## Container ports to expose
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
## @param collector.configuration Specify content for Jaeger collector configuration (auto-generated based on other values otherwise)
##
configuration: {}
## @param collector.overrideConfiguration Jaeger collector common configuration override. Values defined here takes precedence over the ones defined at `query.configuration`
##
overrideConfiguration: {}
## @param collector.existingConfigmap The name of an existing ConfigMap with your custom configuration for Jaeger collector
##
existingConfigmap: ""
## @param collector.receivers Sets the jaeger collector receivers that will be enabled
##
receivers:
- otlp
- jaeger
- zipkin
## Jaeger collector container ports to expose
## ref: https://www.jaegertracing.io/docs/latest/architecture/apis/
containerPorts:
## @param collector.containerPorts.zipkin can accept Zipkin spans in Thrift, JSON and Proto (disabled by default)
##
zipkin: 9411
## @param collector.containerPorts.grpc used by jaeger-collector to send spans in model.proto format
##
grpc: 14250
## @param collector.containerPorts.binary can accept spans directly from clients in jaeger.thrift format over binary thrift protocol
##
binary: 14268
## @param collector.containerPorts.admin Admin port: health check at / and metrics at /metrics
##
admin: 14269
## Otlp ports to expose
##
otlp:
@@ -628,27 +649,33 @@ collector:
## @param collector.containerPorts.otlp.http Accepts traces in OpenTelemetry OTLP format over HTTP
##
http: 4318
## Legacy Jaeger Write API. Maintained for backward-compatibility
##
jaeger:
## @param collector.containerPorts.jaeger.grpc Legacy Jaeger protobuf via gRPC API port
##
grpc: 14250
## @param collector.containerPorts.jaeger.thrift_http Legacy Jaeger Thrift over HTTP API port
##
thrift_http: 14268
## @param collector.containerPorts.zipkin can accept Zipkin spans in Thrift, JSON and Proto (disabled by default)
##
zipkin: 9411
## @param collector.containerPorts.metrics Jaeger collector prometheus metrics port
##
metrics: 8888
## @param collector.containerPorts.healthcheck Jaeger collector healthcheck port
##
healthcheck: 13133
## Jaeger collector.service parameters
##
service:
## @param collector.service.type Jaeger service type
##
type: ClusterIP
## Ports to expose
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
## Jaeger collector ports to expose
## ref: https://www.jaegertracing.io/docs/latest/architecture/apis/
ports:
## @param collector.service.ports.zipkin can accept Zipkin spans in Thrift, JSON and Proto (disabled by default)
##
zipkin: 9411
## @param collector.service.ports.grpc used by jaeger-collector to send spans in model.proto format
##
grpc: 14250
## @param collector.service.ports.binary can accept spans directly from clients in jaeger.thrift format over binary thrift protocol
##
binary: 14268
## @param collector.service.ports.admin Admin port: health check at / and metrics at /metrics
##
admin: 14269
## Otlp ports to expose
##
otlp:
@@ -658,21 +685,24 @@ collector:
## @param collector.service.ports.otlp.http Accepts traces in OpenTelemetry OTLP format over HTTP
##
http: 4318
## Legacy Jaeger Write API. Maintained for backward-compatibility
##
jaeger:
## @param collector.service.ports.jaeger.grpc Legacy Jaeger protobuf via gRPC API port
##
grpc: 14250
## @param collector.service.ports.jaeger.thrift_http Legacy Jaeger Thrift over HTTP API port
##
thrift_http: 14268
## @param collector.service.ports.zipkin can accept Zipkin spans in Thrift, JSON and Proto (disabled by default)
##
zipkin: 9411
## @param collector.service.ports.metrics Jaeger collector prometheus metrics port
##
metrics: 8888
## Node ports to expose
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
nodePorts:
## @param collector.service.nodePorts.zipkin can accept Zipkin spans in Thrift, JSON and Proto (disabled by default)
##
zipkin: ""
## @param collector.service.nodePorts.grpc used by jaeger-collector to send spans in model.proto format
##
grpc: ""
## @param collector.service.nodePorts.binary can accept spans directly from clients in jaeger.thrift format over binary thrift protocol
##
binary: ""
## @param collector.service.nodePorts.admin Admin port: health check at / and metrics at /metrics
##
admin: ""
## Otlp ports to expose
##
otlp:
@@ -682,6 +712,22 @@ collector:
## @param collector.service.nodePorts.otlp.http Accepts traces in OpenTelemetry OTLP format over HTTP
##
http: ""
## Legacy Jaeger Write API. Maintained for backward-compatibility
##
jaeger:
## @param collector.service.nodePorts.jaeger.grpc Legacy Jaeger protobuf via gRPC API port
##
grpc: ""
## @param collector.service.nodePorts.jaeger.thrift_http Legacy Jaeger Thrift over HTTP API port
##
thrift_http: ""
## @param collector.service.nodePorts.zipkin can accept Zipkin spans in Thrift, JSON and Proto (disabled by default)
##
zipkin: ""
## @param collector.service.nodePorts.metrics Jaeger collector prometheus metrics port
##
metrics: ""
## @param collector.service.extraPorts Extra ports to expose in the service (normally used with the `sidecar` value)
##
extraPorts: []
@@ -725,7 +771,7 @@ collector:
metrics:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "{{ .Values.collector.service.ports.admin }}"
prometheus.io/port: "{{ .Values.collector.service.ports.metrics }}"
prometheus.io/path: "/metrics"
## Network Policies
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
@@ -1106,7 +1152,7 @@ migration:
cqlshImage:
registry: docker.io
repository: bitnami/cassandra
tag: 5.0.4-debian-12-r6
tag: 5.0.4-debian-12-r7
digest: ""
## Specify a imagePullPolicy
## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
@@ -1199,6 +1245,11 @@ cassandra:
service:
ports:
cql: 9042
## @param cassandra.initDB [object] Init script for initializing the instance
##
initDB:
create_keyspace.cql: |
CREATE KEYSPACE {{ include "jaeger.cassandra.keyspace" . }} WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
## Cassandra pods' resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## Minimum memory for development is 4GB and 2 CPU cores