Настройка трассировки OpenTelemetry с помощью Istio

Материал из Документация Ключ-АСТРОМ
Версия от 21:36, 21 июля 2025; IKuznetsov (обсуждение | вклад) (Новая страница: «<code>Istio 1.22+</code> {| class="wikitable" |'''Заявление о поддержке''' Эта интеграция основана на открытом...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

Istio 1.22+

Заявление о поддержке

Эта интеграция основана на открытом исходном коде, контролируемом соответствующими сообществами, и не подпадает под действие политики поддержки Ключ-АСТРОМ. Несмотря на наше стремление оказать помощь, о проблемах и предложениях по функциям следует сообщать непосредственно в соответствующий проект. Ключ-АСТРОМ не может гарантировать исправление/внедрение функций в связи с независимостью проектов с открытым исходным кодом.

Всегда используйте самую последнюю версию релиза.

Важная часть трассировки — наличие стабильной единой точки в архитектуре, где гарантирована инициализация трассировки, например, запуск новых или продолжение существующих трассировок с помощью распространения контекста. Поскольку сетевые запросы сначала поступают на границу сети, это идеальное место для этого.

В среде Kubernetes это можно реализовать с помощью Istio и автоматического развертывания HTTP-прокси-сервисов. В следующей конфигурации поставщик расширений Istio OpenTelemetry используется для автоматического развертывания и настройки HTTP-прокси для экспорта трассировок OpenTelemetry в Ключ-АСТРОМ.

Зачем мигрировать?

В Envoy поддержка OpenTracing прекращена, начиная с версии Envoy 1.30 (Istio 1.22). Поскольку кодовый модуль Ключ-АСТРОМ Envoy основан на OpenTracing, он доступен только до версии Envoy 1.29 (Istio 1.21). Начиная с Envoy 1.30 / Istio 1.22, мы рекомендуем следовать этому руководству по настройке и использовать конфигурацию трассировки Istio OpenTelemetry, включая обнаружение и выборку ресурсов Ключ-АСТРОМ.

Влияние лицензирования

Переход с кодового модуля Ключ-АСТРОМ Envoy на новый подход на основе OpenTelemetry может повлиять на потребление лицензий в зависимости от конфигурации выборки и используемого вами подхода к развертыванию Kubernetes:

  • Трассировка Istio OTEL, включающая детектор ресурсов и сэмплер Ключ-АСТРОМ : при выполнении инструкций на этой странице и настройке Istio, включая сэмплер Ключ-АСТРОМ, при использовании классических полностековых или облачных полностековых развертываний потребление лицензий не изменится, поскольку оно покрывается вашими хост-единицами (лицензия Ключ-АСТРОМ Classic) или ГБ-часами памяти хоста (DPS) . Для развертываний, использующих только функцию Observability, новый подход к трассировке Istio подлежит DDU для пользовательских трассировок (лицензия Ключ-АСТРОМ Classic) или пользовательских классических трассировок (DPS) вместо потребления хост-единиц-часов, полученных из модуля кода Envoy.
  • Трассировка Istio OTEL без детектора/сэмплера ресурсов Ключ-АСТРОМ: эта конфигурация всегда приводит к DDU для пользовательских трассировок (лицензия Ключ-АСТРОМ Classic) или потребления Custom Traces Classic (DPS).

1. Получите записи конфигурации

  1. В Ключ-АСТРОМ найдите Istio.
  2. Фильтр по категории Технологии.
  3. Выберите запись Hub Istio Service Mesh.
  4. Выберите Настроить.
  5. Настройте токен API.
  6. Используйте предоставленные и предварительно настроенные фрагменты для развертывания следующих элементов на следующих этапах:
    • конфигурация сетки
    • запись службы
    • API телеметрии

2. Примените конфигурацию Mesh к вашей установке Istio

Сохраните фрагмент конфигурации Mesh, полученный на шаге 1 meshconfig.yaml, и настройте Istio с помощью следующей команды:

istioctl install -f meshconfig.yaml
Существующая конфигурация сетки

Если вы уже используете собственную конфигурацию Mesh, вам необходимо объединить её содержимое с предоставленным фрагментом. В противном случае вы можете использовать фрагмент как есть.

3. Разверните запись службы

Далее необходимо развернуть манифест записи службы Istio, полученный на шаге 1, с помощью kubectl. Сохраните его в service_entry.yaml и выполните следующую команду:

kubectl apply -n istio-system -f service_entry.yaml

4. Включить поставщика отслеживания

На последнем этапе настройки используйте API телеметрии Istio, чтобы включить поставщика трассировки.

Сохраните манифест API телеметрии, полученный на шаге 1 tracing.yaml, и используйте его в kubectl для применения конфигурации к нужному пространству имен.

kubectl apply -n istio-system -f tracing.yaml
Несколько телеметрических ресурсов

Не развертывайте более одного ресурса телеметрии в одном пространстве имен, так как это может привести к конфликтам конфигураций и неполной информации трассировки.

Если вам требуются другие ресурсы телеметрии, разверните их в других пространствах имен или используйте другие селекторы.

Перезапуск Pod

Обязательно перезапустите все соответствующие модули Kubernetes, чтобы изменения в конфигурации сетки вступили в силу.

5. Проверьте настройку

После завершения настройки и получения первых данных вы можете проверить, отображаются ли трассировки в Ключ-АСТРОМ.

1230.png