Configuration des traces
Ce guide fournit des instructions sur la manière de configurer Jaeger pour collecter des traces pour Milvus.
Conditions préalables
- Vous avez installé les outils nécessaires, y compris Helm et Kubectl.
- Cert-manager version 1.6.1 ou supérieure doit être installé. Un guide d'installation est disponible ici.
Déployer Jaeger
Jaeger est une plateforme de traçage distribuée, publiée en open source par Uber Technologies.
1. Installation de l'opérateur Jaeger sur Kubernetes
Pour installer l'opérateur, exécutez :
$ kubectl create namespace observability
$ kubectl create -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.62.0/jaeger-operator.yaml -n observability
À ce stade, un déploiement jaeger-operator
devrait être disponible. Vous pouvez l'afficher en exécutant la commande suivante :
$ kubectl get deployment jaeger-operator -n observability
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
jaeger-operator 1 1 1 1 48s
2. Déployer Jaeger
La manière la plus simple de créer une instance de Jaeger est de créer un fichier YAML comme dans l'exemple suivant. Cela installera la stratégie AllInOne par défaut, qui déploie l'image tout-en-un (combinant jaeger-agent, jaeger-collector, jaeger-query, et Jaeger UI) dans un seul pod, en utilisant le stockage en mémoire par défaut.
Si vous souhaitez stocker des traces pendant une longue période, veuillez vous référer à production-strategy.
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: jaeger
Le fichier YAML peut alors être utilisé avec kubectl
:
$ kubectl apply -f simplest.yaml
Dans quelques secondes, une nouvelle instance tout-en-un en mémoire de Jaeger sera disponible, convenant à des démonstrations rapides et à des fins de développement. Pour vérifier les instances qui ont été créées, listez les objets jaeger :
$ kubectl get jaegers
NAME STATUS VERSION STRATEGY STORAGE AGE
jaeger Running 1.62.0 allinone memory 13s
Installer Milvus avec Helm Chart
Vous pouvez installer ou mettre à jour Milvus avec Helm Chart avec les paramètres suivants :
extraConfigFiles:
user.yaml: |+
trace:
exporter: jaeger
sampleFraction: 1
jaeger:
url: "http://jaeger-collector:14268/api/traces"
Pour appliquer les paramètres ci-dessus à un nouveau déploiement de Milvus, vous pouvez exécuter la commande suivante :
$ helm repo add zilliztech https://zilliztech.github.io/milvus-helm
$ helm repo update
$ helm upgrade --install -f values.yaml my-release milvus/milvus
Pour appliquer les paramètres ci-dessus à un déploiement Milvus existant, vous pouvez exécuter la commande suivante :
$ helm upgrade my-release -f values.yaml milvus/milvus
View Traces
Une fois que vous avez déployé Jaeger et Milvus avec Helm Chart, une entrée a été activée par dfault. Vous pouvez visualiser l'entrée en exécutant la commande suivante :
$ kubectl get ingress
NAME CLASS HOSTS ADDRESS PORTS AGE
jaeger-query <none> * 192.168.122.34 80 14m
Une fois l'entrée disponible, vous pouvez accéder à l'interface utilisateur de Jaeger en vous rendant à l'adresse http://${ADDRESS}
. Remplacez ${ADDRESS}
par l'adresse IP réelle de l'entrée.
La capture d'écran suivante montre l'interface utilisateur Jaeger avec les traces de Milvus pendant une opération de recherche et une opération de collecte de charge :
Demande de recherche de traces
Trace de la demande de collecte de charge