Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
  • Blog
  • Pricing
  • Documentation
Yandex project
© 2025 Yandex.Cloud LLC
Tutorials
    • All tutorials
    • Setting up a Managed Service for PostgreSQL connection from a container in Serverless Containers
    • Creating a VM from a Container Optimized Image
    • Creating a VM from a Container Optimized Image with an additional volume for a Docker container
    • Creating an instance group from a Container Optimized Image with multiple Docker containers
    • Creating an instance group from a Container Optimized Image
    • Creating a VM from a Container Optimized Image with multiple Docker containers
    • Updating a Container Optimized Image VM
    • Configuring data output from a Docker container to a serial port
      • Creating a new Kubernetes project
      • Creating a Kubernetes cluster with no internet access
      • Running workloads with GPUs
      • Using node groups with GPUs and no pre-installed drivers
      • Setting up Time-Slicing GPUs
      • Migrating resources to a different availability zone
      • Encrypting secrets
        • Integration with Argo CD
        • Integration with Crossplane
        • Syncing Yandex Lockbox and Managed Service for Kubernetes secrets
        • Transferring Managed Service for Kubernetes cluster logs to Cloud Logging
        • Setting up Gateway API
        • Setting up the Application Load Balancer Ingress controller
        • Logging settings for Application Load Balancer Ingress controllers
        • Health checking your applications in a Managed Service for Kubernetes cluster with the Application Load Balancer Ingress controller
        • Using Jaeger to trace requests in Managed Service for YDB
        • Setting up Kyverno & Kyverno Policies
        • Using Metrics Provider to stream metrics
        • Editing website images using Thumbor
        • Using Istio
        • Using HashiCorp Vault to store secrets

In this article:

  • Required paid resources
  • Getting started
  • Install and configure Jaeger
  • Install a test application
  • Test Jaeger
  • Delete the resources you created
  1. Container infrastructure
  2. Managed Service for Kubernetes
  3. Using Cloud Marketplace products
  4. Using Jaeger to trace requests in Managed Service for YDB

Using Jaeger in Yandex Managed Service for Kubernetes to trace requests in Managed Service for YDB

Written by
Yandex Cloud
Updated at May 5, 2025
  • Required paid resources
  • Getting started
  • Install and configure Jaeger
  • Install a test application
  • Test Jaeger
  • Delete the resources you created

The Jaeger distributed tracing platform helps monitor request status in distributed microservice application systems.

In this article, you will learn how to install the Jaeger platform in a Managed Service for Kubernetes cluster and configure it to work with Yandex Managed Service for YDB:

  1. Install and configure Jaeger.
  2. Install a test application to create load on a Kubernetes cluster.
  3. Test Jaeger by making several test requests.

Required paid resourcesRequired paid resources

The support cost includes:

  • Fee for the Managed Service for Kubernetes cluster: using the master and outgoing traffic (see Managed Service for Kubernetes pricing).
  • Cluster nodes (VM) fee: using computing resources, operating system, and storage (see Compute Cloud pricing).
  • Fee for a public IP address assigned to cluster nodes (see Virtual Private Cloud pricing).
  • Fee for a Managed Service for YDB database in Dedicated mode: using computing resources allocated to the database and disk space (see Managed Service for YDB pricing).

Getting startedGetting started

  1. If you do not have the Yandex Cloud CLI yet, install and initialize it.

    The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID> command. You can specify a different folder using the --folder-name or --folder-id parameter.

  2. Create security groups for the Managed Service for Kubernetes cluster and its node groups.

    Warning

    The configuration of security groups determines the performance and availability of the cluster and the services and applications running in it.

  3. Create a Managed Service for Kubernetes cluster and a node group in any suitable configuration. When creating them, specify the security groups prepared earlier.

  4. Install kubect and configure it to work with the new cluster.

Install and configure JaegerInstall and configure Jaeger

  1. Install Jaeger over YDB from the Yandex Cloud Marketplace application catalog. When installing the application, select the default namespace (default).

  2. Make sure that all the Jaeger pods have entered the Running state:

    kubectl get pods | grep jaeger
    
  3. Find out the name of the jaeger-ydb-store-agent service:

    kubectl get svc | grep ydb-store-agent
    

    Result:

    <jaeger-ydb-store-agent_application_name> ClusterIP 10.2.238.190 ...
    

Install a test applicationInstall a test application

To test Jaeger, use the HotROD application that simulates Kubernetes cluster load with several microservices.

  1. Create a manifest named hotrod.yaml containing a description of the application:

    ---
    apiVersion: v1
    kind: Pod
    metadata:
      name: hotrod
    spec:
      containers:
      - name: hotrod
        image: jaegertracing/example-hotrod:latest
        env:
        - name: JAEGER_AGENT_HOST
          value: "<jaeger-ydb-store-agent_application_name>.default.svc.cluster.local"
        - name: JAEGER_AGENT_PORT
          value: "6831"
        ports:
        - containerPort: 8080
        - containerPort: 8081
        - containerPort: 8082
        - containerPort: 8083
    
  2. Create a pod with the hotrod application:

    kubectl apply -f hotrod.yaml
    
  3. Make sure the hotrod pods have entered the Running state:

    kubectl get pods | grep hotrod
    

Test JaegerTest Jaeger

  1. Find out the name of the jaeger-ydb-store-query service:

    kubectl get svc | grep jaeger-ydb-store-query
    

    Result:

    <name_of_jaeger-ydb-store-query_application>  LoadBalancer  10.2.222.155  130.133.51.247  16686:31189/TCP ...
    
  2. Configure jaeger-ydb-store-query port forwarding to the local computer:

    kubectl port-forward service/<name_of_jaeger-ydb-store-query_application> 16686:16686
    
  3. In a different console window, configure port forwarding for the hotrod application to the local computer:

    kubectl port-forward hotrod 8080:8080
    
  4. Open the URI of the hotrod application in your browser and make several test requests to Jaeger.

    Note

    If the resource is unavailable at the specified URL, make sure that the security groups for the Managed Service for Kubernetes cluster and its node groups are configured correctly. If any rule is missing, add it.

  5. Open Jaeger's URI in your browser.

    Make sure that the test requests have been transmitted successfully and have been included in the trace.

Delete the resources you createdDelete the resources you created

Delete the resources you no longer need to avoid paying for them:

  1. Delete the Managed Service for YDB database.
  2. Delete the Managed Service for Kubernetes cluster.
  3. Delete the cluster public static IP address if you reserved one.

Was the article helpful?

Previous
Health checking your applications in a Managed Service for Kubernetes cluster with the Application Load Balancer Ingress controller
Next
Setting up Kyverno &amp; Kyverno Policies
Yandex project
© 2025 Yandex.Cloud LLC