jaegertracing / jaeger

CNCF Jaeger, a Distributed Tracing Platform
https://www.jaegertracing.io/
Apache License 2.0
20.15k stars 2.4k forks source link

[jaeger v2] Helm Chart #5767

Open yurishkuro opened 1 month ago

yurishkuro commented 1 month ago

Part of LFX Mentorship 2024 Term 3 https://github.com/jaegertracing/jaeger/issues/5772.

Background

Jaeger is an open-source, end-to-end distributed tracing system that helps monitor and troubleshoot transactions in complex, microservices-based environments. Jaeger v2 is a major new version where we rebase all Jaeger backend components (agent, collector, ingester, and query) on top of the OpenTelemetry Collector, bringing significant improvements and changes to the platform. Helm is a package manager for Kubernetes that simplifies the deployment and management of applications.

Currently, Jaeger v1 has an official Helm chart, but there isn't one yet for Jaeger v2.

Relevant links:

Project Objective

The goal of this project is to develop a comprehensive Helm chart for Jaeger v2 that allows for easy deployment and management of Jaeger v2 components in Kubernetes environments. This chart should provide flexibility in configuration, support various deployment scenarios, and integrate well with the new architecture of Jaeger v2.

Key Features and Implementation

  1. Jaeger v2 Component Deployment

    • Create Helm templates for all existing Jaeger v1 deployment strategies
    • Ensure proper sequencing of component deployment.
    • Implement support for different Jaeger v2 deployment strategies.
  2. Storage Backend Configuration

    • Implement support for existing storage backends (Elasticsearch, Cassandra)
    • Include options for deploying these backends as part of the Helm chart or connecting to existing instances.
  3. Security Features

    • Implement TLS support for secure communication between components.
    • Include RBAC resources for secure deployment in Kubernetes clusters.
    • Provide options for setting up authentication and authorization.
  4. Resource Management

    • Implement resource requests and limits for all deployed components.
    • Provide options for fine-tuning resource allocation based on deployment size and requirements.
  5. Configurability and Customization

    • Design an approach that allows users to easily customize their Jaeger v2 deployment.
  6. Documentation and Examples

    • Create comprehensive documentation for the Helm chart, including installation, configuration, and usage guidelines.
    • Develop a set of example values files for common deployment scenarios.

Expected Outcome

By the end of this project, we aim to have a production-ready Helm chart for Jaeger v2 that is:

hellspawn679 commented 1 month ago

would like to work on it

tmjoris commented 1 month ago

I would also like to help out as a prospective LFX mentee!

kairveeehh commented 1 month ago

hii @yurishkuro I am kairvee , and would like to take up this project under LFX fall phase

yurishkuro commented 1 month ago

@kairveeehh please apply through LFX process

kairveeehh commented 1 month ago

@kairveeehh please apply through LFX process

@yurishkuro but that isn't open yet and also I wanted to contribute a bit before ao can you guide me regarding that please

yurishkuro commented 1 month ago

@kairveeehh see https://www.jaegertracing.io/mentorship-for-mentees/#bootcamp

JaredTan95 commented 1 month ago

This chart will also as subchart jaeger-v2 managed in https://github.com/jaegertracing/helm-charts repo?