Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add all-in-one deployment and configmap for jaeger-v2 #606

Closed
wants to merge 27 commits into from

Conversation

hellspawn679
Copy link
Contributor

@hellspawn679 hellspawn679 commented Oct 1, 2024

What this PR does

Which issue this PR fixes

is a part of #610

  • fixes #

Checklist

  • DCO signed
  • Commits are GPG signed
  • Chart Version bumped
  • Title of the PR starts with chart name ([jaeger] or [jaeger-operator])
  • README.md has been updated to match version/contain new values

Signed-off-by: Mehul <mehulsharma4786@gmail.com>
Signed-off-by: Mehul <mehulsharma4786@gmail.com>
charts/jaeger-v2/Chart.yaml Outdated Show resolved Hide resolved
charts/jaeger-v2/readme.md Show resolved Hide resolved
Comment on lines 32 to 34
adaptive:
sampling_store: some_store
initial_sampling_probability: 0.1
Copy link
Member

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.

Copy link
Contributor Author

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'```

Copy link
Member

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>
Signed-off-by: Mehul <mehulsharma4786@gmail.com>
Signed-off-by: Mehul <mehulsharma4786@gmail.com>
Signed-off-by: Mehul <mehulsharma4786@gmail.com>
mehul and others added 8 commits October 7, 2024 20:26
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>
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Signed-off-by: mehul <mehulsharam4786@gmail.com>
kubeVersion: ">= 1.21-0"
keywords:
- jaeger
- opentracing
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- opentracing
- opentelemetry

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed this

mehul and others added 4 commits October 11, 2024 22:42
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Signed-off-by: mehul <mehulsharam4786@gmail.com>
@yurishkuro yurishkuro changed the title added all-in-one deployment and configmap for jaeger-v2 Add all-in-one deployment and configmap for jaeger-v2 Oct 11, 2024
spec:
containers:
- name: jaeger
image: jaegertracing/jaeger:latest
Copy link
Member

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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes fixed

Comment on lines 33 to 35
env:
- name: COLLECTOR_ZIPKIN_HOST_PORT
value: ":9411"
Copy link
Member

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

Suggested change
env:
- name: COLLECTOR_ZIPKIN_HOST_PORT
value: ":9411"

Copy link
Contributor Author

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

Copy link
Member

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
Copy link
Member

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

Copy link
Contributor Author

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

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure

trace_storage: some_store


image: "jaegertracing/jaeger:latest"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

version

Copy link
Contributor Author

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:
Copy link
Member

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?

mehul added 4 commits October 12, 2024 02:29
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:
Copy link
Member

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

Copy link
Contributor Author

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

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Signed-off-by: mehul <mehulsharam4786@gmail.com>
@@ -0,0 +1,45 @@
apiVersion: v2
appVersion: 1.53.0
Copy link
Member

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?

Copy link
Contributor

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.

jaeger_query:
storage:
traces: primary_store
traces_archive: another_store
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
traces_archive: another_store
traces_archive: archive_store

primary_store:
memory:
max_traces: 100000
another_store:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
another_store:
archive_store:

jaeger:
protocols:
grpc:

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

description: A Jaeger Helm chart for Kubernetes
name: jaeger-v2
type: application
version: 3.3.1
Copy link
Contributor

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?

Copy link
Contributor

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

Copy link
Member

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.

Copy link
Contributor

@Stevenpc3 Stevenpc3 Oct 15, 2024

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
Copy link
Contributor

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.


This Helm chart comes with pre-packaged dependencies for data stores:
- **Cassandra**: Version `0.15.3`
- **Elasticsearch**: Version `20.0.4`
Copy link
Contributor

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" . }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

jaeger_storage_exporter:
trace_storage: primary_store

image: "jaegertracing/jaeger:2.0.0-rc2"
Copy link
Contributor

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:
Copy link
Contributor

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

Signed-off-by: mehul <mehulsharam4786@gmail.com>
email: jkowall@kowall.net
dependencies:
- name: cassandra
version: 12.0.3
Copy link
Member

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?

mehul added 2 commits October 16, 2024 03:23
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Signed-off-by: mehul <mehulsharam4786@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants