Установка Jaeger over YDB Backend
Jaeger
В качестве хранилища данных Jaeger может использовать:
- Yandex Managed Service for YDB при установке через Yandex Cloud Marketplace.
- Другие системы хранения данных
при установке через Helm-чарт.
Установка с помощью Cloud Marketplace
Перед началом работы
-
Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.
Важно
От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.
-
Установите kubectl
и настройте его на работу с созданным кластером. -
Для потоковой обработки JSON-файлов установите утилиту
jq
:sudo apt update && sudo apt install jq
-
Чтобы разрешить подам кластера Kubernetes подключаться к Managed Service for YDB, настройте группы безопасности. Добавьте правило для входящего трафика:
- Диапазон портов —
2135
. - Протокол —
TCP
. - Источник —
Группа безопасности
. - Группа безопасности —
Текущая
(Self
).
- Диапазон портов —
Подготовка Managed Service for YDB
-
Создайте базу данных подходящей вам конфигурации с типом БД
Dedicated
.Важно
БД в режиме
Dedicated
— обязательное условие корректной работы сервиса Jaeger. -
Создайте директорию с именем
jaeger
.
Создание сервисного аккаунта
Чтобы Jaeger мог взаимодействовать с Managed Service for YDB, создайте сервисный аккаунт и получите для него ключ.
-
Создайте сервисный аккаунт с подходящей вам ролью в кластере Kubernetes.
-
Создайте ключ для сервисного аккаунта и сохраните его на локальный компьютер:
yc iam key create \ --service-account-id <идентификатор_сервисного_аккаунта> \ --folder-id <идентификатор_каталога> \ --cloud-id <идентификатор_облака> \ --description jaeger-over-ydb \ --format json \ -o key.json
Результат:
{ "id": "<идентификатор_ключа_сервисного_аккаунта>", "service_account_id": "<идентификатор_сервисного_аккаунта>", "created_at": "2022-01-27T03:29:45.139311367Z", "description": "jaeger-over-ydb", "key_algorithm": "RSA_2048" }
Примечание
Сохраните идентификаторы сервисного аккаунта и его ключа — они понадобятся при дальнейшей установке.
-
Сохраните ключ сервисного аккаунта в формате Base64:
jq -r .private_key key.json > key.pem
Установка Jaeger
-
Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
-
Нажмите на имя нужного кластера и выберите вкладку
Marketplace. -
В разделе Доступные для установки приложения выберите Jaeger over Managed Service for YDB Backend и нажмите кнопку Перейти к установке.
-
Задайте настройки приложения:
- Пространство имен — выберите пространство имен или создайте новое.
- Название приложения — укажите название приложения.
- Managed Service for YDB эндпоинт — укажите имя эндпоинта Managed Service for YDB, например
lb.etnk1hv0jol3********.ydb.mdb.yandexcloud.net:2135
. - База данных — укажите имя БД, например
/ru-central1/b1gkgm9daf46********/etnk2hv0jol5********
. - Директория в базе данных —
jaeger
. - Использовать сервис метаданных для аутентификации изнутри ВМ — выберите эту опцию, если требуется аутентификация внутри виртуальной машины.
- ID ключа сервисного аккаунта — укажите идентификатор ключа сервисного аккаунта.
- Ключ сервисного аккаунта — укажите идентификатор сервисного аккаунта.
- Приватный ключ сервисного аккаунта — скопируйте в это поле содержимое файла
key.pem
. - Установить jaeger-agent — выберите эту опцию, чтобы установить jaeger-agent
.
Имя эндпоинта и БД были получены при подготовке БД Managed Service for YDB, настройки для сервисного аккаунта — в предыдущем подразделе.
-
Нажмите кнопку Установить.
-
Дождитесь перехода приложения в статус
Deployed
.
Установка с помощью Helm-чарта
-
Установите менеджер пакетов Helm
версии не ниже 3.8.0. -
Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.
Важно
От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.
-
Установите kubectl
и настройте его на работу с созданным кластером. -
Добавьте репозиторий
jaegertracing
:helm repo add jaegertracing https://jaegertracing.github.io/helm-charts
-
Установите Jaeger:
helm install jaeger jaegertracing/jaeger
-
При необходимости установите Kubernetes-оператор jaeger-operator
:helm install jaegertracing/jaeger-operator
Подробнее о таком типе установки см. в документации платформы Jaeger
.