Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Подключение к узлу по SSH
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Подключение к кластеру
      • Обзор способов подключения
      • Настройка групп безопасности
      • Создание статического файла конфигурации
    • Установка приложений из Cloud Marketplace
      • Основы работы с Cloud Marketplace
      • Установка Argo CD
      • Установка Container Storage Interface для S3
      • Установка Crossplane
      • Установка External Secrets Operator
      • Установка Falco
      • Установка Filebeat
      • Установка Fluent Bit
      • Установка Gateway API
      • Установка GitLab Agent
      • Установка GitLab Runner
      • Установка HashiCorp Vault
      • Установка Ingress-контроллера Application Load Balancer
      • Установка Jaeger
      • Установка Kyverno & Kyverno Policies
      • Установка Loki
      • Установка Metrics Provider
      • Установка NodeLocal DNS
      • Установка Policy Reporter
      • Установка Thumbor
    • Сетевые сценарии
      • Обеспечение доступа к приложению, запущенному в кластере Kubernetes
      • Настройка контроллера сетевых политик Calico
      • Настройка контроллера сетевых политик Cilium
      • Настройка NodeLocal DNS для контроллера сетевых политик Cilium
    • Работа с постоянными томами
      • Динамическая подготовка тома
      • Статическая подготовка тома
      • Управление классами хранилищ
      • Увеличение размера тома для подов
      • Увеличение размера тома для контроллера StatefulSet
      • Подключение тома в блочном режиме
      • Интеграция с Object Storage
    • Управление кластером Kubernetes
      • Получение информации о кластере Kubernetes
      • Создание кластера Kubernetes
      • Изменение кластера Kubernetes
      • Создание пространства имен в кластере Kubernetes
      • Удаление кластера Kubernetes
    • Управление группой узлов
      • Информация об имеющихся группах узлов
      • Создание группы узлов
      • Подключение к узлу по SSH
      • Настройка автомасштабирования
      • Изменение группы узлов
      • Управление метками узлов кластера Kubernetes
      • Удаление группы узлов
    • Подключение внешних узлов к кластеру
  • Практические руководства
    • Все руководства
    • Создание нового Kubernetes-проекта в Yandex Cloud
    • Интеграция с Container Registry
    • Подпись и проверка Docker-образов Container Registry
    • Сканирование уязвимостей Container Registry при непрерывном развертывании приложений с помощью GitLab
    • Запуск рабочих нагрузок с GPU
    • Установка Ingress-контроллера NGINX с Let's Encrypt®
    • Установка Ingress-контроллера NGINX с сертификатом из Certificate Manager
    • Резервное копирование в Object Storage
    • Горизонтальное масштабирование приложения в кластере
    • Вертикальное масштабирование приложения в кластере
    • Развертывание и нагрузочное тестирование gRPC-сервиса с масштабированием
    • Работа со снапшотами
    • Интеграция с корпоративной зоной DNS
    • Автоматическое масштабирование DNS по размеру кластера
    • Настройка локального кеширования DNS
    • Проверка DNS Challenge для сертификатов Let's Encrypt®
    • Мониторинг кластера с помощью Prometheus и Grafana
    • Непрерывное развертывание контейнеризованных приложений с помощью GitLab
    • Изменение параметров сервера метрик (Metrics Server)
    • Использование продуктов Cloud Marketplace
      • Интеграция с Argo CD
      • Интеграция с Crossplane
      • Синхронизация с секретами Yandex Lockbox
      • Настройка Fluent Bit для работы с Cloud Logging
      • Настройка Gateway API
      • Настройка Application Load Balancer Ingress-контроллера
      • Использование Jaeger для трассировки запросов в Managed Service for YDB
      • Настройка Kyverno & Kyverno Policies
      • Использование Metrics Provider для трансляции метрик
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Релизные каналы и обновления
    • Шифрование секретов
    • Использование объектов API Kubernetes
      • Том
      • Сервис
    • Группа узлов
      • Автоматическое масштабирование группы узлов
      • Расселение подов с узла
      • Динамическое резервирование ресурсов для узла
      • Группы узлов с GPU
    • Сеть в Managed Service for Kubernetes
    • Внешние узлы кластера
    • Сетевые настройки и политики кластера
    • Автоматическое масштабирование
    • Квоты и лимиты
    • Рекомендации по использованию Managed Service for Kubernetes
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • ClusterService
      • NodeGroupService
      • VersionService
      • OperationService
    • REST (англ.)
      • Overview
      • Cluster
        • Overview
        • create
        • delete
        • get
        • list
        • listNodeGroups
        • listNodes
        • listOperations
        • start
        • stop
        • update
      • NodeGroup
        • Overview
        • create
        • delete
        • get
        • list
        • listNodes
        • listOperations
        • update
      • Version
        • Overview
        • list
  • Вопросы и ответы
    • Общие вопросы
    • Хранилище данных
    • Настройка и обновление
    • Автоматическое масштабирование
    • Ресурсы
    • Логи
    • Все вопросы на одной странице
  1. Практические руководства
  2. Использование продуктов Cloud Marketplace
  3. Использование Jaeger для трассировки запросов в Managed Service for YDB

