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
-
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.
Warning
The configuration of security groups determines the performance and availability of the cluster and the services and applications running in it.
-
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
tab. -
Under Application available for installation, select Jaeger over Managed Service for YDB Backend and click Go to install.
-
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.8.0 or higher. -
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.
Warning
The configuration of security groups determines the performance and availability of the cluster and the services and applications running in it.
-
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
.