-
Notifications
You must be signed in to change notification settings - Fork 349
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
Add all-in-one deployment and configmap for jaeger-v2 #606
Conversation
Signed-off-by: Mehul <mehulsharma4786@gmail.com>
charts/jaeger-v2/values.yaml
Outdated
adaptive: | ||
sampling_store: some_store | ||
initial_sampling_probability: 0.1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we want adaptive sampling to be the default.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i tried removing it but it gives me this error
Error: invalid configuration: extensions::remote_sampling: no sampling strategy provider specified, expecting 'adaptive' or 'file'
2024/10/11 11:48:44 invalid configuration: extensions::remote_sampling: no sampling strategy provider specified, expecting 'adaptive' or 'file'```
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove remote sampling extension altogether to start with, let's get a real storage working first.
Signed-off-by: Mehul <mehulsharma4786@gmail.com>
Jaeger v2 test
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Jaeger v2 test2
Signed-off-by: mehul <mehulsharam4786@gmail.com>
charts/jaeger-v2/Chart.yaml
Outdated
kubeVersion: ">= 1.21-0" | ||
keywords: | ||
- jaeger | ||
- opentracing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- opentracing | |
- opentelemetry |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed this
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Jaeger v2 test2
Signed-off-by: mehul <mehulsharam4786@gmail.com>
spec: | ||
containers: | ||
- name: jaeger | ||
image: jaegertracing/jaeger:latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please use concrete version, not latest
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes fixed
env: | ||
- name: COLLECTOR_ZIPKIN_HOST_PORT | ||
value: ":9411" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This has no meaning for v2
env: | |
- name: COLLECTOR_ZIPKIN_HOST_PORT | |
value: ":9411" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should i also remove
- containerPort: 9411
name: zipkin
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no, port mapping can stay, we still run zipkin receiver, it just doesn't need any env vars
volumes: | ||
- name: config-volume | ||
configMap: | ||
name: my-config |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's give it a proper name
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how about this
volumeMounts:
- name: jaeger-v2-config
mountPath: /etc/jaeger
volumes:
- name: jaeger-v2-config
configMap:
name: config
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure
charts/jaeger-v2/values.yaml
Outdated
trace_storage: some_store | ||
|
||
|
||
image: "jaegertracing/jaeger:latest" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes i have fixed it
@@ -0,0 +1,62 @@ | |||
service: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this file has a generic name. What will happen when you need to support Cassandra, which requires different configuration?
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Signed-off-by: mehul <mehulsharam4786@gmail.com>
args: | ||
- "--config" | ||
- "/etc/jaeger/config.yaml" | ||
ports: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing the main OTLP ports
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what are the port number and name i should put
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all ports are defined here: https://github.com/jaegertracing/jaeger/blob/main/cmd/jaeger/Dockerfile
charts/jaeger-v2/Chart.yaml
Outdated
@@ -0,0 +1,45 @@ | |||
apiVersion: v2 | |||
appVersion: 1.53.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the meaning of this version? Is this a reference to Jaeger version? Should it be hardcoded like that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The appVersion is only informational according to Helm https://helm.sh/docs/topics/charts/#the-appversion-field but it is used to mark the version of image tag if tag is not set. You can see here (several places) for example query-deploy.yaml calls query.image which uses renderImage which defaults the image to use Chart.AppVersion
. This ultimately is also used in the bitnami common chart that is referenced on the line below.
So YES it should be hardcoded (AND UPDATED!), but it can be removed IF replaced by tag in the image:
section. But given Jaeger uses a single binary for all deploys, this is a good global place to ensure they are all up to the same version.
charts/jaeger-v2/values.yaml
Outdated
jaeger_query: | ||
storage: | ||
traces: primary_store | ||
traces_archive: another_store |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
traces_archive: another_store | |
traces_archive: archive_store |
charts/jaeger-v2/values.yaml
Outdated
primary_store: | ||
memory: | ||
max_traces: 100000 | ||
another_store: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
another_store: | |
archive_store: |
jaeger: | ||
protocols: | ||
grpc: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
charts/jaeger-v2/Chart.yaml
Outdated
description: A Jaeger Helm chart for Kubernetes | ||
name: jaeger-v2 | ||
type: application | ||
version: 3.3.1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would this not be version 1.0.0 or 0.1.0 or 1.0.0-rc1 ? Certainly we wouldn't want to start a new chart at 3.3.1?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Upon some review, this has a lot of major regressions compared to the other highly customizable chart. Is this just a draft?
Does version 2 not require a service.yaml and is it not a statefulset?
Service accounts?
Do we not need customization for query, collecter (are they gone in v2 of jeager)?
Nothing for elasticsearch cleaning or indexes or customization?
Oauth?
Spark?
There just seems to be a lot missing here and this is not marked draft or anything
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Stevenpc3 right now this is a proof of concept. I 100% agree with you that there are a lot of moving parts that could be reused from v1 chart, but I don't see a practical path towards that unless existing maintainers in this repo take on that work. This PR is being done by an intern who has both limited knowledge and limited time to get something done to enable Jaeger v2 installs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. I get it... I know what it's like lol. I didn't mean to seem harsh. I just rely on the Jaeger chart and have some PRs coming and a few contributes already. I was here looking at future updates/plans/paths and got as bit worried. Charts can be fixed, but the churn can have cascading effects. I will help where I can and certainly review. I can get other eyes on it to if needed. I just was thinking it would be published in an incomplete state.
apiVersion: v2 | ||
appVersion: 1.53.0 | ||
description: A Jaeger Helm chart for Kubernetes | ||
name: jaeger-v2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am a bit concerned about starting a jaeger-v2 chart.
Is the plan to deprecate the "jaeger" chart? Would all the template files in the jaeger chart be referenced here or copied over and duplicated?
why not make the templates backwards compatible and just keep the jaeger chart? If you cannot and it is cleaner to start a new one then I would recommend an overhaul and make a common folder to split up the jaeger and jeager-v2 charts then deprecate and eventually remove the jaeger chart and templates that no longer apply.
charts/jaeger-v2/readme.md
Outdated
|
||
This Helm chart comes with pre-packaged dependencies for data stores: | ||
- **Cassandra**: Version `0.15.3` | ||
- **Elasticsearch**: Version `20.0.4` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you should probably remove the versions here. Unless using a template like 'helm-doc' to template and generate these versions, they will get out of date and not aligned.
kind: ConfigMap | ||
metadata: | ||
name: {{ include "jaeger-v2.fullname" . }} | ||
namespace: {{ template "jaeger-v2.namespace" . }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why are you using template instead of include? https://stackoverflow.com/questions/71086697/how-does-template-and-include-differ-in-helm
charts/jaeger-v2/values.yaml
Outdated
jaeger_storage_exporter: | ||
trace_storage: primary_store | ||
|
||
image: "jaegertracing/jaeger:2.0.0-rc2" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should be broken up into registry, repo, image, tag to allow better overriding.
- containerPort: 9411 | ||
name: zipkin | ||
|
||
resources: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
resources need to be overridable
email: jkowall@kowall.net | ||
dependencies: | ||
- name: cassandra | ||
version: 12.0.3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you need to regenerate the lock file above?
Signed-off-by: mehul <mehulsharam4786@gmail.com>
What this PR does
Which issue this PR fixes
is a part of #610
Checklist
[jaeger]
or[jaeger-operator]
)