# Lab 0x: Tracing ## Inhaltsverzeichnis - [Lab 0x: Tracing](#lab-0x-tracing) - [Inhaltsverzeichnis](#inhaltsverzeichnis) - [Vorbereitung](#vorbereitung) - [Übung 01: Instrumentieren von Microservices zum Zwecke des Tracings](#übung-01-instrumentieren-von-microservices-zum-zwecke-des-tracings) - [Übung 02: Propagieren von Traces zwischen Microservices](#übung-02-propagieren-von-traces-zwischen-microservices) ## Vorbereitung 1. [Forken](https://git.mylab.th-luebeck.de/cloud-native/lab-tracing/-/forks/new) Sie sich bitte dieses [Repository](https://git.mylab.th-luebeck.de/cloud-native/lab-tracing). 2. Erstellen Sie anschließend in Gitlab unter `Einstellungen -> Repository -> Bereitstellungstoken` für das in Schritt 1 geforkte Repository einen **Bereitstellungstoken**, um selbstgebaute Container Images deployen zu können. - **Name:** `Registry read access (deployment)` - **Username:** `image-registry` (bitte exakt so!) - **Scope:** `read-registry` (nicht mit *read repository* verwechseln!) - Klicken Sie anschließend auf `Bereitstellungstoken erstellen` und kopieren Sie sich dieses geheime Token in die Zwischenablage! 3. Hinterlegen Sie nun für Gitlab Build-Pipelines dieses geheime Token unter `Einstellungen -> CI/CD -> Variables` als CI/CD-Variable. - Klicken Sie auf `ADD Variable` - **Key:** `REGISTRY_READ_TOKEN` (exakt so) - **Value:** Fügen Sie hier das geheime Token (Schritt 2) aus der Zwischenablage ein. - **Type:** `Variable` (nichts anderes) - **Flags:** Selektieren Sie `Mask Variable` damit das geheime Token in Log-Dateien maskiert wird. 4. Setzen Sie bitte analog zu Schritt 3 die `KUBECONFIG` Variable in `Einstellungen -> CI/CD -> Variables` auf den Inhalt der Kubeconfig-Datei, die Sie für dieses Modul als Access Credential für den bereitgestellten Kubernetes Cluster erhalten haben (Type: `File`). Hierdurch erhält die Build Pipeline für das Deployment Zugriff auf den Cluster. 5. Installieren Sie **[Python 3](https://www.python.org/downloads)** (falls noch nicht geschehen). 6. Installieren Sie einen HTTP Load Generator wie bspw. **[salvo](https://github.com/tarekziade/salvo)** mittels `pip install salvo` oder `python3 -m install salvo` (je nachdem wie Ihre Python-Umgebung aufgesetzt ist). *Sie können mit anderen HTTP Load Generatoren arbeiten. Diese Anleitung basiert jedoch auf `salvo`.* ## Übung 01: Instrumentieren von Microservices zum Zwecke des Tracings to be done ## Übung 02: Propagieren von Traces zwischen Microservices to be done