Trace konfigurieren
Dieser Leitfaden enthält Anweisungen zur Konfiguration von Jaeger für die Erfassung von Traces für Milvus.
Voraussetzungen
- Sie haben die erforderlichen Tools, einschließlich Helm und Kubectl, installiert.
- Cert-manager Version 1.6.1 oder höher muss installiert sein. Eine Installationsanleitung finden Sie hier.
Jaeger einrichten
Jaeger ist eine verteilte Tracing-Plattform, die von Uber Technologies als Open Source veröffentlicht wurde.
1. Installieren des Jaeger-Operators auf Kubernetes
Um den Operator zu installieren, führen Sie aus:
$ kubectl create namespace observability
$ kubectl create -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.62.0/jaeger-operator.yaml -n observability
Zu diesem Zeitpunkt sollte eine jaeger-operator
Bereitstellung verfügbar sein. Sie können es mit folgendem Befehl anzeigen:
$ kubectl get deployment jaeger-operator -n observability
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
jaeger-operator 1 1 1 1 48s
2. Jager bereitstellen
Der einfachste Weg, eine Jaeger-Instanz zu erstellen, ist die Erstellung einer YAML-Datei wie im folgenden Beispiel. Dadurch wird die standardmäßige AllInOne-Strategie installiert, die das All-In-One-Image (eine Kombination aus Jaeger-Agent, Jaeger-Collector, Jaeger-Query und Jaeger-UI) in einem einzigen Pod bereitstellt und standardmäßig In-Memory-Speicher verwendet.
Wenn Sie Traces über einen längeren Zeitraum speichern möchten, lesen Sie bitte production-strategy.
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: jaeger
Die YAML-Datei kann dann mit kubectl
verwendet werden:
$ kubectl apply -f simplest.yaml
In wenigen Sekunden steht eine neue In-Memory-All-in-One-Instanz von Jaeger zur Verfügung, die sich für schnelle Demos und Entwicklungszwecke eignet. Um zu überprüfen, welche Instanzen erstellt wurden, listen Sie die Jaeger-Objekte auf:
$ kubectl get jaegers
NAME STATUS VERSION STRATEGY STORAGE AGE
jaeger Running 1.62.0 allinone memory 13s
Milvus mit Helm Chart installieren
Sie können Milvus mit Helm Chart mit den folgenden Einstellungen installieren oder aktualisieren:
extraConfigFiles:
user.yaml: |+
trace:
exporter: jaeger
sampleFraction: 1
jaeger:
url: "http://jaeger-collector:14268/api/traces"
Um die oben genannten Einstellungen auf einen neuen Milvus-Einsatz anzuwenden, können Sie den folgenden Befehl ausführen:
$ helm repo add zilliztech https://zilliztech.github.io/milvus-helm
$ helm repo update
$ helm upgrade --install -f values.yaml my-release milvus/milvus
Um die oben genannten Einstellungen auf einen bestehenden Milvus-Einsatz anzuwenden, können Sie den folgenden Befehl ausführen:
$ helm upgrade my-release -f values.yaml milvus/milvus
Traces anzeigen
Sobald Sie Jaeger und Milvus mit Helm Chart eingesetzt haben, wurde ein Ingress von dfault aktiviert. Sie können den Ingress anzeigen, indem Sie den folgenden Befehl ausführen:
$ kubectl get ingress
NAME CLASS HOSTS ADDRESS PORTS AGE
jaeger-query <none> * 192.168.122.34 80 14m
Sobald der Ingress verfügbar ist, können Sie auf die Jaeger-Benutzeroberfläche zugreifen, indem Sie zu http://${ADDRESS}
navigieren. Ersetzen Sie ${ADDRESS}
durch die tatsächliche IP-Adresse des Ingress.
Der folgende Screenshot zeigt die Jaeger-Benutzeroberfläche mit den Traces von Milvus während eines Suchvorgangs und eines Lastsammelvorgangs:
Trace Suchanfrage
Trace Lastsammlungsanforderung