Installing Jaeger over YDB Backend
Jaeger
Jaeger uses 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 from Cloud Marketplace
Getting started
-
Make sure the security groups for the Managed Service for Kubernetes cluster and its node groups are configured correctly. If a rule is missing, add it.
Warning
The configuration of security groups determines performance and availability of the cluster and the services and applications running in it.
-
Install kubect
and configure it to work with the new cluster. -
Install the
jq JSON stream processor.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:
Preparing Managed Service for YDB
-
Create a database of the
Dedicatedtype with a suitable configuration.Warning
Jaeger requires a
Dedicateddatabase 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 get 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.jsonResult:
{ "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 IDs of your service account and service account key: you will use them in subsequent installation steps.
-
Save the service account key in Base64 format:
jq -r .private_key key.json > key.pem
Installing Jaeger
-
Navigate to the folder dashboard 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: Create a new namespace, e.g.,
jaeger-space. If you leave the default namespace, Jaeger may work incorrectly. - Application name: Specify the application name.
- 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, e.g.,
/ru-central1/b1gkgm9daf46********/etnk2hv0jol5********. - Database directory:
jaeger. - Use metadata to authenticate from inside a VM: Select this option if authentication inside 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: Paste the contents of the
key.pemfile to this field. - Install jaeger-agent: Select this option to install jaeger-agent
.
You got the endpoint and database names when preparing the Managed Service for YDB database and the service account settings, in the previous subsection.
- Namespace: Create a new namespace, e.g.,
-
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 the security groups for the Managed Service for Kubernetes cluster and its node groups are configured correctly. If a rule is missing, add it.
Warning
The configuration of security groups determines performance and availability of the cluster and the services and applications running in it.
-
Install kubect
and configure it to work with the new cluster. -
Add a repository named
jaegertracing:helm repo add jaegertracing https://jaegertracing.github.io/helm-charts -
Install Jaeger:
helm install jaeger jaegertracing/jaeger -
If required, install the Kubernetes jaeger-operator
:helm install jaegertracing/jaeger-operatorFor more information about this installation type, see this Jaeger guide
.