Installing Jaeger over YDB Backend
Jaeger
Jaeger is able to use the following types of data storage:
- Yandex Managed Service for YDB when installed from Yandex Cloud Marketplace.
- Other data storage systems
when installed via a Helm chart.
Installation using Cloud Marketplace
Getting started
-
Install kubectl
and configure it to work with the created cluster. -
Install the
jq
utility for JSON filtering:sudo apt update && sudo apt install jq
-
To enable pods in the Kubernetes cluster to connect to Managed Service for YDB, configure security groups. Add a rule for incoming traffic:
- Port range:
2135
- Protocol:
TCP
- Source:
Security group
- Security group:
Current
(Self
)
- Port range:
Managed Service for YDB setup
-
Create a database with a suitable configuration, selecting
Dedicated
as your DB type.Warning
A
Dedicated
database is required for Jaeger to work properly. -
Create a directory named
jaeger
.
Creating a service account
To enable Jaeger to communicate with Managed Service for YDB, create a service account and obtain a key for it.
-
Create a service account with a suitable role in the Kubernetes cluster.
-
Create a service account key and save it to your local machine:
yc iam key create \ --service-account-id <service_account_ID> \ --folder-id <folder_ID> \ --cloud-id <cloud_ID> \ --description jaeger-over-ydb \ --format json \ -o key.json
Result:
{ "id": "<service_account_key_ID>", "service_account_id": "<service_account_ID>", "created_at": "2022-01-27T03:29:45.139311367Z", "description": "jaeger-over-ydb", "key_algorithm": "RSA_2048" }
Note
Save the service account and the service account key IDs: you will use them for subsequent installation steps.
-
Save the service account key in Base64 format:
jq -r .private_key key.json > key.pem
Installing Jaeger
-
Go to the folder page and select Managed Service for Kubernetes.
-
Click the cluster name and select the Marketplace
-
Under Applications available for installation, select Jaeger over Managed Service for YDB Backend and click Use.
-
Configure the application:
- Namespace: Select a namespace or create a new one.
- Application name: Enter a name for the application.
- Managed Service for YDB endpoint: Specify a name for the Managed Service for YDB endpoint, e.g.,
lb.etnk1hv0jol3********.ydb.mdb.yandexcloud.net:2135
. - Database: Specify a database name, for example,
/ru-central1/b1gkgm9daf46********/etnk2hv0jol5********
. - Database directory:
jaeger
. - Use metadata to authenticate from inside a VM: Select this option if authentication in the virtual machine is required.
- Service account key ID: Specify the service account key ID.
- Service account key: Specify the service account ID.
- Service account private key: Copy the contents of the
key.pem
file to this field. - Install jaeger-agent: Select this option to install jaeger-agent
.
The endpoint and the DB names were returned when preparing the Managed Service for YDB DB whereas the service account settings were retrieved in the previous subsection.
-
Click Install.
-
Wait for the application to change its status to
Deployed
.
Installation using a Helm chart
-
Install Helm
v3.7.0 or higher. -
Install kubectl
and configure it to work with the created cluster. -
Add the
jaegertracing
repository:helm repo add jaegertracing https://jaegertracing.github.io/helm-charts
-
Install Jaeger:
helm install jaeger jaegertracing/jaeger
-
If required, install the jaeger-operator
Kubernetes operator:helm install jaegertracing/jaeger-operator
For more information about this installation type, see the Jaeger documentation
.