Использование Jaeger для трассировки запросов в Managed Service for YDB

Статья создана
Yandex Cloud
  • Перед началом работы
  • Установите и настройте Jaeger
  • Установите тестовое приложение
  • Проверьте работу Jaeger
  • Удалите созданные ресурсы

Платформа для распределенной трассировки Jaeger позволяет выполнять мониторинг состояния запросов в распределенных системах микросервисных приложений.

В этой статье вы узнаете, как установить платформу Jaeger в кластер Managed Service for Kubernetes и настроить ее для работы с Yandex Managed Service for YDB:

  1. Установите и настройте Jaeger.
  2. Установите тестовое приложение, которое создаст нагрузку на кластер Kubernetes.
  3. Проверьте работу Jaeger, выполнив несколько тестовых запросов.

Перед началом работы

  1. Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

    По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

  2. Создайте кластер Managed Service for Kubernetes и группу узлов любой подходящей конфигурации с версией Kubernetes не ниже 1.21.

  3. Установите kubectl и настройте его на работу с созданным кластером.

Установите и настройте Jaeger

  1. Установите продукт Jaeger over YDB из каталога приложений Yandex Cloud Marketplace. При установке приложения выберите пространство имен по умолчанию (default).

  2. Убедитесь, что все поды Jaeger перешли в состояние Running:

    kubectl get pods | grep jaeger
    
  3. Узнайте имя сервиса jaeger-ydb-store-agent:

    kubectl get svc | grep ydb-store-agent
    

    Результат:

    <имя приложения jaeger-ydb-store-agent> ClusterIP 10.2.238.190 ...
    

Установите тестовое приложение

Для проверки работы Jaeger используется приложение HotROD, которое имитирует нагрузку на кластер Kubernetes с помощью нескольких микросервисов.

  1. Создайте манифест hotrod.yaml, содержащий описание приложения:

    ---
    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>.default.svc.cluster.local"
        - name: JAEGER_AGENT_PORT
          value: "6831"
        ports:
        - containerPort: 8080
        - containerPort: 8081
        - containerPort: 8082
        - containerPort: 8083
    
  2. Создайте под с приложением hotrod:

    kubectl apply -f hotrod.yaml
    
  3. Убедитесь, что поды hotrod перешел в состояние Running:

    kubectl get pods | grep hotrod
    

Проверьте работу Jaeger

  1. Узнайте имя сервиса jaeger-ydb-store-query:

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

    Результат:

    <имя приложения jaeger-ydb-store-query>  LoadBalancer  10.2.222.155  130.133.51.247  16686:31189/TCP ...
    
  2. Настройте переадресацию порта сервиса jaeger-ydb-store-query на локальный компьютер:

    kubectl port-forward service/<имя приложения jaeger-ydb-store-query> 16686:16686
    
  3. В другом окне консоли настройте переадресацию порта приложения hotrod на локальный компьютер:

    kubectl port-forward hotrod 8080:8080
    
  4. Откройте в браузере URI приложения hotrod:

    Выполните несколько тестовых запросов к сервису Jaeger.

  5. Откройте в браузере URI Jaeger:

    Убедитесь, что тестовые запросы успешно переданы и попали в трассировку.

Удалите созданные ресурсы

Если созданные ресурсы вам больше не нужны, удалите их:

  1. Удалите базу данных Managed Service for YDB.
  2. Удалите кластер Managed Service for Kubernetes.
  3. Если вы зарезервировали для кластера публичный статический IP-адрес, удалите его.

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Перед началом работы
  • Установите и настройте Jaeger
  • Установите тестовое приложение
  • Проверьте работу Jaeger
  • Удалите созданные ресурсы