Настройка трассировки
В этом руководстве приведены инструкции по настройке Jaeger для сбора трасс для Milvus.
Предварительные условия
- Вы установили необходимые инструменты, включая Helm и Kubectl.
- Должен быть установлен Cert-manager версии 1.6.1 или выше. Руководство по установке можно найти здесь.
Деплой Jaeger
Jaeger - это платформа распределенной трассировки, выпущенная с открытым исходным кодом компанией Uber Technologies.
1. Установка оператора Jaeger на Kubernetes
Чтобы установить оператор, выполните команду :
$ kubectl create namespace observability
$ kubectl create -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.62.0/jaeger-operator.yaml -n observability
На этом этапе должно быть доступно развертывание jaeger-operator
. Вы можете просмотреть его, выполнив следующую команду:
$ kubectl get deployment jaeger-operator -n observability
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
jaeger-operator 1 1 1 1 48s
2. Развертывание Jaeger
Самый простой способ создать экземпляр Jaeger - это создать YAML-файл, как показано в следующем примере. Это позволит установить стратегию AllInOne по умолчанию, которая развертывает образ "все в одном" (объединяющий jaeger-agent, jaeger-collector, jaeger-query и Jaeger UI) в одной капсуле, по умолчанию использующей хранилище in-memory.
Если вы хотите хранить трассы в течение длительного времени, обратитесь к production-strategy.
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: jaeger
Затем YAML-файл можно использовать с помощью kubectl
:
$ kubectl apply -f simplest.yaml
Через несколько секунд будет доступен новый in-memory all-in-one экземпляр Jaeger, подходящий для быстрых демонстраций и целей разработки. Чтобы проверить, какие экземпляры были созданы, перечислите объекты jaeger:
$ kubectl get jaegers
NAME STATUS VERSION STRATEGY STORAGE AGE
jaeger Running 1.62.0 allinone memory 13s
Установите Milvus с помощью Helm Chart
Вы можете установить или обновить Milvus с Helm Chart с помощью следующих настроек:
extraConfigFiles:
user.yaml: |+
trace:
exporter: jaeger
sampleFraction: 1
jaeger:
url: "http://jaeger-collector:14268/api/traces"
Чтобы применить вышеуказанные настройки к новому развертыванию Milvus, можно выполнить следующую команду:
$ helm repo add zilliztech https://zilliztech.github.io/milvus-helm
$ helm repo update
$ helm upgrade --install -f values.yaml my-release milvus/milvus
Чтобы применить вышеуказанные настройки к существующему развертыванию Milvus, можно выполнить следующую команду:
$ helm upgrade my-release -f values.yaml milvus/milvus
Просмотр трасс
После развертывания Jaeger и Milvus с помощью Helm Chart вход в систему был включен с помощью dfault. Вы можете просмотреть ингресс, выполнив следующую команду:
$ kubectl get ingress
NAME CLASS HOSTS ADDRESS PORTS AGE
jaeger-query <none> * 192.168.122.34 80 14m
После того как ингресс доступен, вы можете получить доступ к пользовательскому интерфейсу Jaeger, перейдя по адресу http://${ADDRESS}
. Замените ${ADDRESS}
на фактический IP-адрес ингресса.
На следующем снимке экрана показан пользовательский интерфейс Jaeger с трассировками Milvus во время операции поиска и операции сбора нагрузки:
Трассировка запроса на поиск
Трассировка запроса на сбор нагрузки